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