将一个IP地址别名从一台服务器迁移到另一台服务器

我运行:

/sbin/ifconfig eth0:10 xx.xx.xxx.221 netmask 255.255.255.224 down 

在box1和box2上:

 /sbin/ifconfig eth0:10 xx.xx.xxx.221 netmask 255.255.255.224 up 

两个盒子都位于同一个networking上。

迁移后,我可以ping从两个服务器的ip,我注意到它在box2上的响应速度比在box1上快了10倍,所以看起来好像没问题。 但是,我无法从networking外部ping IP。

在两个盒子上的eth0都是公共ip,别名也是公共ip。

当我把ip移回到box1时,我可以在networking之外ping通它,没有任何问题。

我也可以ping box2上的公共ip(eth0)就好了,所以它似乎不是防火墙的问题。

路由器是否需要更新新路由器以指向新的MAC地址?

我错过了什么?

你需要发送免费的ARP 。 像心跳和keepalived软件包将为您做这个。 否则,看看arping 。

凯文而不是使用ifconfig来设置虚拟接口,使用ip来删除它:

 ip addr del xx.xx.xxx.221 dev eth0 

是的,路由器可能需要一些时间来更新它的ARP表。 但是,如果您有权访问它,则可以手动从表中删除arp条目,但是更新的时间并不长。