0%

Linux 变更主IP

本质需求

业务特性:一些Linux主机公网口需配置多IP,特定场景下需切换出口IP并尽量减少网络波动

默认情况下,主(primary)IP会作为出口IP; 从(secondary)IP可以通过ip addr add/del 增减,主IP不可以直接删除

原始(本质)需求并不是更改主IP,而是更改出口IP

1
Note: for every scope (i.e. same net with address/netmask combination) all aliases are deleted, if you delete the first (primary).

解决方式一

翻ip-sysct.txt看到promote_secondaries,测试后通过

sysctl设置promote_secondaries=1,然后可通过ip addr del删除主ip,从IP升级为主IP

1
2
3
4
promote_secondaries - BOOLEAN
When a primary IP address is removed from this interface
promote a corresponding secondary IP address instead of
removing all the corresponding secondary IP addresses.

解决方式二

通过ip route变更默认路由src不是主IP

例如 11.11.2.253是从IP

ip route change default via 11.11.2.254 dev ens32 src 11.11.2.253