Next Previous Contents

4. DHCP 伺服器設定

4.1 UNIX 上的 DHCP 伺服器

在各種 UNIX 相容的作業系統上,有許多商業或免費的 DHCP 伺服器程式可用。其中,較著 名的免費伺服器程式是 Paul Vixie/ISC 版的 DHCPd。目前,最新的版本是 1.0(建議大家 使用),而 2.0 版是在 beta 測試的階段。你可以到下面的網址取得

ftp://ftp.isc.org/isc/dhcp/

在你下載之後,你必須將它解開。然後進入解開的目錄,輸入:

./configure

要做好安裝前設定,可能要會花點時間。後隨輸入:

make

以及

make install

4.2 網路組態設定。

當完成安裝之後,請輸入 ifconfig -a,你將看到如下的訊息:


eth0      Link encap:10Mbps Ethernet  HWaddr 00:C0:4F:D3:C4:62
          inet addr:183.217.19.43  Bcast:183.217.19.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2875542 errors:0 dropped:0 overruns:0
          TX packets:218647 errors:0 dropped:0 overruns:0
          Interrupt:11 Base address:0x210

如果未顯示 MULTICAST 的訊息,你應該重新設定你的核心,加入對“多址傳播(multicast)” 的支援。對於大多數的系統而言,你幾乎都不必如此做。

下個步驟是,加入 255.255.255.255 的路由。以下的說明引述自 DHCPd 程式的“讀我檔案 (README)”:

“為了讓 dhcpd 能夠正確地服務過分挑剔的 DHCP 用戶端(例如,Windows 95),dhcpd 必須能夠送封包到 255.255.255.255 的 IP 位址上。不幸的是,Linux 會將 255.255.255.255 做為本地子網路的廣播位址(此處為 192.5.5.223)。這將違反 DHCP 通訊協定,然而許多 DHCP 用戶端並不受影響,有些(例如,所有Microsoft DHCP 用戶端)卻會。有此類問題的 用戶端,將會看不到來自伺服器的 DHCPOFFER 訊息。”

輸入:

route add -host 255.255.255.255 dev eth0

如果你看到如下的訊息

"255.255.255.255: Unknown host"

你應該將下面的資訊加入到 /etc/hosts 檔案中:

255.255.255.255 all-ones

然後,輸入:

route add -host all-ones dev eth0

route add -net 255.255.255.0 dev eth0

eth0 應該是你目前使用網路卡的裝置名稱。如果不是,你得配合實際情況做正確的修改。

4.3 DHCPd 的選項

現在,你必須設定 DHCPd。為此,您必須產生或編輯 /etc/dhcpd.conf。

通常你所要做的是,任意地指派 IP 位址。為此,你必須按照下面的方式來設定


default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.org";

subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.10 192.168.1.100;
   range 192.168.1.150 192.168.1.200;
}

設定的結果為,DHCP 伺服器會提供用戶端,使用範圍 192.168.1.10-192.168.1.100 或 192.168.1.150-192.168.1.200 的 IP 位址。如果,用戶端沒有特別約定 IP 位址的租用 時間,則釋出時間預定為 600 秒,要不然,最大(允許)的釋出時間為 7200 秒。同時 伺服器也會“通知”用戶端,要求它使用 255.255.255.0 做為子網路遮罩,192.168.1.255 做為廣播位址,192.168.1.254 做為路由/閘道器,並以 192.168.1.2 做為 DNS 伺服器。

你也可以依據用戶端的乙太網路位址,來指派特定的 IP 位址給用戶端,例如


host haagen {
   hardware ethernet 08:00:2b:4c:59:23;
   fixed-address 192.168.1.222;
}

這個設定將會指派 IP 位址 192.168.1.222 給乙太網路位址為 08:00:2b:4c:59:23 的 用戶端。

網路上 IP 位址的指定,可以採混合雙軌制,譬如,你可以讓某些電腦擁有“靜態”的 IP 位址(例如,伺服器),而讓其它的用戶端取得“動態”的IP 位址(例如,使用膝 上型電腦,機動的使用者)。還有其它的選項,譬如,說 wins 伺服器的位址、時間伺服 器等等,如果你需要進一步瞭解的話,可以請參閱 dhcpd.conf 的說明文件。

4.4 啟動伺服器

現在,你可以啟用 DHCP 伺服器了。只要輸入(或將下面的敘述加到開機設定檔中)

/usr/sbin/dhcpd

如果,你想要確定運作是否一切正常,你應該先開啟除錯模式,並把伺服器放到“幕前 (foreground)”來執行。為此,你可以輸入

/usr/sbin/dhcpd -d -f

然後,開啟你任何一個用戶端機器,並察看伺服器端“操作控制台(console)的螢幕”,你 將會看到一些除錯訊息被顯示出來。


Next Previous Contents