ip addr命令配置ip_linux查不到ip地址

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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/164675.html原文链接:https://javaforall.cn

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

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

(0)


相关推荐

  • VMware虚拟机安装Debian10 (超级详细)

    零基础虚拟机安装debian10

  • verycd下载办法_不提供是什么意思

    verycd下载办法_不提供是什么意思现在verycd不提供下载了,我们少了一个重要的资源下载地址。以前是影视剧不能下载,现在是所有东西全部不可以下载。难道我们没有其他方可以下载吗?还是有的,而且比verycd开放的功能还多。verycd不提供下载的解决办法:simplecd还可以提供下载,甚至影视剧也可以下载。SimpleCD专注于为VeryCD做简单的备份,同时也提供了基本的搜索和列

  • CSS检测的高像素密度屏幕设备[通俗易懂]

    CSS检测的高像素密度屏幕设备

  • Redis—windows环境安装Redis和Redis sentinel部署教程

    一:Redis的下载和安装 1:下载Redis Redis的官方网站Download页面,Redis提示说:Redis的正式版不支持Windows,要Windows学习Redis,请点击Learn more,跳转到:https://github.com/MSOpenTech/redisThe Redis project does not officially support W…

  • Bitmap.MakeTransparent 方法

    Bitmap.MakeTransparent 方法使默认的透明颜色对此Bitmap透明。重载列表使默认的透明颜色对此Bitmap对象透明。[Visual Basic]OverloadsPublicSubMakeTransparent()[C#]publicvoidMakeTransparent();[C++]public:voidMakeTransparent();[JScript]publicfunctionM

  • cardboard应用_cardboard怎么用

    cardboard应用_cardboard怎么用GoogleCardboard虚拟现实眼镜开发初步(一)虚拟现实技术简介不得不说这几年虚拟现实技术逐渐火热,伴随着虚拟现实设备的价格迅速平民化,越来越多的虚拟现实设备来到了我们眼前,也因此虚拟现实方面的开发离我们也越来越近。这几年迅速崛起的Oculus,其成功就在于拉近了虚拟现实与群众的距离,把原本价格高不可攀的虚拟现实设备放到了我们可以触手可及的位置,Oculus的技术开辟了

发表回复

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

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