dhcp服務備忘錄

早期的動態地址分配協議未bootp,地址一旦發放給客戶機,就與客戶機MAC永久綁定。這是爲了適應早期硬件資源有限,衆多客戶機上無硬盤,硬盤和操做系統均位於服務器上,服務器上經過把ip和硬盤OS一一對應分配給客戶機來完成工做的場景。bash

後來硬盤等硬件愈來愈便宜,客戶機上也能夠有本身的硬盤,不用放到服務器上集中管理,服務器只須要作分配地址的事就能夠了。這時的ip地址反而成爲了緊俏資源,把ip地址都與客戶機永久綁定太浪費。因而在新的協議DHCP中就加入了租約的概念,即客戶機能夠動態獲取ip地址,可是有使用期限的,超過了使用期限,分配出去的ip地址就會被服務器回收到地址池,而後又能夠從新租給其餘人。服務器

1.安裝軟件dom

dhcp-common.i686 這是dhcp的客戶端包,通常會隨系統一併安裝
dhcp.i686        這是dhcp的服務端包,要手動安裝
dhcp-devel.i686  這是dhcp的開發包,能夠不用安裝

安裝服務包後會生成一些文件,其中有幾個比較重要操作系統

/etc/dhcp/dhcpd.conf    主配置文件,但默認裏面只有註釋信息,沒有實質內容
/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  配置文件樣例
/var/lib/dhcpd/dhcpd.leases  保存了租約信息

/etc/rc.d/init.d/dhcpd  服務腳本
/etc/sysconfig/dhcpd    服務腳本的配置文件

2.主配置文件日誌

option domain-name "abc.com";	#定義搜索域
option domain-name-servers 172.16.0.1,8.8.8.8;	#全局域名服務器,這裏指定的信息會自動寫入到客戶機的/etc/resolv.conf中

default-lease-time 600;#租約默認期限
max-lease-time 7200;   #租約最長期限

log-facility local7; #local7在/etc/rsyslog.conf中定義,表示記錄日誌文件位置

subnet 172.16.0.0 netmask 255.255.255.0 {#地址池定義,只要同時有網段/掩碼/地址池就能夠正常使用了
	range 172.16.0.10 172.16.0.20;		#地址池
	range dynamic-bootp 172.16.0.10 172.16.0.20;#專爲bootp提供的地址池,能夠沒有
	option broadcast-address 172.16.0.255;	#爲客戶機指廣播地址
	option routers 172.16.0.1;		#爲客戶機指定默認網關地址,網關必須能跟本地主機直接通訊,因此這個地址必須與地址池在同一個網段,不然不會應用到客戶機上
}

host hahaha {#網卡綁定,名稱能夠隨意指定。這一堆均可以沒有
	hardware ethernet 08:00:07:26:c0:95;  #須要綁定ip的客戶機MAC地址
	fixed-address 172.16.0.100;           #與上一行MAC地址綁定的ip地址
	filename "";                          #在自動安裝系統時,用於指定kickstart文件存放位置,能夠不要
}

3.啓動服務code

dhcp服務端默認監聽在udp的67號端口,客戶端程序則默認監聽在udp的68號端口。router

啓動服務前必須爲服務所在主機指定一個靜態ip。並且服務主配置文件中,必須指定一個與本身ip同網段的地址池,不然服務會拒絕啓動。server

169.254.0.0/16網段是在客戶端獲取動態地址失敗後,客戶機本身指定默認使用的網段,後面兩位隨機肯定。ip

只要從新啓動客戶機的network服務就能夠自動從新從服務端請求ip。ci

在客戶機上中止network服務後,能夠用dhclient命令來手動獲取地址(它就是客戶端程序,默認監聽在udp/68端口上)

dhclient eth0
相關文章
相關標籤/搜索