[FrontPage] [TitleIndex] [WordIndex

This is a read-only archived version of wiki.centos.org

透過 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 的使用說明。你也許可以考慮採用 grouppool 這兩個指令。類似的技巧亦適用於其它提供 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


2023-09-11 07:23