DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
DHCP协议采用客户端/服务器模型,主机地址的动态分配任务由网络主机驱动。当DHCP服务器接收到来自网络主机申请地址的信息时,才会向网络主机发送相关的地址配置等信息,以实现网络主机地址信息的动态配置。DHCP具有以下功能:
1. 保证任何IP地址在同一时刻只能由一台DHCP客户机所使用。
2. DHCP应当可以给用户分配永久固定的IP地址。
3. DHCP应当可以同用其他方法获得IP地址的主机共存(如手工配置IP地址的主机)。
DHCP有三种机制分配IP地址:
1) 自动分配方式(Automatic Allocation),DHCP服务器为主机指定一个永久性的IP地址,一旦DHCP客户端第一次成功从DHCP服务器端租用到IP地址后,就可以永久性的使用该地址。
2) 动态分配方式(Dynamic Allocation),DHCP服务器给主机指定一个具有时间限制的IP地址,时间到期或主机明确表示放弃该地址时,该地址可以被其他主机使用。
3) 手工分配方式(Manual Allocation),客户端的IP地址是由网络管理员指定的,DHCP服务器只是将指定的IP地址告诉客户端主机。
三种地址分配方式中,只有动态分配可以重复使用客户端不再需要的地址。
DHCP服务器的搭建
1.通过yum服务器安装dhcp服务器
yum -y install dhcp //自动应答yes安装dhcp
2.DHCP主要配置文件是/etc/dhcp/dhcp.conf,默认情况下该文件不存在,需要用户生成,安装完dhcp服务器后自动生成,配置方法如下,一般通过查找系统模版文件修改完成,命令为:#find / -name dhcpd.*
或者拷贝dhcp配置文件模版来配置。
1 cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf //拷贝dhcp模版文件来配置 2 3 cp: 是否覆盖“/etc/dhcp/dhcpd.conf”? //提示是否覆盖原配置文件,输入Y即可。
3.DHCP配置文件的编辑
1 ddns-update-style interim; //定义所支持的DNS动态更新类型(none|interim|ad-hoc),可忽略不配置 2 subnet 192.168.1.0 netmask 255.255.255.0 3 { 4 range 192.168.1.100 192.168.1.200; //指定可分配的IP地址池 5 default-lease-time 20000; //默认IP地址租期 6 max-lease-time 43200; //最大租期 7 option routers 192.168.1.254; //指定网关IP 8 option domain-name-servers 192.168.1.1; //指定DNS服务器IP 9 option domain-name "rhce.com"; //指定分配的网络域名,把域名设置为rhce.com 10 next-server 192.168.1.1; //TFTP服务器地址 11 filename "pxelinux.0"; //TFTP文件名 12 13 host richard 14 { //绑定主机名为richard 15 hardware ethernet 05:03:26:41:29:30 //客户机网卡mac地址 16 fixed-address 192.168.1.100; //对以上mac地址绑定IP地址 17 } 18 }
4.启动及关闭DHCP服务器
1).设定系统重启后自动启动DHCP服务器
在当前Runlevel 运行级别上打开DHCP服务开关。
#chkconfig dhcpd on //chkconfig dhcpd on/off 开机自动启动或关闭自动启动DHCP服务
2).启动DHCP服务器
#service dhcpd start
3).关闭DHCP服务器
#service dhcpd stop
4).重启DHCP服务器
#service dhcpd restart
5).检查dhcp服务的监听端口
#netstat -aunp| grep 67
6).Linux客户端的设定及测试
1 #netconfig //运行netconfig网络配置命令,然后选择自动获取的IP地址 2 3 #service network restart //重启网络服务使新配置生效 4 5 #ifconfig //查看动态配置的网络信息