使用“ip”命令在 CentOS/RHEL 6 中重新启动后保留 IP 地址别名

prl*_*l77 13 linux ip-aliasing centos6 rhel6

我一直使用 ifcfg-eth0:1 别名文件来创建其他地址。但是,在最近的 rhel 文档中,它指出:

由于 iproute 包的 ip 命令现在支持为同一个接口分配多个地址,因此不再需要使用这种将多个地址绑定到同一个接口的方法。

此外,该站点上的许多答案和评论都提到不推荐使用 ifconfig 并且应该使用“ip”来代替。我可以将它用于实时更改,但是如何在不使用别名文件的情况下在重新启动后保留更改?

Mic*_*ton 21

将它们放入/etc/sysconfig/network-scripts/ifcfg-eth0, 后加上 a23等,例如:

IPADDR2=192.0.2.48
NETMASK2=255.255.255.0
IPADDR3=192.0.2.49
NETMASK3=255.255.255.0
Run Code Online (Sandbox Code Playgroud)

不幸的是,这似乎没有记录(或者我现在找不到它;看起来 Red Hat 又重新安排了他们的网站)。

  • 如果您在 NetworkManager 之外对这些文件进行更改,它们将不会持久。(除非你停止 NetworkManager 并 chkconfig 关闭它。)NetworkManager 喜欢用它*认为*正确的东西来破坏你的配置。 (2认同)

Aar*_*ley 6

在您拉出该段落的同一页面上,它告诉您使用NetworkManager将多个 IP 地址分配给一个接口。

对于新安装,用户应在 NetworkManager 的 IPv4 或 IPv6 选项卡上选择手动方法,为同一接口分配多个 IP 地址。有关使用此工具的更多信息,请参阅第 7 章 NetworkManager。

这似乎编辑您的接口配置以添加:

IPADDR2=IP address
PREFIX2=Netmask
GATEWAY2=Gateway
Run Code Online (Sandbox Code Playgroud)

就其价值而言,它还表示不再需要使用别名文件,但这并不意味着它不起作用。(特别是如果您需要 DHCP。)我个人更愿意在 GUI 之外管理我的网络,这样您应该能够停止 NetworkManager 服务并继续照常处理您的别名文件。

最后一个选项是将您的ip命令放入/etc/rc.local系统启动时执行。但请注意,如果网络服务重新启动,这些设置将不会持久存在。这只能被视为最后的手段。

部署指南,8.2.7。别名和克隆文件