3.dhcpd.leases dhcpd.leases 是DHCP客戶租約的數據庫文件,默認目錄在/var/state/dhcp/,文件包含租約聲明,每次一個租約被獲取、更新或釋放,它的新值就被記錄到文件的的末尾。在DHCPd第一次安裝後,並不會生成這個文件。但DHCPd的運行需要這個文件,所以可以建立一個空的文件。 # toUCh /var/state/dhcp/dhcpd.leases DHCPd記錄這個文件的格式是 lease ip-address { statements... } 每個記錄包含一個提供給客戶的IP地址,在花括號裡的語句包含一些租約信息。具體的租約信息因客戶發出不同的DHCP請求而稍有差別。 4.運行DHCPd 要啟動DHCPd, 簡單地鍵入 /usr/sbin/dhcpd 或用ntsysv 把DHCPd服務自動啟動,也可以用 /etc/rc.d/init.d/dhcpd start, 這樣啟動後,DHCPd是啟動在eth0 上,如果DHCPd上的服務器還有另外一塊網卡eth1, 想在eth1上啟動 dhcpd,就鍵入 #/usr/sbin/dhcpd eth1 以上述例子的dhcpd.conf來啟動dhcpd,如果我們啟動一Windows95機器,Windows95的網絡配置的TCP/IP選項裡指定自動獲得IP地址,也就是啟用Windows95裡的DHCP客戶程序,這台95機器的主機名叫ONE,進入系統後,用winipcfg查看. 在Windows95機器獲得租約後,DHCPd會在dhcp.leases裡建一條記錄 lease 192.168.1.154 { starts 1 2000/05/15 13:36:42; ends 1 2000/05/15 21:36:42; hardware ethernet 00:00:21:4e:3f:58; uid 01:00:00:21:4e:3f:58; client-hostname "one"; } 要注意的是dhcpd.leases的時間記錄采用GMT時間,而不是本地時區的時間。 要查看本機的GMT時間可以用 date -u 5.進一步說明dhcpd.conf 5.1 dhcpd.conf 概述 前面說過,dhcpd.conf是個遞歸下降格式的配置文件,有點象C的源程序風格,由參數和聲明兩大類語句構 成,參數類語句主要告訴DHCPd網絡參數, 如租約的時間、網關、DNS等,而聲明語句則是描述網絡的拓撲, 用來表明網絡上的客戶、要提供給客戶的IP地址、提供一個參數組給一組聲明等。 描述網絡拓撲的聲明語句有 shared-network 和 subnet 聲明。.如果要給一個子網裡的客戶動態指定IP地 址,那麼在subnet聲明裡必須有一個 range 聲明,說明地址范圍。如果要給DHCP客戶靜態指定IP地址,那麼 每個這樣客戶都要有一個host 聲明。 對於每個要提供服務的與DHCP服務器連接的子網,都要有一個 subnet 聲明,即使這是個沒有IP地址要動態分配的子網。 一個典型的dhcpd.conf如下 #example #全局參數 shared-network 共享網絡名 { 共享網絡特定參數... subnet 204.254.239.0 netmask 255.255.255.224 { 子網特定參數... range 204.254.239.10 204.254.239.30; } subnet 204.254.239.32 netmask 255.255.255.224 { 子網特定參數... range 204.254.239.42 204.254.239.62; } } subnet 204.254.239.64 netmask 255.255.255.224 { 子網特定參數... range 204.254.239.74 204.254.239.94; } group { 組特定參數... host ws1.domain { 特定主機參數... } host ws2.domain { 特定主機參數... } host ws3.domain { 特定主機參數... } } 5.2 語句參考 因為DHCPd的語句很多,不可能一一列出,這裡給出最常用和最重要的語句。 聲明類語句 share-network 語句 shared-network name { [ 參數 ] [ 聲明 ] } share-network 用於告訴DHCP服務器某些IP子網其實是共享同一個物理網絡。任何一個在共享物理網絡裡的子網都必須聲明在 share-network 語句裡。當屬於其子網裡的客戶啟動時,將獲得在share-network語句裡指定參數,除非這些參數被subnet 或 host 裡的參數覆蓋。用share-network是一種權宜之計,例如某公司用B類網絡145.252,公司裡的部門 A 被劃在子網 145.252.1.0 裡, 子網掩碼為255.255.255.0,這裡子網號為8個bit,主機號也為8個bit,但如果部門 A 急速增長,超過了254個節點,而物理網絡還來不及增加,就要在原來這個物理網絡上跑兩個8bit掩碼的子網,而這兩個子網其實是在同一個物理網絡上, share-network 語句可以如下 shared-network share1 { subnet 145.252.1.0 netmask 255.255.255.0 { range 145.252.1.10 145.252.1.253; } subnet 145.252.2.0 netmask 255.255.255.0 { range 145.252.2.10 145.252.1.253; } 這裡的share1是個共享網絡名。 subnet 語句: subnet subnet-number netmask netmask { [ 參數 ] [ 聲明 ] } subnet 語句用於提供足夠的信息來闡明一個IP地址是否屬於該子網。也可以提供指定的子網參數和指明那些屬於該子網的IP地址可以動態分配給客戶,這些IP地址必須在 range 聲明裡指定。subnet-number 可以是個IP地址或能被解析到這個子網的子網號的域名。netmask 可以是個IP地址或能被解析到這個子網的掩碼的域名。 range 語句: range [ dynamic-bootp ] low-address [ high-address]; 對於任何一個有動態分配IP地址的subnet語句裡,至少要有一個 range 語句,用來指明要分配的IP地址的范圍。如果只指定一個要分配的IP地址,高地址部分可以省略。 host 語句: host hostname { [ 參數 ] [ 聲明 ] } host語句的作用是為特定的客戶機提供網絡信息。 group 語句 group { [ 參數 ] [ 聲明 ] } 組語句給一組聲明提供參數。 allow 和 deny 語句 allow和deny語句用來控制DHCPd對客戶的請求。 unknown-clients 關鍵字 allow unknown-clients; deny unknown-clients; allow unknown-clients 允許DHCPd可以動態分配IP給未知的客戶,而 deny unknown-clients 則不允許。 缺省是允許的。 bootp 關鍵字 allow bootp; deny bootp; 指明DHCPd是否響應bootp查詢,默認是允許的。 參數類語句 default-lease-time 語句 語法 default-lease-time time; 指定缺省租約時間,這裡的time是以秒為單位的。如果DHCP客戶在請求一個租約但沒有指定租約的失效時間,租約時間就是缺省租約時間。 max-lease-time 語句 語法 max-lease-time time; 最大的租約時間。如果DHCP在請求租約時間時有發出特定的租約失效時間的請求,則用最大租約時間。 hardware 語句 語法 hardware hardware-type hardware-address; 指明物理硬件接口類型和硬件地址。硬件地址由6個8位組構成,每個8位組以“:”隔開。如00:00:E8:1B:54:97 例如:hard server-name 語句 server-name "name"; 用於告訴客戶服務器的名字。 fixed-address 語句 fixed-address address [, address ... ]; fixed-address 語句用於指定一個或多個IP地址給一個DHCP客戶。只能出現在host聲明裡。 選項類語句 選項類語句以option 開頭,後面跟一個選項名,選項名後是選項數據,選項非常的多,這裡列出一些常用的 選項供參考 option routers ip-address[, ip-address]; 指明在客戶子網內的路由器的地址,可以有多個; option time-servers ip-address[, ip-address...]; 指明時間服務器的地址。 option domain-name-servers ip-address[, ip-address...]; 指明DNS的地址 option host-anme string; 給客戶指定主機名,string是個字符串。 option domain-name string; 指明域名 option interface-mtu mtu; 指明網絡界面的MTU,這裡mtu是個正整數 例 option interface-mtu 1500; option broadcast-address ip-address; 指定廣播地址 六、總結 以上就是DHCPd常用配置,實際應用DHCP還要考慮IP分配的一些策略問題,同時要保證網絡的健壯性,必須至少要有兩台DHCP服務器一起工作,如果一台出了故障,另一台可以繼續為