關於FreeBSD系統的安裝,我們已在前面的文章有所介紹。本文主要介紹基於FreeBSD系統的DHCP服務的配置及使用。
一、 簡要認識DHCP DHCP是Dynamic Host Configuration Protocol(動態主機配置協議)的簡稱。它主要用於對多個客戶計算機集中分配IP地址以及IP地址相關的信息,常用在網絡中對眾多DOS/Windows計算機的管理方面,節省了網絡管理員手工設置和分配地址的麻煩。 任何事物有利也有弊,DHCP同樣存在缺點。例如一台DHCP客戶計算機沒有一個固定的IP地址,而對於提供網絡服務的服務器來講,經常變化的IP地址並不適合。並且當前的DNS協議並不能和DHCP協作,為DHCP客戶直接提供主機名解析任務。
二、 配置過程 在FreeBSD的Packages Collection中,有兩個不同的DHCP客戶機和服務器軟件,一個為ISC-DHCP,另一個為WIDE-DHCP,兩個軟件都包括了DHCP客戶軟件和服務器軟件,其中ISC-DHCP 更為常用一些,以下就以ISC-DHCP為例介紹在FreeBSD上安裝和設置DHCP。 同時,要使FreeBSD系統支持DHCP,還得確認系統內核是否支持偽設備bpfilter,它是一個允許應用程序接收網絡的原始數據包的界面,這樣應用程序就能接收目的地址非本機IP地址的數據包了。 那麼DHCP為什麼要bpfilter支持呢?因為在DHCP設置好計算機的TCP/IP之前,由於計算機本身沒有定義IP地址,而TCP/IP堆棧本身不會接收不具備本機IP地址的數據包。要接收DHCP服務器發送回客戶的數據包,就需要繞過TCP/IP堆棧,而必須使用偽設備bpfilter。 第一步:定制bpfilter內核。 第二步:保證/dev/目錄下具有對應bpfilter的設備文件。 第三步:從Packages Collecion包中將DHCP所需文件dhcpd、dhclient、和dhcprelay 安裝到/usr/local/sbin目錄下。 第四步:按下圖設置其配置文件/etc/dhcpd.conf。 解釋: “server-identifier 192.168.3.1”為本機服務器IP地址。一般不必設置這個參數,dhcpd能自動偵測。 “Subnet”字段項設定了一個子網段。即可供DHCP服務器分配的I P地址范圍為192.168.3.10到192.168.3.20,這個地址范圍也可以不是連續的,不連續的地址可以使用多個range設置參數來設置。此外,還設置了這一組內分配的IP地址的租期限制default-lease-time 和max-lease-time,使用其缺省值600和7200即可。後面的option參數設置是DHCP的附加功能,例如本例中設置DHCP客戶的子網掩碼為255.255.255.0、廣播地址為192.168.3.1、DNS服務器地址為192.168.3.1、域名為exampleorg.org.cn。 “host a1” 字段項針對某個特定主機a1進行的設置。這個主機被綁定為所使用網卡的MAC地址的計算機,將給其分配一個固定地址。這種分配方式實際等價於固定地址分配方式,唯一的好處就是能夠對IP地址進行集中管理,不必每個計算機分別設置了。這裡同樣也可以使用option參數,設置上一字段所述的子網掩碼等參數。 第五步:當配置了dhcpd.conf文件後,就能啟動dhcpd守護進程了。由於計算機會有多個網絡界面,故需要指定dhcpd 服務器的網絡界面,以便回應相應界面上的DHCP請求。 第六步:此後,dhcpd正常運行的時候,會將每一次客戶請求及其回應的IP地址分配的記錄,都記錄在/var/run/dhcpd.leases 文件中。為了使dhcpd能正常進行日志記錄,還應該在啟動dhcpd之前使用toUCh 命令,生成一個新的日志文件。以便日後查看這個日志文件的內容,得到當前DHCP服務器的狀態和客戶機IP地址分配的情況。日志文件示例:
後記: 經過以上配置後,就能設置網絡中的客戶機使用FreeBSD系統的DHCP協議來獲取合法的IP地址了。通常Windows計算機的TCP/IP設置中能直接設置支持DHCP協議,而如果客戶機系統為Linux等(包括FreeBSD)時,就需要dhclient的支持,本文就不一一詳述了。有興趣的朋友請參閱客戶機為Linux等系統的DHCP配置的相關資料進行。