管理DHCP和IP地址分配
一,DHCP基本概念
动态主机配置协议(DHCP)为系统提供了一种方法来自动检索它们的网络配置参数,如IP地址、默认网关、DNS服务器和域或NTP服务器。
通过在网络上部署DHCP服务器,可以集中控制这些参数。您可以为客户端分配一定范围的IP地址,也可以为特定客户端分配保留的IP地址。
DHCP有两种类似的协议:用于IPv4组网的DHCPv4(原DHCP)和用于IPv6组网的DHCPv6。本节主要介绍DHCPv4。DHCPv6将在本章后面讨论。
二,部署DHCP服务器
服务器的静态IP地址必须在DHCP服务器管理的范围内。如上所示,DHCP服务器的地址为192.168.0.2/24。该服务器管理192.168.0.0/24 子网。
[root@host ~]# yum install dhcp-server
配置DHCP服务器
dhcpd服务使用/etc/dhcp/dhcpd.conf配置文件。dhcp-server包中提供了/usr/share/doc/dhcp-server/dhcpd.conf.example置文件示例。使用该文件作为配置的起点。
典型的DHCP配置为例:
基于MAC地址预留IP地址
在配置文件中,主机声明可以将MAC地址与IP地址绑定。这种配置对于始终为特定系统的网络接口提供
相同的
IP地址特别有用,特别是当它提供web或数据库系统等服务时。
三,配置DHCP客户端
如果需要在客户端上配置用于DHCP的接口,请使用nmcli命令设置ipv4.method为auto。
[root@host ~]# nmcli con add con-name dhcp-connection type ethernet \
ifname eth0 ipv4.method auto
配置DHCP的步骤:
(1)安装dhcp-server
[root@servera ~]# yum -y install dhcp-server
[root@servera ~]# rpm -qa |grep dhcp
[root@servera ~]# rpm -ql dhcp-server-4.3.6-34.el8.x86_64
配置DHCP服务器如下表:
修改DHCP的配置文件
[root@servera dhcp]# vim dhcpd.conf
authoritative;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.200;
option broadcast-address 192.168.0.255;
option domain-name-servers 172.25.250.254;
option domain-search "example.net";
default-lease-time 600;
max-lease-time 7200;
}
[root@servera dhcp]# dhcpd -t
[root@servera ~]# nmcli con add con-name ge-conn type ethernet ifname eth1 ipv4.addresses 192.168.0.10/24 ipv4.method manual
[root@servera ~]# umcli con up ge-conn
[root@servera ~]# systemctl restart dhcpd
[root@servera ~]# systemctl status dhcpd
四,配置分配IPV6地址
IPv6有多种配置网络接口的方法。在本节中,将学习其中的两个:
无状态地址自动配置Stateless Address Autoconfiguration (SLAAC)
动态主机配置协议Dynamic Host Configuration Protocol for IPv6 (DHCPv6)
使用ip addr show命令获取链路本地IPv6地址:
[root@servera ~]# ip addr show dev eth0
IPv6无状态地址自动配置
无状态地址自动配置(SLAAC)
方法依赖路由器为客户端系统提供网络配置。这可以包括IPv6网络的前缀(客户端可以用它来创建地址)和DNS信息。对于这种方法,您的网络团队必须激活并配置路由器上的邻居发现协议(NDP)。
在SLAAC中,当客户端系统启动时,或者当您激活网络连接时,接口使用它的链路本地地址发送一个Router Solicitation消息到ffo2::2组播地址。路由器应答路由器通告消息,提供网络参数。
路由器通告消息可以提供以下网络配置参数:
IPv6前缀
DNS服务器的IPv6地址
DNS搜索列表
比较路由器通告报文与DHCPv6
配置DHCPv6服务器
dhcpd6服务使用/etc/dhcp/dhcpd6.conf配置文件。dhcp-server包中提供了/usr/share/doc/dhcp-server/dhcpd6.conf文件以用作配置示例。可使用该文件作为配置的起点。
authoritative; # 权威指令指示服务器对其管理的IPv6前缀是权威的。
subnet6 fde2:6494:1e09:2::/64 { # subnet6位置提供子网的详细信息。
range6 fde2:6494:1e09:2::20 fde2:6494:1e09:2::60; # 服务器分配该范围内的IPv6地址。
option dhcp6.name-servers fde2:6494:1e09:2::cc; # 服务器还提供DNS名称服务器。
option dhcp6.domain-search "example.net"; # 服务器提供DNS域搜索参数。
default-lease-time 600; # 如果客户端没有要求任何特定的租期长度,default-lease-time参数提供了一个以秒为单位的默认值。
max-lease-time 7200; # max-lease-time表示服务器可以接受客户端请求的最大租约时间。
}
重要:
当您从同一个磁盘映像部署多个虚拟系统时,请确保在第一次引导之后重新生成/etc/machine-id文件。否则,所有这些系统将获得相同的机器ID,因此也将获得相同的DUID。要生成一个新的机器ID,使用以下命令:
[root@host ~]# rm /etc/machine-id
[root@host ~]# systemd-machine-id-setup
[root@host ~]# systemctl restart NetworkManager
使用journalctl -u dhcpd6.service命令访问该信息的: