dhcpd如何处理静态IP与DHCP保留

我们有一个用于DHCP的RHEL 6.7服务器。 我需要澄清dhcpd如何处理networking寻址当有人想要一个永久的IP地址。 这里是一个来自我们的服务器的示例configuration。 我的理解是有两种方法来获得它们。 一个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范围内,就可以对其进行服务。

租约文件logging了池中哪些地址已分配给主机,以及该分配何时到期。 这用于确保多个主机不分配相同的IP地址。 活动租约的存在并不表示主机当前连接到networking。 由于静态IP分配由其定义知道,因此不需要logging在租约文件中。

如果租约时间过长,客户端频繁更换,则只能使用less量的主机,而当前连接的主机数量可能会用尽。 与典型的办公networking相比,这在热点或访客networking中更有可能。

有些DHCP服务器软件在预订时操作不同:

  • 有些要求所有保留的地址都在dynamic范围之外,但在子网内。
  • 有些要求所有保留的地址都在dynamic范围内,然后在dynamic分配其他主机时知道不使用这些地址。
  • 有些允许保留的地址在dynamic范围之内或之外。

阅读最常见的Linux DHCPd的手册页 ,似乎允许通过使用池选项组合来实现上述任何策略:

  • 允许已知客户;
  • 否认已知客户;
  • 允许未知客户;
  • 否认未知客户;

已知客户机的定义是在conf文件的某个地方有一个主机条目。 所以如果你不“让知名客户” 在池中,您不能在池使用的范围内分配固定地址。

当然,对于保留的固定地址,dynamic地址和静态分配的IP都要相互通信,它们或者需要位于同一局域网内的相同子网中,或者在其子网之间具有所需的路由。

您可以同时执行这两项操作,在DHCPd中预留IP并在实际主机上设置静态IP。 这仅仅意味着DHCP服务器永远不会被询问使用哪个IP,主机只是使用它。 这样做可以帮助自我logging使用IP地址,因为它可以为所有设备的IP提供相当集中的存储区域。 虽然像任何文件技术,它需要维护或无用。 您可以使用DNS服务器,而不是loggingDHCPd服务器中的主机IP,也可以使用单独的文档。