Linux增删ip

Linux手动增删IP

by: 铁乐猫

日期:2022.03.17

这里主要是记录手动临时添加和删除ip。

ifconfig方式

例,添加:

ifconfig eth0:1 192.168.0.101/24

移除

ifconfig eth0:1 down

ip addr方式

添加

ip addr add 192.168.0.102/24 dev eth0 label eth0:1

删除

ip addr del 192.168.0.102/24 dev eth0:1

推荐使用ip命令操作,但删除ip的时候要小心,如果有多个同网段的子ip(secondary)地址,很容易删除一个变成全部删除掉了。

因为默认情况下,从接口删除主IP地址将删除同一子网上的所有其他地址。

  • 在linux中只要在一个网卡上配置的ip是同一个网段的,那么它有Primary IP和Secondary address的区分,反之只要不是同一个网段的ip那么都是Primary IP;

  • primary 和secondary 的关系就是一条链上的吊链结构,上面的那条主链中的IP就是Primary IP,Secondary address是主链结点的子链结点中的IP,一 旦主链上一个节点被删除了,那么它的子链也将不复存在,随之被删除。

  • 可以通过调整一个参数来实现,当一个primary地址被删除时,如果它有secondary地址的话,那么它的第一个secondary地址(长子)继承被删除的primary地址的位置成为primary地址,这样就显得很合理了,要不然在删除 primary地址的时候,如果有程序用secondary地址,那么要么延迟删除,要么程序崩溃;

  • 做法如下:

    通过/proc可以配置一个选项,在当前Primary地址被删除时可以将Secondary地址提升为Primary地址,具体命令为 :

    /sbin/sysctl net.ipv4.conf.eth0.promote_secondaries=1

    设置重启后仍然生效的方法:

    echo "net.ipv4.conf.eth0.promote_secondaries=1" >>/etc/sysctl.conf

你可能感兴趣的:(运维,linux,tcp/ip,网络)