DHCP服務器的作用:
DHCP服務器毋庸置疑,沒有運行DHCP 服務器,IP客戶會喪失部分或全部的訪問網絡的能力。可以說,DHCP服務器是企業網絡治理員的得力助手之一。有了DHCP服務器後,使得我們的網絡治理工作變得游刃有余。不過,雖然DHCP服務器不是什麼新技術,但是想要很好的配置、維護好DHCP服務器並不容易。尤其是在一些較復雜的大、中型網絡中,DHCP服務器網絡的部署同樣會涉及許多比較復雜的技術。DHCP服務器所遇到的故障很多,形形色色的故障現象和問題根源在困擾著IT管理者。相信無論對於新接觸網絡的菜鳥成名還是成名已久技術高手,DHCP服務器或多或少都給他們帶來了一些麻煩。
與dhcp協議功能類似的協議:
1>. arp協議的作用:ip地址 --> MAC地址
2>. rarp協議的作用: MAC地址 --> ip地址, dhcp其實就是將MAC地址轉化為ip地址.
3>. bootp這個協議的作用是響應客戶單ip地址的。 但是這個協議是沒有租約的, 一旦某個地址被分配於客戶端端,該地址將永久被該客戶端使用, 即使該客戶端沒有啟動, 該地址也不會響應於別的客戶端。 boot protocol這種協議適合於無盤工作站的搭建。
dhcp服務端可以響應於客戶單哪些信息:
1>IP/NETMASK
2>GATEWAY
3>DNS SERVER
4>.NTP SERVER
5>.WINS SERVER
客戶端一次完整的dhcp請求的過程:
1>. Client: dhcp discover (客戶端廣播發現dhcp服務器)
2>. Server: dhcp offer (dhcp服務器響應)
3>. Client: dhcp request (客戶端發出請求)
4>. Server: dhcp ack (服務端發送響應報文與客戶端)
注意:
1>. 整個dhcp請求過程, 無論是客戶端、還是服務端, 發送的報文都是廣播。
2>. 客戶端通過dhcp獲取ip地址的方式: 客戶端會廣播請求ip地址, 如果局域網中有dhcp服務器的話, 便會響應ip地址於客戶端。
3>. 當局域網中有多個dhcp服務器的話, 客戶端只會接受其中一個dhcp服務器, 拒絕別的。
dhcp協議的專有詞匯:
lease time: 租約期限。 客戶端獲取ip地址的有效時間。
dhcp relay: dhcp中繼 , dhcp中繼適用於擴網段獲取ip地址。
客戶端請求過程中, 是如何延長租約的:
客戶端租約時間過去一半的話,向服務端請求延長租約, 服務端響應客戶單端, 租約時間變為原租約時間。 當服務端沒有響應客戶端的話,當客戶端租約剩余時間過去一半的話, 再次將服務端發出請求, 請求延長租約時間, 依次這樣下去, 當租約時間過去93.75%的話,客戶端便會向廣播,發現新的dhcp server(dhcp discover).
dhcp服務端與客戶端啟動的端口:
服務端啟動的端口號: 68(udp)
客戶端啟動的端口號: 67(udp)
dhcp服務在Linux主機實現
dhcp功能的實現有兩種方式:
1>. dhcp
DHCP (Dynamic Host Configuration Protocol) is a protocol which allows individual devices on an IP network to get their own network configuration information (IP address, subnetmask, broadcast address,etc.) from a DHCP server.
2>. dnsmasq
Dnsmasq is lightweight, easy to configure DNS forwarder and DHCP server. It is designed to provide DNS and, optionally, DHCP, to a small network.It can serve the names of local machines which are not in the globa DNS.
dnsmasq工作的特點便是輕量級。
centos7.2主機上簡單實現dhcp服務:
實驗拓撲:
具體步驟如下:
node1上搭建dhcp服務器:
1>. [root@node2 ~]# yum install -y dhcp
2>. 配置文件及unit文件
dhcp配置文件:
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
dhcp unit file 文件:
/usr/lib/systemd/system/dhcpd.service
/usr/lib/systemd/system/dhcpd6.service
3>. 修改/etc/dhcp/dhcpd.conf配置文件:
a>. 指定域搜索功能. 指定DNS地址.
b>. 指定最短默認租約期限及最大租約期限。
c>. 指定ip池。
4>. 啟動dhcp服務.
5>. 添加默認網關:
6>. 重啟dhcpd服務。
node2節點測試:
1>. 手動測試
2>. 查看生成的ip地址及網關信息。
ip地址
網關地址:
node1節點
dhcp服務端根據客戶端主機網卡mac地址分配指定的ip地址:
修改配置文件: 使用host選項
重啟dhcpd服務。
node2節點測試:
修改配置文件過程中遇到問題總結:
修改的配置文件中,subnet中必須有一個是自己ip地址所在的網段