前幾天做個DHCP的服務器,需要啟用relay為不用的子網分配IP。在搜索了相關資料後,發現存在一些問題。現將自己的試驗過程整理。
環境為fedora 6,安裝了dhcp-3.0.5-5.fc6.i386.rpm.
IP 分配情況是這樣的:
帶有兩塊網卡的機器A,eth0: 192.168.10.1 eth1: 192.168.20.1,作DHCP中繼使用
一塊網卡的機器B,eth0: 192.168.20.254,gw:192.168.20.1 作DHCP服務器
兩台機器都安裝dhcp-3.0.5,在機器A上打開DHCP RELAY
dhcrelay -i eth0 -i eth1 192.168.20.254,具體的dhcrelay用法可以使用man dhcrelay查看。注意的一點,網上很多材料在這裡都有些問題,少了-i eth1,少了這個參數A就收不到B送來的response.
B作為DHCP SERVER 只需要配置eth0 IP:192.168.20.254和dhcp.conf.
連接情況當然是A eth1---B eth0,A eth0---筆記本做客戶端
配置完成的dhcpd.conf 如下:
1. ddns-update-style interim; 2. ignore client-updates; 3. 4. #shared-network mynet { 5. option subnet-mask 255.255.255.0; 6. option domain-name "vvv"; 7. option domain-name-servers 192.168.123.247 8. option broadcast-address 192.168.20.255; 9. default-lease-time 86400; 10. max-lease-time 172800; 11. 12. subnet 192.168.20.0 netmask 255.255.255.0 { 13. range 192.168.20.11 192.168.20.100; 14. option routers 192.168.20.1; 15. } 16. 17. subnet 192.168.10.0 netmask 255.255.255.0 { 18. range 192.168.10.10 192.168.10.100; 19. option routers 192.168.10.1; 20. } 21. 22. subnet 192.168.182.0 netmask 255.255.255.0 { 23. range 192.168.182.10 192.168.182.100; 24. option routers 192.168.182.1; 25. } 26. #}
這樣的配置筆記本應該得到192.168.10.* ,如果將A的eth0 改為 192.168.182.1的話, 筆記本應該得到192.168.182.*
實驗通過,可以再接多個子網,將相應的IP段添加到dhcpd.conf就可以了。
有點疑問,dhcpd.conf中的shared-network 到底是什麼意思啊,查了很多資料也沒查出來,只知道加上這個的話,在B上抓包顯示分配了192.168.20.*的地址,dhcrelay無法收到這個回應,最終DHCP請求失敗。