透過 DHCP 利用 MAC 位址模擬固定 IP 位址
在很多採用 DHCP 的網絡裡,能夠為 DHCP 客戶端提供預訂的 IP 位址及主機名稱是個可取的做法。要達至這個目的,你可以讓 DHCP 伺服器按客戶端的 MAC 位址派發 IP 位址及主機名稱。這個方法會視乎所用的 DHCP 伺服器而異,但針對很多內置 DHCP 及 DNS 的家用路由器而言,你可以利用路由器的網頁介面。
1. 內置 DHCP 及 DNS 的家用路由器
你可以透過檢視客戶端上的通訊閘來找出路由器的位址。
# /sbin/route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
在這個範例中,路由器位於 192.168.1.1,因此它的網頁介面一般可通過 http://192.168.1.1/ 來存取。它的使用介面普遍會提供一個連結來顯示現有連線,而當中多數包括每個客戶端的主機名稱、IP 位址及 MAC 位址。有了這些資料,你便可以前往利用 MAC 位址保留及派發 IP 位址的頁面。詳情請查詢你的路由器的文檔或線上說明。
2. Linux DHCP 伺服器
同一果效亦可通過修改一台 Linux 主機上的 DHCP 伺服器而達成。就 CentOS 的 dhcp 套件而言,你可以在 dhcpd.leases 裡找出類似上述例子的資訊,繼而在 dhcpd.conf 內建立一個分段來定義每台主機(在 CentOS 套件內,這兩個檔案分別是 /var/lib/dhcpd/dhcpd.leases 及 /etc/dhcpd.conf)。詳情請參閱 dhcpd 及 dhcpd.conf 的使用說明。你也許可以考慮採用 group 及 pool 這兩個指令。類似的技巧亦適用於其它提供 DHCP 伺服器的軟件。
dhcpd.leases
lease 192.168.0.249 { starts 3 2010/11/10 21:46:35; ends 4 2010/11/11 03:46:35; tstp 4 2010/11/11 03:46:35; binding state free; hardware ethernet 00:01:08:00:ad:33; }
dhcpd.conf
host myhost { hardware ethernet 00:01:08:00:ad:33; fixed-address 192.168.0.249; option host-name "myhost"; }
這頁的英文版由 PhilSchaffner 建立及維護。歡迎其他 Wiki 貢獻者作出更正、添加或修改。
Translation of revision 4