一分钟了解DHCP服务器是什么 dhcp服务器是什么意思( 二 )


(3)DHCP REQUEST
当DHCP客户端接受DHCP服务器的租约时,它将发起DHCP REQUEST广播消息,告诉所有DHCP服务器自己已经做出选择,接受了某个DHCP服务器的租约 。
在此DHCP REQUEST广播消息中包含了DHCP客户端的MAC地址、接受的租约中的IP地址、提供此租约的DHCP服务器地址等,所有其他的DHCP服务器将收回它们为此DHCP客户端所保留的IP地址租约,以给其他DHCP客户端使用 。
此时由于没有得到DHCP服务器最后确认,DHCP客户端仍然不能使用租约中提供的IP地址,所以在数据包中仍然使用0.0.0.0作为源IP地址,广播地址255.255.255.255作为目的地址 。
(4)DHCP ACK
提供的租约被接受的DHCP服务器在接收到DHCP客户端发起的DHCP REQUEST广播消息后,会发送DHCP ACK广播消息进行最后的确认,在这个消息中同样包含了租约期限及其他TCP/IP选项信息 。
如果DHCP客户端的操作系统为Windows版本,当DHCP客户端接收到DHCP ACK广播消息后,会向网络发出三个针对此IP地址的ARP解析请求以执行冲突检测,确认网络上没有其他主机使用DHCP服务器提供的IP地址,从而避免IP地址冲突 。如果发现该IP已经被其他主机所使用(有其他主机应答此ARP解析请求),则DHCP客户端则会广播发送(因为它仍然没有有效的IP地址)DHCP DECLINE消息给DHCP服务器拒绝此IP地址租约,然后重新发起DHCP DISCOVER进程 。此时,在DHCP服务器管理控制台中,会显示此IP地址为BAD_ADDRESS 。
如果没有其他主机使用此IP地址,则DHCP客户端的TCP/IP使用租约中提供的IP地址完成初始化,从而可以和其他网络中的主机进行通讯 。至于其他TCP/IP选项,如DNS服务器和WINS服务器等,本地手动配置将覆盖从DHCP服务器获得的值 。
二、DHCP SERVER (RELAY)配置方式
1、相关配置文件
端口号:ipv4 udp 67(源端口:接收客户端请求的)、 udp 68(目的端口:向客户端发送请求成功或失败的回应)、 ipv6 udp 546、udp 547
服务名:dhcpd、dhcrelay
主配置文件:/etc/dhcp/dhcpd.conf
模板文件:
/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample
中继配置文件:/etc/sysconfig/dhcrelay
执行程序:/usr/sbin/dhcpd、/usr/sbin/dhcrelay
服务脚本:/etc/init.d/dhcpd、/etc/init.d/dhcrelay
执行参数配置:/etc/sysconfig/dhcpd
查看租约文件
:/var/lib/dhcpd/dhcpd.lease
很多网络服务的排错日志:/var/log/messages
2、配置步骤
(1)操作前的准备
防火墙临时关闭:iptables –F
防火墙永久关闭:/etc/init.d/iptables stop
查看防火墙状态:iptables -L
selinux临时关闭:setenforce 0
selinux永久关闭:sed –i“7s/enforcing/disabled/g”/etc/selinux/config
(2)客户端配置
1、关闭防火墙和selinux
2、自己在虚拟网络编辑器创建一个局域网的网卡,并设置好网段,取消虚拟网络编辑器的DHCP自动分配功能
3、进入客户机设置IP地址为自动获取(就是让DHCP选项生效),然后用service network restart 重启客户机网卡,到这里客户端就设置完成 。
(3)服务端配置
1、进入服务机设置IP地址、网关和虚拟网络编辑器那个网卡的网段一致,然后重启网卡;
2、配置yum源,挂载光盘,然后用yum -y install dhcp安装dhcp软件;
3、进入dhcp配置文件/etc/dhcp/dhcpd.conf发现里面是空的,然后把dhcp模板文件中的内容导入dhcp 配置文件;
4、将配置文件的前几个subnet声明注释掉,修改最后一个subnet的声明;
5、修改完成后保存退出,用service dhcpd configtest测试文件是否有错误;
6、然后用service dhcpd start 重启dhcp服务;
7、重启客户机网卡,看能不能获取到服务机地址池的IP地址;