14.3 自动管理IP地址
DHCP协议的设计初衷是为了更高效地集中管理局域网内的IP地址资源。DHCP服务器会自动把IP地址、子网掩码、网关、DNS地址等网络信息分配给有需要的客户端,而且当客户端的租约时间到期后还可以自动回收所分配的IP地址,以便交给新加入的客户端。
为了让实验更有挑战性,刘遄老师来模拟一个真实生产环境的需求:
“机房运营部门:明天会有100名学员自带笔记本电脑来我司培训学习,请保证他们能够使用机房的本地DHCP服务器自动获取IP地址并正常上网”。
机房所用的网络地址及参数信息如表14-2所示。
表14-2 机房所用的网络地址以及参数信息
参数名称 | 值 |
默认租约时间 | 21600秒 |
最大租约时间 | 43200秒 |
IP地址范围 | 192.168.10.50~192.168.10.150 |
子网掩码 | 255.255.255.0 |
网关地址 | 192.168.10.1 |
DNS服务器地址 | 192.168.10.1 |
搜索域 | linuxprobe.com |
在了解了真实需求以及机房网络中的配置参数之后,我们按照表14-3来配置DHCP服务器以及客户端。
表14-3 DHCP服务器以及客户端的配置信息
主机类型 | 操作系统 | IP地址 |
DHCP服务器 | RHEL 7 | 192.168.10.1 |
DHCP客户机 | RHEL 7 | DHCP自动获取地址 |
前文讲到,作用域一般是个完整的IP地址段,而地址池中的IP地址才是真正供客户端使用的,因此地址池应该小于或等于作用域的IP地址范围。另外,由于VMware Workstation虚拟机软件自带DHCP服务,为了避免与自己配置的dhcpd服务程序产生冲突,应该先按照图14-3和图14-4所示将虚拟机软件自带的DHCP功能关闭。
图14-3 单击虚拟机软件的“虚拟网络编辑器”菜单
图14-4 关闭虚拟机自带的DHCP功能
可随意开启几台客户端,准备进行验证。但是一定要注意,DHCP客户端与服务器需要处于同一种网络模式—仅主机模式(Hostonly),否则就会产生物理隔离,从而无法获取IP地址。刘遄老师建议开启1~3台客户端虚拟机验证一下效果就好,以免物理主机的CPU和内存的负载太高。
在确认DHCP服务器的IP地址等网络信息配置妥当后就可以配置dhcpd服务程序了。请注意,在配置dhcpd服务程序时,配置文件中的每行参数后面都需要以分号(;)结尾,这是规定。另外,dhcpd服务程序配置文件内的参数都十分重要,因此刘遄老师在表14-4中罗列出了每一行参数,并对其用途进行了简单介绍。
- [root@linuxprobe ~]# vim /etc/dhcp/dhcpd.conf
- ddns-update-style none;
- ignore client-updates;
- subnet 192.168.10.0 netmask 255.255.255.0 {
- range 192.168.10.50 192.168.10.150;
- option subnet-mask 255.255.255.0;
- option routers 192.168.10.1;
- option domain-name "linuxprobe.com";
- option domain-name-servers 192.168.10.1;
- default-lease-time 21600;
- max-lease-time 43200;
- }
表14-4 dhcpd服务程序配置文件中使用的参数以及作用
参数 | 作用 |
ddns-update-style none; | 设置DNS服务不自动进行动态更新 |
ignore client-updates; | 忽略客户端更新DNS记录 |
subnet 192.168.10.0 netmask 255.255.255.0 { | 作用域为192.168.10.0/24网段 |
range 192.168.10.50 192.168.10.150; | IP地址池为192.168.10.50-150(约100个IP地址) |
option subnet-mask 255.255.255.0; | 定义客户端默认的子网掩码 |
option routers 192.168.10.1; | 定义客户端的网关地址 |
option domain-name "linuxprobe.com"; | 定义默认的搜索域 |
option domain-name-servers 192.168.10.1; | 定义客户端的DNS地址 |
default-lease-time 21600; | 定义默认租约时间(单位:秒) |
max-lease-time 43200; | 定义最大预约时间(单位:秒) |
} | 结束符 |
在红帽认证考试以及生产环境中,都需要把配置过的dhcpd服务加入到开机启动项中,以确保当服务器下次开机后dhcpd服务依然能自动启动,并顺利地为客户端分配IP地址等信息。刘遄老师真心建议大家能养成“配置好服务程序,顺手加入开机启动项”的好习惯:
- [root@linuxprobe ~]# systemctl start dhcpd
- [root@linuxprobe ~]# systemctl enable dhcpd
- ln -s '/usr/lib/systemd/system/dhcpd.service' '/etc/systemd/system/multi-user.target.wants/dhcpd.service'
把dhcpd服务程序配置妥当之后就可以开启客户端来检验IP分配效果了。重启客户端的网卡服务后即可看到自动分配到的IP地址,如图14-5所示。
图14-5 客户端自动获取的IP地址
如果有兴趣,大家还可以再开启一台运行Windows系统的客户端进行尝试,其效果都是一样的。