DHCP三個端口:
服務端:UDP 67
客戶端:UDP 68
DHCPv6 客戶端:UDP 546,這是需要特別開啟的 DHCP failover 服務,用來做雙機熱備的。
實驗一、DHCP服務器基本配置
在RHEL1服務器上:
yum install dhcp
vim /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
vim /etc/dhcp/dhcpd.conf
subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.30 192.168.100.60; option domain-name-servers 192.168.100.1; option domain-name "rusky.com"; option routers 192.168.100.1; option broadcast-address 192.168.100.255; default-lease-time 3600; max-lease-time 7200; } |
systemctl restart dhcpd
在linux客戶端上
nmcli connection modify eno16777736 ipv4.method auto
nmcli connection down eno16777736
nmcli connection up eno16777736
ifconfig
實驗二、根據MAC地址分配固定IP
vim /etc/dhcp/dhcpd.conf
host rhel1-eno16777736 {
hardware ethernet 00:0C:29:EB:BE:10;
fixed-address 192.168.100.88;
}
--有多台主機需要分配固定IP地址,則添加多段
systemctl restart dhcpd
systemctl restart dhcpd
systemctl enable dhcpd
在linux客戶端上
nmcli connection modify eno16777736 ipv4.method auto
nmcli connection down eno16777736
nmcli connection up eno16777736
在windows客戶端上
設置網卡自動獲取IP地址和DNS
禁用網卡再啟動網卡,查看IP
實驗三、DHCP中繼
對不同的網段分配不同的IP地址。
在rhel1上
添加虛擬網絡vnet2,關閉DHCP服務
添加新網卡eno33554984,並將其插在vnet2網絡上
nmcli connection add type ethernet con-name eno33554984 ifname eno33554984
nmcli connection modify eno33554984 ipv4.method manual ipv4.addresses "10.0.0.1/24 10.0.0.1" ipv4.dns 10.0.0.1 connection.autoconnect yes
nmcli connection up eno33554984
ifconfig
vim /etc/dhcp/dhcpd.conf
subnet 192.168.100.0 netmask 255.255.255.0 { range 192.168.100.30 192.168.100.60; option domain-name-servers 192.168.100.1; option domain-name "rusky.com"; option routers 192.168.100.1; option broadcast-address 192.168.100.255; default-lease-time 3600; max-lease-time 7200; } subnet 10.0.0.0 netmask 255.255.255.0 { range 10.0.0.30 10.0.0.60; option domain-name-servers 10.0.0.1; option domain-name "test.com"; option routers 10.0.0.1; option broadcast-address 10.0.0.255; default-lease-time 3600; max-lease-time 7200; } |
systemctl restart dhcpd
rhel2和rhel3分別將網卡連接到vnet1和vnet2網絡上,獲取到不同網段的IP
實驗四、清除DHCP服務器的緩存
rm -f /var/lib/dhcpd/*
systemctl restart dhcpd