DHCP简介:

DHCP动态主机配置协议,在一个小型局域网里可以通过手工指定ip地址的方式,但如有大量的主机,如果还是手工指定,那是一个很大的工作量,而且也容易出错,这时,就可以通过配置一台DHCP服务器来解决,为每台主机分配一个ip地址。DHCP作用域是指DHCP服务器可分配给DHCP客户端的 IP地址范围,一个DHCP服务器至少要一个作用域,如有多个作用域,作用域之间的IP地址不能重叠。

DHCP三种工作模式 :

1.Manual Allocation

网络管理员为某些少数特定的Host绑定固定IP地址,且地址不会过期,其特点:地址利用率低,管理员的工作量大

2.Automatic Allocation

自动分配,其情形是:一旦 DHCP 客户端第一次成功的从 DHCP 服务器端租用到 IP 地址之后,就永远使用这个地址。其特点:地址利用率较低,

3.Dynamic Allocation

动态分配,当 DHCP 第一次从 DHCP 服务器端租用到 IP 地址之后,并非永久的使用该地址,只要租约到期,客户端就得释放(release)这个 IP 地址,以给其它工作站使用。当然,客户端可以比其它主机更优先的更新(renew)租约,或是租用其它的 IP 地址。其特点:地址分配较灵活,地址利用率高

注:考虑实际需要,第一种和第三种结合可谓是最好的地址管理方式。

DHCP的工作原理:

DHCP工作过程分为四个步骤:

第一步(DHCPDISCOVER):客户端发送广播查找可以给自己提供IP地址的DHCP服务器,

第二步(DHCPOFFER):DHCP服务器发送广播提供一个可用的IP地址,并在地址池中将该地址打上标记,以防再次分配。

第三步(DHCPREQUEST):客户端收到广播后再次发送一个广播请求该地址,如果有多台DHCP响应,则第一个收到的优先。

第四步(DHCPACK):DHCP服务器收到广播后再发送一个广播,确认该地址分配给这台主机使用,并在地址池中将该地址打上标记,以防再次分配。

DHCP配置:

实验环境:RHEL Server 5.8

案例一(单个作用域):

该案例拓扑图(因均在vnet1下,并不过路由,故如下图):

Linux下配置DHCP服务器

 1.安装dhcp,由上一篇已经正确对yum服务器进行了正确的配置所以,直接用yum源来安装即可,终端执行yum install dhcp

如下图即正确安装


Linux下配置DHCP服务器


2.编辑配置文件/etc/dhcpd.conf初始状态下,其为空,可用vim打开后,在末行模式下输入"r /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample"

如下图:


Linux下配置DHCP服务器


详细配置信息如下:

ddns-update-style interim;    //配置DHCP和DNS为互动更新模式,

ignore client-updates;             //忽略客户端的更新。

subnet 192.168.142.0 netmask 255.255.255.0 {   //定义作用域

    option routers           192.168.142.20;    //默认路由

    option subnet-mask       255.255.255.0;    //子网掩码

    option nis-domain         "liuyuan.org";      //NIS域名

    option domain-name         "liuyuan.org";      //DNS域名

    option domain-name-servers   192.168.142.20;  //DNS服务器地址

    option time-offset             -18000;

  # Eastern Standard Time    //为客户端设置与格林威治的时间偏移

  #下面两项因本实验没用,所以注释掉了

  # option ntp-servers        //网络时间服务器地址

 # option netbios-name-servers //指定WINS服务器地址

  range dynamic-bootp 192.168.142.20192.168.142.254;         

 //动态分配的地址范围

      default-lease-time 21600;       //默认租约时间

      max-lease-time 43200;           //最大租约时间

      host windosxp{                       //指定特定主机

              hardwareethernet 00:0C:29:FD:44:C8; //硬件地址

             fixed-address 192.168.142.200;      //IP地址

        }

}

如下图:


Linux下配置DHCP服务器


3.启动dhcp服务并设置开机启动,/etc/init.d/dhcpd restart;chkconfig dhcpd on


Linux下配置DHCP服务器


4.测试验证(以windows):如下图:


Linux下配置DHCP服务器


5.如果我们这台主机想每次均获得192.168.142.200,应该怎么办呢?其实也容易,用dhcp的地址绑定这个问题这很容易解决了,

由上图可知,这台测试主机的ip为192.168.142.254,我们可以通过查看/var/lib/dhcpd/dhcpd.lease文件来获得其MAC地址,打开/var/lib/dhcp/dhpcd.lease文件如下图(局部图):


Linux下配置DHCP服务器


6.然后根据这个MAC进行绑定修改配置文件如下图:


Linux下配置DHCP服务器


7.重启dhcp服务,进行测试,如下图,正确获得了192.168.142.200,测试成功,


Linux下配置DHCP服务器