Redhat

dhcpd 如何處理靜態 IP 與 DHCP 保留

  • April 7, 2016

我們有一個用於 DHCP 的 RHEL 6.7 伺服器。當有人想要永久 IP 地址時,我需要澄清 dhcpd 如何處理網路定址。這是來自我們其中一台伺服器的範例配置。我的理解是有兩種方法可以得到它們。DHCP 保留和真正的靜態 IP 不在 DHCP 範圍內。

subnet 192.168.100.0 netmask 255.255.255.0 {
 option domain-name "domain.net";
 option broadcast-address 192.168.100.255;
 option routers 192.168.100.1;

 # Define the scopes for this DHCP pool

 pool {
  range 192.168.100.2 192.168.100.200;
  # static reserve = 192.168.100.201 - 192.168.100.254
 }
 host static-custid {
  hardware ethernet 00:01:02:03:04:05;
  fixed-address 192.168.100.150;
 }
 host static-custid {
  hardware ethernet 00:01:02:03:04:05;
  fixed address 192.168.100.201;
 }
}

如您所見,我們在 DHCP 範圍之外有一個靜態保留區,在內部有一個。我的理解是 dhcpd 只知道聲明池中的那個,因為客戶端將使用 DHCP 協議。但是對於我的生活,我無法讓任何人在這裡向我解釋為什麼我們要為未在池中定義的 IP 聲明靜態保留。dhcpd 是否有可能知道池外的靜態保留並在看到該 MAC 地址並且客戶端正在使用 DHCP 時給它 192.168.100.201?我不認為是這種情況,因為池外的所有這些靜態儲備都不在 dhcpd.leases 文件中。

靜態 IP 通常在池範圍之外,因為您不希望將靜態 IP 分配給其他主機。只要靜態 IP 在本地(或中繼)到 DCHP 伺服器的 IP 範圍內,就可以為它們提供服務。

租約文件記錄了池中的哪些地址已分配給主機以及該分配何時到期。這用於確保不會為多個主機分配相同的 IP 地址。活動租約的存在並不表示主機目前已連接到網路。由於靜態 IP 分配由其定義可知,它們不需要記錄在租用文件中。

如果租用時間過長並且客戶端頻繁更改,則可能會在目前僅連接少數主機的情況下用完地址。這在熱點或訪客網路中比在典型的辦公網路中更可能發生。

引用自:https://serverfault.com/questions/768655