DHCP(Dynamic Host Configuration Protocal)工作模式為伺服器/用戶端;
DHCP主要用于自動為用戶端配置設定網卡資訊,比如自動配置設定IP、網關等。
準備三台虛拟機,主機名分别為PC1、PC2和PC3,均為RHEL7,PC1作為伺服器,PC2和PC3作為用戶端。
1、檢視伺服器PC1系統版本,ip資訊
[root@PC1 ~]# cat /etc/redhat-release ## 檢視系統版本
Red Hat Enterprise Linux Server release 7.0 (Maipo)
[root@PC1 ~]# ifconfig | head -n 3 ## 檢視ip位址
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.10 netmask 255.255.255.255 broadcast 192.168.10.10
inet6 fe80::20c:29ff:fe66:37f7 prefixlen 64 scopeid 0x20<link>
2、安裝DHCP服務(前提是已經配置好yum倉庫)
[root@PC1 ~]# yum install dhcp
Loaded plugins: langpacks, product-id, subscription-manager
Is this ok [y/d/N]: y
Downloading packages:
………………
Installed:
dhcp.x86_64 12:4.2.5-27.el7
Complete!
3、DHCP配置檔案位置
[root@PC1 dhcp]# pwd
/etc/dhcp
[root@PC1 dhcp]# ls
dhclient.d dhcpd6.conf dhcpd.conf
4、DHCP配置檔案中常見參數作用
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiETPwJWZ3ZCMwcTP39zZuBnLENTJENTJ3pVdC5GT1EFRNdXVE50dZRUT5BTeOBzYU90dVpXT0UkaNdXSU10dJRUT5BzUPVTV65EMRRVT2lEVNdXSE1Ue4M1T1UleOBTUU1kdjJjYzpkMMRXOykVdNNjW2hXbZVnTtx0dJRUT5N2ViBXO5xkNNh0YwIFSh9CXt92YuM3YltWas5iclN3Ztl2Lc9CX6MHc0RHaiojIsJye.png)
5、修改配置檔案
[root@PC1 dhcp]# vim /etc/dhcp/dhcpd.conf ## ip位址範圍為50-150
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;
}
各參數意義:
6、重新開機伺服器PC1的DHCP服務,是配置檔案生效,并設定開機自動啟動服務
[root@PC1 dhcp]# systemctl restart dhcpd
[root@PC1 dhcp]# systemctl enable dhcpd
ln -s \'/usr/lib/systemd/system/dhcpd.service\' \'/etc/systemd/system/multi-user.target.wants/dhcpd.service\'
[root@PC1 dhcp]# systemctl status dhcpd | head -n 5 ## 檢視服務狀态
dhcpd.service - DHCPv4 Server Daemon
Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled)
Active: active (running) since Wed 2020-12-02 18:47:16 CST; 2min 10s ago
Docs: man:dhcpd(8)
man:dhcpd.conf(5)
7、開啟客戶機PC2進行驗證
[root@PC2 Desktop]# ifconfig | head -n 3 ## 檢視目前ip,未配置設定
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:25:bb:3e txqueuelen 1000 (Ethernet)
RX packets 22 bytes 1320 (1.2 KiB)
[root@PC2 Desktop]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728 ## 編輯網卡配置檔案,設為開機自動啟動
HWADDR=00:0C:29:25:BB:3E
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777728
UUID=a0c2aa6b-48e1-4822-a67c-151155cc14bd
ONBOOT=yes
[root@PC2 Desktop]# systemctl restart network ## 重新開機網卡
[root@PC2 Desktop]# ifconfig | head -n 3 ## 再次檢視ip
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.51 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::20c:29ff:fe25:bb3e prefixlen 64 scopeid 0x20<link>
8、開啟客戶機PC3進行驗證
[root@PC3 Desktop]# ifconfig | head -n 3 ## 檢視目前ip
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:7d:e7:11 txqueuelen 1000 (Ethernet)
RX packets 11 bytes 660 (660.0 B)
[root@PC3 Desktop]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728 ## 編輯網卡配置檔案,設為開機自動啟動
HWADDR=00:0C:29:7D:E7:11
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777728
UUID=39fd8d2f-8276-4732-9207-1bf1942f91f9
ONBOOT=yes
[root@PC3 Desktop]# systemctl restart network ## 重新開機網卡
[root@PC3 Desktop]# ifconfig | head -n 3 ## 檢視ip
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.52 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::20c:29ff:fe7d:e711 prefixlen 64 scopeid 0x20<link>
總結:
- 伺服器與客戶機無需特殊處理,可以實作自動關聯
- 客戶機重新開機網卡,才可以實作自動被配置設定IP