实验环境:
VMware中安装的两个centos 7 系统
centos 7 64位 —>作为服务器提供dhcp服务,且配置为了静态IP,可以正常上网,参考以前的文章。
centos 7 64位_v2------>作为客户端,单纯的刚刚安装的系统,没有配置IP。
**预期效果:**用centos 7 64位服务器建立一个 DHCP 服务器来为客户端centos 7 64位_v2分配IP。
DHCP 动态主机配置协议(Dynamic Host Configuration Protocol)
》为大量客户机自动分配地址,提供集中管理
》减轻管理和维护成本,提高网络配置效率
dhcp原理:
①发现阶段:客户机以广播方式发送DHCP discover报文来寻找DHCP服务器。
②提供阶段:DHCP服务器在网络中接收到DHCP discover报文后会做出响应,它从尚未出租的IP地址中挑选一个分配给DHCP客户机,向DHCP客户机发送一个包含出租的IP地址和其他设置的DHCP offer报文。
③选择阶段:如果有多台DHCP服务器向DHCP客户机发来的DHCP offer提供报文,则DHCP客户机只接受第一个收到的DHCP offer提供报文,然后它就以广播方式回答一个DHCP request请求报文,该报文中包含向它所选定的DHCP服务器请求IP地址的内容。
④确认阶段:DHCP服务器收到DHCP客户机回答的DHCP request请求报文之后,它便向DHCP客户机发送一个包含它所提供的IP地址和其他设置的DHCP ack确认报文,告诉DHCP客户机可以使用它所提供的IP地址。
实验步骤:
服务器端:
安装dhcp:yum -y install dhcp
配置文件:/etc/dhcp/dhcpd.conf
刚开始为空,有个模板文件,可以复制过来:
将/usr/share/doc/dhcp-4.*.*/dhcpd.conf.sample
拷贝至/etc/dhcp/dhcpd.conf
并修改:
画圈内填自己所在地的DNS
如图,我实验时的网段地址为192.168.72.0,子网掩码设为255.255.255.0,表示整个网段都可以使用,rang是范围限制,给客户端的IP池从70到200,而192.168.72.2为网关地址,剩下的为广播地址,广播地址是每个网段的最后一个地址,所以这里为255.。600和7200不用修改。
dhcpd.conf文件除了上面保留两张图的配置,其他的配置可以不要,删了。
保存退出,重启服务
systemctl restart dhcpd.service
接下来,进行客户端的配置:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
保存退出,重启网络服务
systemctl restart network.service
ifconfig就可以获得70-200之间的一个IP了,默认是从70开始分配
一个重要的文件
我们怎么验证这个IP确实是服务器分配的一个IP呢?
答:在服务器中进入/var/lib/dhcpd
,查看dhcpd.leases文件
如图,客户端每次重启网络服务获得一个IP都会在该文件中产生记录:
192.168.72.70是分配给客户端的IP
00:0c:29:75:b1:78 是客户端的MAC地址,经检查就是我们使用的客户端的MAC地址,这也证明了客户端的IP确实是服务器分配的。