大多數的情況下 Linux 作為 DHCP 服務器而 windows 95/98 作為 DHCP 客戶。Linux 也可以作為 DHCP 客戶,即你要安裝 dhcpcd rpm 軟件包 ,Linux 作為 DHCP 服務器,只需要安裝 dhcpd rpm 包。 一.DHCP 服務器工作的前提條件: 為了使 DHCP 服務器為 windows 機器服務,你可能需要創建一個到地址 255.255.255.255 的路由,加這條路由命令到 /etc/rc.d/rc.local 使得每次啟動後自動運行。 #route add -host 255.255.255.255 dev eth0 如果報告錯誤消息:255.255.255.255:Unkown host 試著加下面的入口到 /etc/hosts 文件: #route add -host dhcp dev eth0 。 二.DHCPd 後台程序總是讀取配置文件 /etc/dhcpd.conf, 下面給出一個 DHCP 配置文件的例子: #Sample /etc/dhcpd.conf default-lease-time 1200; max-lease-time 9200; 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-100 或者 192.168.1.150-200,如果客戶不繼續請求 DHCP 地址則 1200 秒後釋放 IP 地址,否則最大允許租用的時間為 9200 秒。 服務器發送下面的參數給 DHCP 客戶機:用 255.255.255.0 作為子網掩碼,用 192.168.1.255 作為廣播地址,用 192.168.1.254 作為默認網關,用 192.168.1.1 and 192.168.1.2 作為 DNS 服務器如果你要為 windows 客戶指定一個 WINS 服務器,你需要包括下面的選項到 dhcpd.conf 文件中:option netbios-name-servers 192.168.1.1。 三.你也能為某塊網卡指定固定的 IP 地址,無論何時,這塊網卡將總是從 DHCP 服務器獲得固定的IP地址,加下面的語句到 /etc/dhcpd.conf: host haagen { hardware ethernet 08:00:2b:4c:59:23; fixed-address 192.168.1.222; } 也可連寫為一行: host Jephe {hardware ethernet 00:a0:c9:a6:96:33;fixed-address 192.168.1.12;} 你也可為某台機器指定不同的網關地址,名服務器等: host Jephe {hardware ethernet 00:a0:c9:a6:96:33;fixed-address 192.168.1.12;option routers 192.168.11.5;} 四. 大多數情況下,DHCP 的安裝不創建一個 dhcpd.leases 文件,在你啟動 DHCP 服務器之前,你必須創建空文件 dhcpd.leases: #toUCh /var/state/dhcp/dhcpd.leases 為啟動 DHCP 服務器,簡單地打入 /usr/sbin/dhcpd 或者用 #ntsysv 把 DHCP 服務自動啟動,這將啟動 dhcpd 在 eth0 設備上;如果你想在 eth1 設備上啟動 dhcpd,則 #/usr/sbin/dhcpd eth1;如果為了調試 DHCP,則用 #/usr/sbin/dhcpd -d -f。 五.兩塊網卡的情況: 有時你需要在一台安裝了兩塊網卡(作防火牆或網關)的機器上安裝 DHCP 服務,下面的例子指出一台防火牆機器上的一種 DHCP 設置,因為對外的網卡(internet)不需要提供 DHCP 服務。 因此這樣設置如下: subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.2 192.168.1.4; default-lease-time 86400; max-lease-time 259200; 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.254; } subnet 202.102.34.102 netmask 255.255.255.255 { } 六. FAQ a. 為 MAC 機器固定 IP 地址? 當設置 MAC 機用 DHCP 功能獲得 IP 地址後,如不知得到何地址,可在 MAC 機上發送一郵件出去,收信者可通過 mail header 檢查發送者 IP 地址,而後 ping 該 IP 地址再利用 arp 命令檢查 arp 緩存中的該 IP 地址的對應物理地址。 b. 若 LAN 上有 windows 機器裝上了某 DHCP 功能的軟件,如 sygate, wingate 之類,則可能其他 windows 客戶會優先去尋找 windows DHCP 服務器,而不是 Linux DHCP 服務器。