Linux中一个网卡含有多个IP,将从IP升级为主IP的方法


今天在查看虚拟机的时候,发现某一网卡含有多个IP地址:

eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:6b:a5:a2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.213.132/24 brd 192.168.213.255 scope global dynamic eno16777736
       valid_lft 1726sec preferred_lft 1726sec
    inet 192.168.213.34/24 brd 192.168.213.255 scope global secondary eno16777736
       valid_lft forever preferred_lft forever

其中,192.168.213.132为主IP地址,192.168.213.34为从IP地址,执行以下命令删除主IP地址:

ip addr del 192.168.213.132 dev eno16777736

查看结果会发现从IP地址也没有了。

原来是因为有一个内核参数控制这个:

down掉所属某个子网的主IP的时候, 所有相关的从IP也会down掉。 
设置一个内核参数, 当主IP宕掉时可以将从IP提升为primary ip: 

echo "1" > /proc/sys/net/ipv4/conf/all/promote_secondaries

再次执行删除IP的命令:

ip addr del 192.168.213.132 dev eno16777736

输入ip addr查看结果:

eno16777736:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:6b:a5:a2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.213.34/24 brd 192.168.213.255 scope global eno16777736
      valid_lft forever preferred_lft forever

从IP升级为主IP,大功告成!

本文为博主原创文章,未经允许不得转载。转载请注明出处:https://www.cnblogs.com/lijinze-tsinghua/

相关