DHCP服务器能为大量客户端自动分配地址,并可以对IP地址进行集中管理,可以减轻对网络地址的管理和维护成本,提高网络配置的效率,它可以为客户端提供IP地址,子网掩码以及她们所对应的网络地址和广播地址还可以提供缺省的网关地址和DNS服务器地址等信息
用户获得IP地址的过程可以分为四个阶段,分别是
DHCPDISCOVERY  
DHCPOFFER 
DHCPREQUEST 
DHCPACK
他的主配置文件是/etc/dhcpd.cof 安装过dhcp包后这个文件会自动生成,但里面的内容需要自己创建,他的执行程序是/usr/sbin/dhcpd 服务脚本是/etc/init.d/dhcpd,如果一台主机上有多个端口,可以在/etc/sysconfig/dhcpd中分别定义是否监听某个端口。
DHCP服务器只能给同一网段内的主机提供地址,而要想实现为不同网段内的主机提供地址,则要用到中继代理。中继代理就是代替DHCP服务器为不和DHCP服务器在同一网段内的主机提供地址。
实验环境:这里有3台主机A B C 主机A是DHCP服务器,主机B充当中继代理的角色,主机C是一个客户机。其中主机A的IP地址为10.0.2.2 网关为10.0.2.1。主机B有两块网卡IP地址分别为10.0.2.1和10.0.3.1主机C设置为自动获取IP地址
实验过程;
1,在主机A上安装dhcp包,编辑主配置文件/etc/dhcpd.conf
大致格式如下,当然你也可以加上其它的选项
subnet 10.0.2.0 netmask 255.255.255.0 {
              option routers 10.0.2.1;
              option subnet-mask 255.255.255.0;
              range 10.0.2.5 10.0.2.13;
}
subnet 10.0.3.0 netmask 255.255.255.0 {
              option routers 10.0.3.1;
              option subnet-mask 255.255.255.0;
              range 10.0.3.5 10.0.3.13;
}
然后重启服务service network restart 
使用netstat -ntlp确保67端口已经处于监听状态
下面对中继器即主机B进行设置
首先确保主机B的路由功能已经打开,在前面的日志里已经说过这里就不再说了,安装dhcp包,然后编辑/etc/sysconfig/dhcrelay
设置主机B要监听的网卡,以及指向的DHCP服务器,本次试验设置如下
启动中继代理service dhcrelay start 然后查看67号端口是否处于监听状态
在客户端执行 dhclient -d eth0来获取IP地址,-d是一个可选参数,用来显示主机获得IP的详细过程,如下图
从上图可以看出Linux中动态获取IP地址时是从大到小一次获得的,这与windows上的正好相反。
 
 
dhcp服务器配置注意点:
1,在配置好以后可以使用service dhcpd configtest检查一下是否有语法错误,如果有语法错误他会给你详细的记录
2,如果要给一个window系统分配一个固定的IP需要将mac地址的格式改一下
例如00-0C-29-D9-B9-80在服务器中应改为00:0C:29:D9:B9:80即
 hardware ethernet 00:0C:29:D9:B9:80; 
                fixed-address 192.168.0.129;