前言
對於運維人員來說,要儘可能的減少管理負擔,對主機IP地址的配置是相當麻煩的,手動配置顯然費時費力,還不好管理,主機還會出現地址衝突的情況。這個時候,就到dhcp登場了。
DHCP(動態主機配置協議)指的是由服務器控制一段lP地址範圍,客戶機登錄服務器時就可以自動獲得服務器分配的lP地址和子網掩碼。
使用UDP協議傳輸,服務器端使用67端口向地址池中主機分配IP地址,客戶端使用68號端口負責接收數據。
搭建服務
前提條件
linux服務器:192.168.1.123
windows客戶機:dhcp自動獲取
注:注意防火牆和selinux配置
1.安裝dhcp服務程序及相關依賴包
[root@linux ~]# yum install -y dhcp*
2.主配置文件操作
[root@linux ~]# ls /etc/dhcp/ #程序目錄
dhclient.d dhclient-exit-hooks.d dhcpd6.conf dhcpd.conf scripts
[root@linux ~]# grep -v ^$ /etc/dhcp/dhcpd.conf #查看配置文件
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
上面寫dhcp的配置文件在/usr/share/doc/dhcp*/目錄下叫做dhcpd.conf.example,我們有兩種選擇,一是手動寫入配置項,一是複製配置文件到當前目錄下
對於複製配置文件,要做好相應的配置,把不重要的配置項過濾,覆蓋原有的配置文件,之後進行修改即可。
[root@linux ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf.bak
[root@linux ~]# grep -v ^$ /etc/dhcp/dhcpd.conf.bak | grep -v ^# > /etc/dhcp/dhcpd.conf
3.修改dhcp的主配置文件
我的話是在原有文件上添加配置項
注:注意書寫規範,除聲明的一對{},每個配置項後面都要加上;
[root@linux ~]# vim /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
# see /usr/share/doc/dhcp*/dhcpd.conf.example
# see dhcpd.conf(5) man page
subnet 192.168.1.0 netmask 255.255.255.0 { #聲明網段地址
range 192.168.1.1 192.168.1.124; #配置IP地址池,起始IP,結束IP
option routers 192.168.1.123; #地址默認網關
ddns-update-style none; #禁用dns動態更新
default-lease-time 21600; #地址租期爲6個小時
max-lease-time 43200; #地址最大租期時間12個小時
option domain-name "linux.node1"; #dns搜索域
option domain-name-servers 192.168.1.123; #地址dns
}
host prtsvr { #host主機聲明
hardware ethernet 00:00:00:00:00:00; #指定保留客戶機的MAC地址
fixed-address 192.168.1.254; #保留地址IP
}
4.啓動及查看
[root@linux ~]# systemctl start dhcpd
[root@linux ~]# netstat -anpu | grep dhcpd
udp 0 0 0.0.0.0:67 0.0.0.0:* 3062/dhcpd
5.windows客戶機測試
這就獲取到地址了,根據你所對地址池的相關配置,來獲取對應的地址。
6.主機聲明的作用
主機聲明相當於配置了永久的IP地址,其根據物理mac地址,爲對應主機分配固定IP地址,永不過期。就算對應的主機關機或者IP地址不夠用,也不會使用其保留IP。
通常用於一些不允許地址變動的主機,服務器或打印機等。拿上述客戶機舉例,其mac地址爲00-0C-29-64-59-0F,接下來修改配置文件。
[root@linux ~]# vim /etc/dhcp/dhcpd.conf
host prtsvr {
hardware ethernet 00:0C:29:64:59:0F; #在配置文件中要符合其書寫規範,把分隔符-換成:
fixed-address 192.168.1.254;
}
[root@linux ~]# systemctl restart dhcpd
客戶端已通過dhcp獲取IP地址,在租期沒有過之前地址不會修改,這個時候需要刷新網絡配置,重新禁用啓用網卡,或者重啓客戶機即可。
刷新網卡配置後,再次查看獲取的地址,已經換成了保留地址。
C:\Users\hauwei>ipconfig
Windows IP 配置
以太網適配器 Ethernet0:
連接特定的 DNS 後綴 . . . . . . . : linux.node1
本地鏈接 IPv6 地址. . . . . . . . : fe80::592:2c00:4d98:528c%10
IPv4 地址 . . . . . . . . . . . . : 192.168.1.254
子網掩碼 . . . . . . . . . . . . : 255.255.255.0
默認網關. . . . . . . . . . . . . : 192.168.1.123