大家知道,DHCP(動態主機配置協議)可以使客戶端自動從服務器得到一個IP地址。如何配置DHCP服務器,在windows 2000 Server中很容易實現。那在Linux中能否實現呢?答案是肯定的,大家知道Linux是非常好的網絡操作系統,使用它可以很輕松的搭建一台高性能的DHCP服務器。本文就使用紅旗Linux Server 2.0搭建DHCP的過程講述一下。 首先,我們來看DHCP工作的過程,看一下客戶端是通過哪些手段得到IP地址的。當DHCP啟動時,TCP/IP初始化並且由客戶端發送一個DHCP DISCOVER的報文向DHCP服務器申請一個IP。DHCP服務器收到DHCP DISCOVER後,它將從客戶端主機的地址池中為它提供一個尚未被分配的IP地址。該報文信息被返回到上述主機。客戶端隨後發出一個包含有DHCP服務器提供IP地址的DHCP REQUEST的報文。DHCP服務器向客戶端發回一個含有原先被發出IP地址及其分配方案的應答報文。DHCP服務器提供給客戶端的IP地址是有時間限制的,DHCP客戶端要想繼續使用這個IP地址,必須在租期到來時對它進行更新和續借。 下面就我如何配置DHCP服務器的過程敘述一下: DHCP服務是通過程序/usr/sbin/dhcpd提供的。在DHCP服務器啟動時,dhcpd要讀取dhcpd.conf文件的內容(dhcpd.conf保存的是DHCP服務器的配置信息)。dhcpd將客戶端租用的信息保存在dhcpd.lease文件中。在DHCP服務器為客戶提供IP地址之前,將在這個文件中記錄租用的信息。新的租用信息會添加到dhcpd.leases的尾部。為了向一個子網提供DHCP服務,dhcpd需要知道子網的網絡號碼和子網掩碼。還有地址范圍等等。 下面就我的DHCP服務器配置文件內容敘述一下。 文件名: /etc/dhcpd.conf 內容: subnet 192.168.0.0 netmask 255.255.255.0{ range 192.168.0.10 192.168.0.30; default-lease-time 86400; max-lease-time 604800; option subnet-mask 255.255.255.0; option routers 192.168.0.2; option domain-name "cy.com"; option broadcast-address 192.168.0.255; option domain-name-servers 192.168.0.3; } 其中subnet x.x.x.x netmask x.x.x.x 說明IP地址是否屬於該子網上,提供子網的一些參數;range x.x.x.x x.x.x.x 是DHCP服務器可以分配的IP地址范圍; default-lease-time 設置缺省的IP租用時間,常用的是86400秒(一天);max-lease-time 最大租用時間。常用的是604800(一周);option subnet-mask 設置IP地址的子網掩碼;option routers 設置在DHCP發布IP地址的同時,把網關發布出去,這一項是用來指明網關的;option domain-name-servers 設置在DHCP發布IP地址的同時,把DNS發布出去,這一項用來指明DNS服務器的IP地址;option broadcast-address 設置該子網的廣播地址;option doamin-name 設置DNS域名。 dhcpd還可以把主機的MAC地址和IP捆綁在一起,防止IP地址的亂用。具體方法是,在/etc/dhcpd.conf中輸入: host pc1{ hardware ethernet xx.xx.xx.xx.xx.xx fixed-address 192.168.0.9; } host pc1中的pc1是指定主機的名字;hardware ethernet 指定要捆綁IP地址主機的MAC地址;fixed-address 指定捆綁後的IP地址。 現在配置文件已經有了,但還是不能啟動dhcpd,為什麼呢?因為我們還沒有創建關於dhcpd的租用文件。 現在我們創建dhcpd.leases文件: #tooUCh /var/state/dhcp/dhcpd.leases 然後就可以啟動dhcpd了: #/etc/rc.d/init.d/dhcpd start 如果希望在每次啟動系統的時候也啟動dhcpd,請執行命令: #/sbin/chkconfig --level 3 dhcpd on chkconfig 命令是檢查、設置系統的各種服務。參數 —level 指定該系統服務要在哪一個執行等級中開啟或關閉,范圍是0-7。然後,在Linux客戶端的設置netconf在網絡設置中把IP地址的獲得設置為DHCP。 這樣,我們DHCP服務器的配置就完成了。