Linux下DHCP服務安裝配置
- 簡介
-
安裝配置
簡介
DHCP (Dynamic Host Configuration Protocol,動態主機管理協議)是一種基於UDP協議且僅限用於局域網的網絡協議,主要用途是為局域網內部設備或網絡供應商自動分配IP地址,通常會應用在大型的局域網環境中或局域網內存在比較多的移動辦公設備,DHCP協議能夠實現集中的管理、分配IP地址。
DHCP服務程序能夠使局域網內的主機自動且動態的獲取IP地址、子網掩碼、網關地址以及DNS服務器地址等信息,且能夠有效的提升地址使用率,提高配置效率,減少管理和維護成本。
工作原理
-
DHCP Client以廣播的方式發出DHCP Discover報文。
- DHCP Server都會給出響應,向DHCP Client發送一個DHCP Offer報文。DHCP Server在發出此報文後會存在一個已分配IP地址的紀錄。
- DHCP Client處理最先收到的DHCP Offer報文。DHCP Client會發出一個廣播的DHCP Request報文,在選項字段中會加入選中的DHCP Server的IP地址和需要的IP地址。
-
DHCP Server收到DHCP Request報文後,判斷選項字段中的IP地址是否與自己的地址相同。如果不相同,DHCP Server不做任何處理只清除相應IP地址分配記錄;如果相同,DHCP Server就會向DHCP Client響應一個DHCP ACK報文,並在選項字段中增加IP地址的使用租期信息。
- DHCP Client接收到DHCP ACK報文後,檢查DHCP Server分配的IP地址是否能夠使用。如果可以使用,則DHCP Client成功獲得IP地址並根據IP地址使用租期自動啟動續延過程;如果DHCP Client發現分配的IP地址已經被使用,則DHCP Client向DHCPServer發出DHCP Decline報文,通知DHCP Server禁用這個IP地址,然後DHCP Client開始新的地址申請過程。
-
DHCP Client在成功獲取IP地址後,隨時可以通過發送DHCP Release報文釋放自己的IP地址,DHCP Server收到DHCP Release報文後,會回收相應的IP地址並重新分配。
Client--> DHCP DISCOVER
DHCP OFFER <-- Server
Client--> DCHP REQUEST
DCHP ACK <-- Server
Client—獲取正確的ip地址信息
Client--> DCHP RELEASE(租約到期釋放申請的ip)
租約:即DHCP客戶機能夠使用動態分配到的IP地址的時間。
安裝配置
-
安裝
# yum install dhcp
-
配置
在/etc/dhcp/dhcpd.conf 下默認只有註釋語句,需要參考下模板文件
#mv /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf (此處我的dhcp版本為4.2.5,不同版本都有不同)
標準的DHCP配置文件包括全局配置參數、子網網段聲明、地址配置選項以及地址配置參數:
host 配置具體mac地址主機的專用地址
全局配置參數用於定義整個配置文件的全局參數,而子網網段聲明用於配置整個子網段的地址屬性,具體參數有:
參數 |
作用 |
ddns-update-style 類型 |
定義DNS服務動態更新的類型,類型包括: |
allow/ignore client-updates |
允許/忽略客戶機更新DNS記錄。 |
default-lease-time 21600 |
默認超時時間。 |
max-lease-time 43200 |
最大超時時間。 |
option domain-name-servers 8.8.8.8 |
定義DNS服務器地址。 |
option domain-name "domain.org" |
定義DNS域名。 |
range |
定義用於分配的IP地址池。 |
option subnet-mask |
定義客戶機的子網掩碼。 |
option routers |
定義客戶機的網關地址。 |
broadcase-address 廣播地址 |
定義客戶機的廣播地址。 |
ntp-server IP地址 |
定義客戶機的網絡時間服務器(NTP)。 |
nis-servers IP地址 |
定義客戶機的NIS域服務器的地址。 |
hardware 硬件類型 MAC地址 |
指定網卡接口的類型與MAC地址。 |
server-name 主機名 |
通知DHCP客戶機服務器的主機名。 |
fixed-address IP地址 |
將某個固定IP地址分配給指定主機。 |
time-offset 偏移差 |
指定客戶機與格林尼治時間的偏移差。 |
-
對配置文件按要求進行修改,我這裏先實驗host配置(host 配置具體mac地址主機的專用地址)修改如下:
把客戶端的mac地址填進去,另外把客戶端的獲取ip地址方式改為dhcp。
-
重啟服務端dhcpd,並重啟客戶端network,查看客戶端的ip:
可以看到客戶端獲取成功。
-
再來實驗子網網段聲明的配置(配置參數如上步驟3)。此處調整虛擬機設置如下:
客戶端與服務端都要設置相同的(此選項為虛擬機特有虛擬網絡,設置後都會在同一局域網中,減少沖突)。
-
重啟服務端dhcpd,客戶端network,可以看到客戶端ip地址如下:
此處可以看到獲取成功。
在服務端上查看/var/lib/dhcpd/dhcpd.leases~文件可知租用時間等信息:
一般DHCP中繼功能在日常工作使用較少,或由路由器負責中繼功能,極少用Linux系統搭建,此處就不多講。
Linux下DHCP服務安裝配置