DHCP是Dynamic Host Configuration Protocol的縮寫,它是TCP/IP協議簇中的一種,主要是用來給網絡客戶機分配動態的IP地址。
其主要功能是:
用於內部網絡或網絡服務供應商自動分配IP地址給用戶
用於內部網絡管理員做爲對全部電腦做中央管理的手段
直接點就是,這些被分配的IP地址都是DHCP服務器預先保留的一個由多個地址組成的地址集,而且它們通常是一段連續的地址。node
動態主機設置協議(DHCP)是一種使網絡管理員可以集中管理和自動分配IP網絡地址的通訊協議。在IP網絡中,每一個鏈接Internet的設備都須要分配惟一的IP地址。DHCP使網絡管理員能從中心結點監控和分配IP地址。當某臺計算機移到網絡中的其它位置時,能自動收到新的IP地址。
DHCP使用了租約的概念,或稱爲計算機IP地址的有效期。租用時間是不定的,主要取決於用戶在某地鏈接Internet須要多久,這對於教育行業和其它用戶頻繁改變的環境是很實用的。經過較短的租期,DHCP可以在一個計算機比可用IP地址多的環境中動態地從新配置網絡。DHCP支持爲計算機分配靜態地址,如須要永久性IP地址的Web服務器。
DHCP和另外一個網絡IP管理協議BOOTP相似是DHCP的前身而且向後兼容。目前兩種配置管理協議都獲得了廣泛使用。其中DHCP更爲先進,某些操做系統如Windows NT/2000都帶有DHCP服務器。DHCP或BOOTP客戶端是裝在計算機中的一個程序,這樣就能夠對其進行配置操做。vim
當DHCP客戶端程序發出一個信息,要求一個動態的IP地址時,DHCP服務器會根據目前已經配置的地址,提供一個可供使用的IP地址和子網掩碼給客戶端,大體流程如…
(1) 客戶端向服務器端發出請求 //dhcp discover
(2) 服務端要響應客戶端的請求 //dhcp offer
(3) 而後客戶端要選擇請求使用哪一項 //dhcp request
(4)最後服務端進行最終確認 //dhcp ack
注意:DHCP服務不可跨網段,不可跨越物理路由器,且整個過程都是廣播的形式centos
也叫DHCP Realy ,服務是面向服務端單播,面向客戶端廣播
其功能就是幫忙把有DHCP服務的提供給另外一個沒有DHCP服務器的網絡
固然,用腿想都能想明白,本身家菜地不播種本身家的種子,難道你還給別人播種bash
DHCP的實現有兩種,DHCP Relay與DHCP Server
DHCP Relay的功能在某一複雜的網絡中使用比較廣泛,比方說大型酒店或者運營商,因此這裏不過多說明。(若是你想深刻了解,建議去學習Cisco的網絡工程師課程)服務器
實驗環境:基於Win平臺搭建的VMware虛擬機實現
準備主機兩臺:一臺DHCP Server端,一臺DHCP Client端
配置網段地址以192.168.5.0/24 這個爲例
主機環境:Centos7.2_Server_x86_64網絡
運行兩臺虛擬機,把網絡適配器修改成:自定義,特定虛擬網絡。隨便選擇個網絡,我這裏用的是VMnet2,選好肯定就能夠。兩臺都是同樣的
指定一臺當DHCP的Server端,地址是172.16.5.5/16,網關172.16.5.5
另外一臺作DHCP客戶端,網絡適配器也選擇自定義而且是VMnet2,這樣就能夠了接下來咱們進行配置dom
在Centos7系統中咱們直接用yum安裝ide
安裝後看它生成了哪些文件,我只貼上配置須要的文件 [root@node2 ~]# yum install dhcp [root@node2 ~]# rpm -ql dhcp dhcp-4.2.5-42.el7.centos.x86_64 //已安裝 [root@node2 ~]# rpm -ql dhcp /etc/dhcp/dhcpd.conf //這個是服務的配置文件路徑 /usr/lib/systemd/system/dhcpd.service //這個是Unit服務文件路徑 /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example //這個是咱們要參考的配置文件
拷貝參考文件到DHCP的配置文件目錄下,給一個網段分配地址工具
[root@node2 ~]# cp -a /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf //拷貝參考文件直接覆蓋dhcpd.conf文件 編輯dhcpd.conf文件 vim /etc/dhcp/dhcpd.conf修改如下內容 # dhcpd.conf # # Sample configuration file for ISC dhcpd option domain-name "glances.org"; option domain-name-servers 192.168.5.5,223.5.5.5; option routers 192.168.5.5; default-lease-time 600; max-lease-time 7200; subnet 192.168.5.0 netmask 255.255.255.0 { range 192.168.5.10 192.168.5.100; } 其它的均可以註釋掉 :.,$s/^[[:space:]]*[^#]/#/g 重啓network服務 systemctl restart network.service 重啓dhcpd服務 systemctl restart dhcpd.service 確保DHCP服務端UDP的67端口被監聽 ss -tnul 測試:多啓動幾個客戶端測試 服務端使用命令實時檢測日誌動態;tail -f /var/log/messages
給一個主機分配一個固定地址 Host fantasia項學習
# option definitions common to all supported networks... option domain-name "glances.org"; option domain-name-servers 192.168.5.5,223.5.5.5; option routers 192.168.5.5; default-lease-time 600; max-lease-time 7200; # DHCP server to understand the network topology. subnet 192.168.5.0 netmask 255.255.255.0 { range 192.168.5.10 192.168.5.100; } Host fantasia { //名字能夠隨便寫 hardware ethernet 00:0c:29:6c:3f:65; //給定網卡MAC地址 fixed-address 192.168.5.30; //對應的ip地址,須是地址池以外地址 } 重啓dhcpd服務;systemctl restart dhcpd 實時檢測地址分配狀態;tail -f /var/log/messages 客戶端使用dhcp命令行工具測試:dhclient -d (d是把任務調入前臺執行)
其它的給一個共享網絡配置地址,咱們工做中應該使用的很少,因此不介紹。使用到直接再查看幫助就行。
在配置DHCP服務當中,區域配置文件中所定義網關是有優先級的,要注意。
全局配置;對全部配置生效,且此配置段中網關對全局有效。
子網配置;僅對子網生效,且此配置段中網關優先於全局配置中的網關。
主機配置;僅對一個主機生效,且此配置段中網關優先於全局配置中網關,也能夠更改option項直接定義到你配置的子網區域中…
共享網絡;對共享網絡下的全部網絡有效
ARP與RARP在OSI參考模型中都是位於網絡層。並且它的協議數據單元是封裝在以太網幀中傳送而且請求是以廣播形式發送。 簡單點就是:ARP是IP地址解析爲MAC地址,RARP是MAC地址解析爲IP地址 學名:ARP,即地址解析協議。RARP即反向地址轉換協議 先到這其它的再聊,預知詳情,請自行Google……