我最近在专用服务器上安装了 Gentoo。我有 6 个 IP,在删除 CentOS 安装之前我忘记写下一个配置。
我应该有
eth0 = ip1
eth0:0 = ip2
eth0:1 = ip3
eth0:2 = ip4
eth0:3 = ip5
eth0:4 = ip6
还是应该让 eth0:0 共享主 IP?
eth0 = ip1
eth0:0 = ip1
eth0:1 = ip2
eth0:2 = ip3
eth0:3 = ip4
eth0:4 = ip5
eth0:5 = ip6
您不需要接口别名来为同一服务器拥有多个 IP 地址。如果您正在处理单独的子网并且需要在地址之间进行路由,则应该主要使用接口别名,但情况似乎并非如此。
对于 Linux(从 2.2 或 2.4 开始,我不记得了),一个接口可能有很多地址。这是设置它的首选方式。多个别名设置存在问题,例如,如果多个别名位于同一子网上,则不清楚应如何处理广播消息。
我不知道你是如何在 Gentoo 配置中设置的,但是使用标准
ip
接口,很简单:注 1:广播将仅由第一个地址接收。如果您的地址位于不同的子网上,您可能还想在其他 IP 上设置广播。
注意 2:
ifconfig
可能不会显示其他地址,反正它已经过时了。用于ip addr show
检查分配给每个网络接口的地址。无论如何,回答你的问题:不。每个别名都被视为系统的不同接口。因此 eth0 将是一个接口,具有一个地址,eth0:0 将是另一个接口,具有另一个地址,依此类推。
每个条目都应该是唯一的。
我同意朱利亚诺的观点。在 Gentoo 中,您可以使用 /etc/conf.d/net 进行配置,然后使用多个空格分隔的 ip 设置 config_eth0。该行应如下所示: config_eth0=( "192.168.0.1/24" "192.168.0.2/24" "192.168.0.3/24" )
每个都必须是唯一的。冒号后面的数字是任意的,数字不必是连续的。事实上,它们甚至根本不必是数字。从
Documentation/networking/alias.txt
Linux 源代码中: