實質:實現設備與IP的綁定。
服務模式:服務器/客戶端
PC1為服務器,PC2為客戶端。PC1和PC2均為RHEL7系統
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 This system is not registered to Red Hat Subscription Installed size: 1.4 M Is this ok [y/d/N]: y ……………… 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、在服務器PC1中修改DHCP服務配置文件
[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; }
各參數意義:

5、在服務器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'
6、 在客戶機PC2中驗證自動分配IP效果
[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 445 bytes 27249 (26.6 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.50 netmask 255.255.255.0 broadcast 192.168.10.255 inet6 fe80::20c:29ff:fe25:bb3e prefixlen 64 scopeid 0x20<link>
7、查看客戶機PC2網卡MAC地址、PC2主機名稱(綁定ip時需要使用MAC地址,MAC地址具有唯一性)
[root@PC2 Desktop]# ifconfig | head -n 6 ## 查看PC2的MAC地址 eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.10.50 netmask 255.255.255.0 broadcast 192.168.10.255 inet6 fe80::20c:29ff:fe25:bb3e prefixlen 64 scopeid 0x20<link> ether 00:0c:29:25:bb:3e txqueuelen 1000 (Ethernet) RX packets 498 bytes 31249 (30.5 KiB) RX errors 0 dropped 0 overruns 0 frame 0 [root@PC2 Desktop]# hostname ## 查看主機名稱 PC2
8、在服務器PC1中修改配置文件,將特定IP和客戶機PC2綁定
[root@PC1 dhcp]# 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; host PC2 { hardware ethernet 00:0c:29:25:bb:3e; fixed-address 192.168.10.100; } }
9、在服務器PC1中重啟DHCP服務
[root@PC1 dhcp]# systemctl restart dhcpd
10、在客戶機PC2中進行驗證
[root@PC2 Desktop]# ifconfig | head -n 3 ## 查看此時ip,仍然是50 eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.10.50 netmask 255.255.255.0 broadcast 192.168.10.255 inet6 fe80::20c:29ff:fe25:bb3e prefixlen 64 scopeid 0x20<link> [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.100 netmask 255.255.255.0 broadcast 192.168.10.255 inet6 fe80::20c:29ff:fe25:bb3e prefixlen 64 scopeid 0x20<link>
總結:
- 實現特定IP與特定設備的綁定僅需要修改服務器端配置文件,然后在客戶端重啟網卡
- 服務器端修改配置文件需要的關鍵信息為客戶端網卡MAC地址、主機名稱
