如果我像这样添加两个 IP:
ip addr add 1.1.1.1/24 dev eth2
ip addr add 1.1.1.2/24 dev eth2
然后我尝试删除其中一个这样的:
ip addr del 1.1.1.2/24 dev eth2
两个 IP 都将被删除,我不知道该怎么办。
有人知道如何解决吗?
答案1
发生这种情况是因为您在删除时使用了 /24 网络掩码。它适用于您输入的地址。请尝试以下操作:
ip addr del 1.1.1.2/32 dev eth2
/32 掩码恰好定义一个主机。
答案2
从接口删除主 IP 地址默认会删除同一子网上的所有其他地址。
这是对 REHL 错误的回复1136733由用户 lain 于 2013 年 3 月 12 日提供答案报告...
您正在同一个子网中添加多个地址,因此第二个和后续地址将成为次要地址。这可以在“ip addr show”输出中看到,请注意这些地址旁边的关键字“secondary”。
默认情况下,当删除主地址时,内核也会删除所有相应的辅助地址。
如果您希望在删除主节点时将其中一个辅助节点提升为新的主节点,请设置 net.ipv4.conf.eth9.promote_secondaries sysctl。
答案3
我没有 eth2 来检查这一点,但它在 eth0 上正常工作,我看不出 eth2 有什么神奇之处。我猜你使用的ip addr show dev eth2
asifconfig eth2
似乎没有显示 ip 添加的附加地址。
我注意到的一件事是,创建/删除地址的顺序很重要。如果删除主地址,则同一网络内添加的第二个及后续地址也将被删除。考虑...
inet 1.1.1.1/24 scope global eth0
inet 1.1.2.3/24 scope global eth0
inet 1.1.1.2/24 scope global secondary eth0
inet 1.1.1.3/24 scope global secondary eth0
如果删除 1.1.1.1,则 1.2 和 1.3 地址也将被删除。如果删除任何其他地址,则只有该地址将被删除。
答案4
我会尝试以下操作:
ip addr del 1.1.1.2 dev eth2