ip addr del 操作ip时的注意事项[通俗易懂]

ip addr del 操作ip时的注意事项[通俗易懂]在高可用,多线路及系统维护的特殊情况下,我们通常会通过”ipaddr”这一命令来添加一个隐形IP在相应的设备上,但是当我们在一个设备上添加多个ip的时候,删除某个IP的时候尤其要注意,下面通过几个实例来说明,如下:root@localhost~]#ipaddradd10.1.1.230/24deveth0[root@localhost~]#ipaddradd1…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

在高可用,多线路及系统维护的特殊情况下,我们通常会通过”ip addr ” 这一命令来添加一个隐形IP在相应的设备上,但是当我们在一个设备上添加多个ip的时候,删除某个IP的时候尤其要注意,下面通过几个实例来说明,如下:

root@localhost ~]# ip addr add 10.1.1.230/24 dev eth0
[root@localhost ~]# ip addr add 10.1.1.231/24 dev eth0
[root@localhost ~]# ip addr show
1: lo: mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:19:b9:ef:44:8b brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.230/24 brd 172.16.0.255 scope global eth0
    inet 10.1.1.230/24 scope global eth0
    inet 10.1.1.231/24 scope global secondary eth0
    inet6 fe80::219:b9ff:feef:448b/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc noop qlen 1000
    link/ether 00:19:b9:ef:44:8d brd ff:ff:ff:ff:ff:ff
4: sit0: mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0
[root@localhost ~]#

当删除10.1.1.230时,10.1.1.231 同时被删除,如下

 

[root@localhost ~]# ip addr del 10.1.1.230/24 dev eth0
[root@localhost ~]# ip addr show
1: lo: mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:19:b9:ef:44:8b brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.230/24 brd 172.16.0.255 scope global eth0
    inet6 fe80::219:b9ff:feef:448b/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc noop qlen 1000
    link/ether 00:19:b9:ef:44:8d brd ff:ff:ff:ff:ff:ff
4: sit0: mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0
[root@localhost ~]#


[root@localhost ~]# ip addr add 10.1.1.230/24 dev eth0
[root@localhost ~]# ip addr add 10.1.1.231/24 dev eth0
[root@localhost ~]# ip addr show
1: lo: mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:19:b9:ef:44:8b brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.230/24 brd 172.16.0.255 scope global eth0
    inet 10.1.1.230/24 scope global eth0
    inet 10.1.1.231/24 scope global secondary eth0
    inet6 fe80::219:b9ff:feef:448b/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc noop qlen 1000
    link/ether 00:19:b9:ef:44:8d brd ff:ff:ff:ff:ff:ff
4: sit0: mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0

当删除 10.1.1.231时,10.1.1.230 还在

[root@localhost ~]# ip addr del 10.1.1.231/24 dev eth0  
[root@localhost ~]# ip addr show
1: lo: mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:19:b9:ef:44:8b brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.230/24 brd 172.16.0.255 scope global eth0
    inet 10.1.1.230/24 scope global eth0
    inet6 fe80::219:b9ff:feef:448b/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc noop qlen 1000
    link/ether 00:19:b9:ef:44:8d brd ff:ff:ff:ff:ff:ff
4: sit0: mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0
[root@localhost ~]#

通过上面我们可以发现,如果删除的时候不小心仔细,可能会酿成悲剧,造成损失。那到底这一现象是怎么产生的呢?

原因是,在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

请看下列实例,删除了先前的 scope global 10.1.1.230,inet 10.1.1.232/24 scope global 被提升了

[root@localhost ~]# ip addr del 10.1.1.230/24 dev eth0
[root@localhost ~]# ip addr show
1: lo: mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:19:b9:ef:44:8b brd ff:ff:ff:ff:ff:ff
    inet 172.16.0.230/24 brd 172.16.0.255 scope global eth0
    inet 10.1.1.232/24 scope global eth0
    inet6 fe80::219:b9ff:feef:448b/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: mtu 1500 qdisc noop qlen 1000
    link/ether 00:19:b9:ef:44:8d brd ff:ff:ff:ff:ff:ff
4: sit0: mtu 1480 qdisc noop
    link/sit 0.0.0.0 brd 0.0.0.0

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/164672.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 点击轮播图片左右button,实现轮播效果

    点击轮播图片左右button,实现轮播效果

  • lldp 命令「建议收藏」

    lldp 命令「建议收藏」LLDP协议介绍:简单说来,LLDP是一种邻近发现协议。它为以太网网络设备,如交换机、路由器和无线局域网接入点定义了一种标准的方法,使其可以向网络中其他节点公告自身的存在,并保存各个邻近设备的发现信息。例如设备配置和设备识别等详细信息都可以用该协议进行公告。具体来说,LLDP定义了一个通用公告信息集、一个传输公告的协议和一种用来存储所收到的公告信息的方法。要公告自身信息的设备…

  • 排序算法比较

    排序算法比较利用随机函数产生30000个随机整数,利用插入排序、起泡排序、选择排序、快速排序、堆排序、归并排序等排序方法进行排序,并统计每一种排序上机所花费的时间。提示:用顺序存储结构。//排序算法比较#i

  • 如何搭建自己的SpringBoot源码调试环境? SpringBoot源码(一)「建议收藏」

    如何搭建自己的SpringBoot源码调试环境? SpringBoot源码(一)「建议收藏」1前言这是SpringBoot2.1源码分析专题的第一篇文章,主要讲如何来搭建我们的源码阅读调试环境。如果有经验的小伙伴们可以略过此篇文章。2环境安装要求IntelliJIDEAJDK1.8Maven3.5以上3从github上将SpringBoot源码项目下载下来首先提供SpringBoot2.1.0的github地址:点这里下载因为要进行阅读源码和分析源码项目,我们是不是要在里面写一些注释帮助我们阅读理解源码,因此需要将SpringBoot源码项目fork到自己的github

  • 利用git上传本地文件、文件夹到Github

    利用git上传本地文件、文件夹到Github利用git上传文件至github是特别常用的,总结以下内容供参考使用。第一步:下载git工具,[这里是链接](https://git-scm.com/downloads),选择适合自己的版本进行安装。第二步:安装完成后,找到Gitbash,双击打开。第三步:输入自己的用户名和邮箱(为注册GITHUB账号时的用户名和邮箱)$gitconfig–globaluser.name”co

  • 电脑桌面图标点击打不开怎么办_双击桌面图标打开的是属性

    电脑桌面图标点击打不开怎么办_双击桌面图标打开的是属性在网上我们经常会看到有人提问“怎样解决笔记本电脑双击桌面图标打不开”的问题,引发该问题的原因是exe文件的关联损坏了,当然系统中毒也可能导致此现象,那么我们该如何解决这个问题呢?下面就由学习啦小编跟大家分享具体的处理方法吧,希望对大家有所帮助~笔记本电脑双击桌面图标打不开的两个处理方法笔记本电脑双击桌面图标打不开的处理方法一:1、点击屏幕左下角的开始菜单按钮,然后再点击“所有程序”;2、接着点击“…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号