一、DHCP的功能
首先﹐必須有一台DHCP工作在網絡上面﹐它會監聽網絡的DHCP請求﹐它提供兩種IP租約方式﹕
Automatic Allocation
自動分配﹐其情形是﹕一旦DHCP客戶端第一次成功的從DHCP服務器端租用到IP地址之後﹐就永遠使用這個地址。
Dynamic Allocation
動態分配﹐當DHCP第一次從HDCP服務器端租用到IP地址之後﹐並非永久的使用該地址﹐只要租約到期﹐客戶端就得釋放(release)這個IP地址﹐以給其它工作站使用。當然﹐客戶端也可以延續(renew)租約﹐或是租用其它的IP地址。
DHCP除了能動態的設定IP地址之外﹐還可以將一些IP保留下來給一些特殊用途的機器使用﹐也可以按照MAC地址來分配固定的IP地址﹐這樣可以給您更大的設計空間。同時﹐DHCP還可以幫客戶端指定網絡﹑網關﹑router﹑Net Mask﹑DNS服務器﹑WINS服務器﹑等等項目﹐您在客戶端上面﹐除了將DHCP選項打勾之外﹐幾乎無需做任何的IP環境設定。
二、DHCP 套件結構
在 DHCP 的套件結構當中,也是僅有一個配置文件。
/etc/dhcp/dhcpd.conf:這個就是 dhcp 的主要的配置文件!這個文件不見得會存在,請手動來建立!另外,其實每個 dhcp 套件在安裝的時候,都會附上一個范例檔案,您可以使用 rpm -ql grep dhcp 來查詢到 dhcpd.conf.sample 這個文件!然後將該檔案復制成為 /etc/dhcpd.conf 後,在手動去修改/etc/dhcpd.conf 即可,這樣設定比較容易咯!
/usr/sbin/dhcpd:這個就是 DHCP 的 daemon 執行文件啰!
/var/lib/dhcp/dhcpd.leases:租約的啟始與到期日就是記錄在這個文件中的.
要做的事情只是修改一個檔案﹕/etc/dhcp/dhcpd.conf
和其它 Linux 設定檔一樣(如 lilo.conf﹑smb.conf 等)﹐一開始是關於 global 的設定﹐其後再分開不同的 section 來設定。有些設定可以同時在 global 和 section﹐但有些則只能用於 global 或 section 裡面﹐如果有沖突﹐在 section 裡面則以 section 為准﹔如果 section 裡面沒設﹐則以 global 的設定為准。而 section 裡面﹐或許還包括其它 sub-section﹐諸如此類。
#this file for dhcpd configuration
#by yahoon 20070619
#global settins
default-lease-time 259200;
max-lease-time 777600;
ddns-update-style interim; //Redhat下沒有這句,dhcp服務無法啟動
#section settings
subnet 192.168.0.0 netmask255.255.255.0{ //定義網絡地址192.168.0.0,子網掩碼為24位:255.255.255.0
range 192.168.0.30 192.168.0.50; //分配的范圍從0.30到0.50
option broadcast-address 192.168.0.255; //廣播地址,注意是根據上面的網絡地址,子網掩碼計算出來的
option routers 192.168.0.1; //設定網關
option domain-name-servers 192.168.0.111,202.103.24.68; //DNS,這個0.111是我昨天配的內網DNS,202.103.24.68是外網的.
}
host yahoon{ //對單個主機做MAC和IP的綁定,即這個MAC分配一個固定的IP,yahoon是待分配客戶端的主機名,不重要,會以客戶端真實的名稱為主
hardware ethernet 00:0B:6A:DF:1E:F4; //主機yahoon的MAC
fixed-address 192.168.0.28; //為其固定分配的IP
option broadcast-address 192.168.0.255; //以下意義的與上面相同
option routers 192.168.0.1;
option domain-name-servers 192.168.0.111;
}
三、啟動 DHCP 服務﹕
/etc/rc.d/init.d/dhcpd start
(如果 dhcpd 之前已經跑起來了﹐用 restart代替 start)
查看端口
[root@test root]# netstat -utl 會有
udp 0 0 *:bootps *:*
[root@test dhcp]# netstat -utln 會有
udp 0 0 0.0.0.0:67 0.0.0.0:*
查看日志
tail /var/log/messages
四、測試
在客戶端上改為自動獲得IP/DNS,測試效果.特別的yahoon這台機的信息要是
Physical Address. . . . . . . . . :00-0B-6A-DF-1E-F4
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . :192.168.0.28
Subnet Mask . . . . . . . . . . . :255.255.255.0
Default Gateway . . . . . . . . . :192.168.0.1
DNS Servers . . . . . . . . . . . :192.168.0.111
設置完成.