我有一个在 10.04 上运行的本地 DHCP 服务器,希望有一些主机条目,以便机器可以只使用 DHCP,但允许我通过 IPTABLES 将流量路由到它们。其中一个是 Windows 2008 服务器,如果我使用静态 IP,它允许我将多个 IP 分配给一个卡。如果它使用 DHCP,有没有办法做到这一点?
看着http://linux.die.net/man/5/dhcpd.conf我认为不是,至少我的尝试没有成功。据我所知,以下操作只会选择最佳 IP 并将其分配给它,而不是所有 IP:
host mymachine {
hardware ethernet 00:00:00:00:00:00;
fixed address 192.168.10.96, 192.168.10.97;
}
编辑
我读过的所有内容都表明这是不可能的。希望有人能证明我错了,或者展示另一种处理方式,以便所有 IP 都在一个中心位置处理,并且机器可以有多个 IP(开发和 Web 服务器)。
答案1
您是否真的需要为设备提供多个 IP,以便使用 iptables 将流量路由到它们?对于 Web 服务器,使用单个 IP 和不同的端口可能更容易,或者只需使用 Apache 中的虚拟主机即可。
在我看来,使用 DHCP 为一个接口分配多个 IP 似乎是不可能的。至少 dhcpd.conf 手册没有提到这一点:
固定地址声明用于为客户端分配一个或多个固定 IP 地址。它只能出现在主机声明中。如果提供了多个地址,则在客户端启动时,将为其分配与其正在启动的网络相对应的地址。如果固定地址声明中的任何地址对于客户端所连接的网络均无效,则该客户端将与包含该固定地址声明的主机声明不匹配。固定地址声明中的每个地址都应该是 IP 地址或可解析为一个或多个 IP 地址的域名。
这意味着你能放置多个地址,但它们需要位于不同的子网中(也根据 dhcpd 中的子网配置)。FWIW,我不记得看到过支持为接口提供多个 IP 的 DHCP 客户端……即使 NetworkManager 等其他应用程序支持它。