DHCP(动态主机配置协议)用于自动为PC和其他网络设备分配IP地址,以便它们进行通信。它使用UDP协议的67端口,对客户端使用UDP端口68。DHCP操作分为四个阶段:服务器发现,IP租约报价,IP租约请求和IP租约确认。这些阶段通常缩写为DORA,用于发现,提供,请求和确认。

系统环境

​Centos​​8

安装DHCP

DHCP服务器的地址为:192.168.43.254/24,默认网关为:192.168.43.2/24,DHCP服务器将自动为网络192.168.43.0/24中的其他设备分配IP地址。

下面是DHCP服务器的地址信息:

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160

Centos8 如何配置DHCP服务器_客户端

下面安装DHCP服务:

[root@localhost ~]# dnf -y install dhcp-server

Centos8 如何配置DHCP服务器_ip地址_02

配置DHCP服务

DHCP服务器的主要配置文件是​​/etc/dhcp/dhcpd.conf​​​。默认情况下,文件里面只有注释,提示可以参考​​/usr/share/doc/dhcp-server/dhcpd.conf.example​​文件来修改配置。

Centos8 如何配置DHCP服务器_服务器_03

下面直接提供配置信息,将配置信息粘贴到dhcpd.conf文件里面,修改地址等信息即可:

[root@localhost ~]# cat /etc/dhcp/dhcpd.conf 
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp-server/dhcpd.conf.example
# see dhcpd.conf(5) man page
#
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;
subnet 192.168.43.0 netmask 255.255.255.0 {
range 192.168.43.101 192.168.43.200;
option routers 192.168.43.2;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.43.2;

}

Centos8 如何配置DHCP服务器_ip地址_04

​default-lease-time​​为特定设备保留10分钟(600秒)的IP地址

​max-lease-time​​ 最多保留2小时(7200秒)的IP地址。

​subnet​​部分定义了192.168.43.0/24网络的DHCP配置。

​range​​部分定义了可分配的IP地址,范围为192.168.43.101-192.168.43.200。

​routers​​部分定义默认网关的地址。

​subnet-mask​​部分定义将分配给每个主机的子网掩码。

​domain-name-servers​​部分定义将分配给每个主机的DNS服务器地址。

配置完成之后可以使用下面​​命令​​启动dhcp服务:

[root@localhost ~]# systemctl enable dhcpd && systemctl start dhcpd
Created symlink /etc/systemd/system/multi-user.target.wants/dhcpd.service → /usr/lib/systemd/system/dhcpd.service.

Centos8 如何配置DHCP服务器_服务器_05

下面查看服务是否运行:

[root@localhost ~]# systemctl status dhcpd

Centos8 如何配置DHCP服务器_ip地址_06

配置防火墙

如果开启防火墙,需要在防火墙中放开dhcp服务。

[root@localhost ~]# firewall-cmd --permanent --add-service=dhcp
success
[root@localhost ~]# firewall-cmd --reload
success

Centos8 如何配置DHCP服务器_ip地址_07

客户机测试

在客户端获取到了地址:

Centos8 如何配置DHCP服务器_ip地址_08

在客户端查看是否是192.168.43.254这台DHCP服务器分配的地址:

[root@localhost ~]# nmcli connection show ens33 |grep -i 'dhcp4.option\[4\]'
DHCP4.OPTION[4]: dhcp_server_identifier = 192.168.43.254

Centos8 如何配置DHCP服务器_服务器_09

可以看到dhcp服务器标识符是192.168.43.254。

设置保留IP

首先需要知道需要设置保留ip地址的服务器的网卡地址,在客户端使用​​ip link​​查看网卡的mac地址:

[root@localhost ~]# ip link

Centos8 如何配置DHCP服务器_ip地址_10

下面在dhcp服务端,编辑​​/etc/dhcp/dhcpd.conf​​配置文件,添加下面内容,绑定的地址为192.168.43.150:

host server {
hardware ethernet 00:0c:29:99:ee:d9;
fixed-address 192.168.43.150;
}

Centos8 如何配置DHCP服务器_客户端_11

重启dhcp服务:

[root@localhost dhcp]# systemctl restart dhcpd

下面在客户端,重启一下网络服务,看看是否获取到固定地址了。

Centos8 如何配置DHCP服务器_ip地址_12

可以看到已经获取到地址了。

总结

在本问中学习了如何在Centos8上配置DHCP服务器。我们看到主机自动从DHCP服务器获得IP地址,并且还看到了如何使用MAC地址将IP地址绑定到特定计算机。