Centos7系统配置上的变化(三)为网络接口添加多IP
原文 Centos7系统配置上的变化(三)为网络接口添加多IP
实验的方法有 nmtui, 编辑ifcfg-*文件,ip addr 指令,子连接配置文件。
一、nmtui手工添加IP
看一下当前网络设备的IP,为了精简指令输出,指令就要复杂一些了:
01.[root@centos7~]# nmcli -t -f IP4.ADDRESS dev show enp0s302.IP4.ADDRESS[1]:ip =192.168.150.110/24, gw =192.168.150.25403.[root@centos7~]#04.[root@centos7~]# ip addr show enp0s3 scope global05.2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu1500qdisc pfifo_fast state UP qlen100006.link/ether08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff07.inet192.168.150.110/24brd192.168.150.255scope global enp0s308.valid_lft forever preferred_lft forever09.[root@centos7~]#10.[root@centos7~]# cat /etc/sysconfig/network-scripts/ifcfg-eth011.......12.IPADDR0=192.168.150.11013.PREFIX0=2414.GATEWAY0=192.168.150.25415.DNS1=192.168.150.25416.HWADDR=08:00:27:15:35:D217.IPADDR1=192.168.150.11118.PREFIX1=2419.[root@centos7~]#新IP已经被加入到ifcfg-eth0中,原始地址的关键字是 IPADDR0、PREFIX0,新地址的关键字是 IPADDR1、PREFIX1 。
1.[root@centos7~]# nmcli con load /etc/sysconfig/network-scripts/ifcfg-eth02.[root@centos7~]#3.[root@centos7~]# nmcli -t -f IP4.ADDRESS dev show enp0s34.IP4.ADDRESS[1]:ip =192.168.150.110/24, gw =192.168.150.2545.[root@centos7~]#<br>[root@centos7~]# ip addr show enp0s3 scope global<br>2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu1500qdisc pfifo_fast state UP qlen1000<br> link/ether08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff<br> inet192.168.150.110/24brd192.168.150.255scope global enp0s3<br> valid_lft forever preferred_lft forever<br>[root@centos7~]#load connection 后,NetworkManager 也没有知晓新增IP,新增IP也没有出现在 ip addr show 中。
01.[root@centos7~]# systemctl restart network02.[root@centos7~]#03.[root@centos7~]# nmcli -t -f IP4.ADDRESS dev show enp0s304.IP4.ADDRESS[1]:ip =192.168.150.110/24, gw =192.168.150.25405.IP4.ADDRESS[2]:ip =192.168.150.111/24, gw =192.168.150.25406.[root@centos7~]#07.[root@centos7~]# ip addr show enp0s3 scope global08.2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu1500qdisc pfifo_fast state UP qlen100009.link/ether08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff10.inet192.168.150.110/24brd192.168.150.255scope global enp0s311.valid_lft forever preferred_lft forever12.[root@centos7~]#13.[root@centos7~]#14.[root@centos7~]# ping192.168.150.11115.PING192.168.150.111(192.168.150.111)56(84) bytes of data.16.From192.168.150.110icmp_seq=1Destination Host Unreachable17.From192.168.150.110icmp_seq=2Destination Host Unreachable18.......19.[root@centos7~]#重启network服务后,NetworkManager 知晓新增IP了,但新增IP还是没有生效。
01.[root@centos7~]# nmcli dev connect enp0s302.[root@centos7~]#03.[root@centos7~]#04.[root@centos7~]# nmcli -t -f IP4.ADDRESS dev show enp0s305.IP4.ADDRESS[1]:ip =192.168.150.110/24, gw =192.168.150.25406.IP4.ADDRESS[2]:ip =192.168.150.111/24, gw =192.168.150.25407.[root@centos7~]#08.[root@centos7~]#09.[root@centos7~]# ip addr show enp0s3 scope global10.2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu1500qdisc pfifo_fast state UP qlen100011.link/ether08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff12.inet192.168.150.110/24brd192.168.150.255scope global enp0s313.valid_lft forever preferred_lft forever14.inet192.168.150.111/24brd192.168.150.255scope global secondary enp0s315.valid_lft forever preferred_lft forever16.[root@centos7~]#17.[root@centos7~]#18.[root@centos7~]# ping192.168.150.11119.PING192.168.150.111(192.168.150.111)56(84) bytes of data.20.64bytes from192.168.150.111: icmp_seq=1ttl=64time=0.039ms21.64bytes from192.168.150.111: icmp_seq=2ttl=64time=0.079ms22.......23.[root@centos7~]#重新连接设备 enp0s3,新IP生效了。注意:不需要先断开设备(nmcli dev disconnect enp0s3),断开设备的话ssh立刻断线。重新连接设备的过程中,ssh是不会断线的。
nmtui添加IP后,需要: nmcli con load /etc/sysconfig/network-scripts/ifcfg-eth0 nmcli dev connect enp0s3
二、手工添加IP到ifcfg-eth0
在ifcfg-eth0配置文件中手工添加如下两行: IPADDR2=192.168.150.112 PREFIX2=24
先执行 nmcli con load /etc/sysconfig/network-scripts/ifcfg-eth0 后,在nmtui中可以看到新增IP。(也可以简单的用 nmcli con reload ,reload 和 load的区别自己脑补一下吧。) 再执行 nmcli dev connect enp0s3 后,IP 192.168.150.112 才生效的。手工添加IP到ifcfg-eth0后,需要: nmcli con load /etc/sysconfig/network-scripts/ifcfg-eth0 或 nmcli con reload nmcli dev connect enp0s3
三、用ip addr add指令添加/删除IP,即刻生效,重启不保留。
在线添加IP:01.[root@centos7~]# ip addr add192.168.150.113/24dev enp0s302.[root@centos7~]#03.[root@centos7~]#04.[root@centos7~]# nmcli -t -f IP4.ADDRESS dev show enp0s305.IP4.ADDRESS[1]:ip =192.168.150.110/24, gw =192.168.150.25406.IP4.ADDRESS[2]:ip =192.168.150.111/24, gw =192.168.150.25407.IP4.ADDRESS[3]:ip =192.168.150.112/24, gw =192.168.150.25408.IP4.ADDRESS[4]:ip =192.168.150.113/24, gw =192.168.150.25409.[root@centos7~]#10.[root@centos7~]#11.[root@centos7~]# ip addr show enp0s3 scope global12.2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu1500qdisc pfifo_fast state UP qlen100013.link/ether08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff14.inet192.168.150.110/24brd192.168.150.255scope global enp0s315.valid_lft forever preferred_lft forever16.inet192.168.150.111/24brd192.168.150.255scope global secondary enp0s317.valid_lft forever preferred_lft forever18.inet192.168.150.112/24brd192.168.150.255scope global secondary enp0s319.valid_lft forever preferred_lft forever20.inet192.168.150.113/24scope global secondary enp0s321.valid_lft forever preferred_lft forever22.[root@centos7~]#23.[root@centos7~]#24.[root@centos7~]# ping192.168.150.11325.PING192.168.150.113(192.168.150.113)56(84) bytes of data.26.64bytes from192.168.150.113: icmp_seq=1ttl=64time=0.098ms27.64bytes from192.168.150.113: icmp_seq=2ttl=64time=0.255ms28......./etc/sysconfig/network-scripts/ifcfg-eth0 配置文件里并没有192.168.150.113,所以重启后该IP不会保留。
在线删除IP:01.[root@centos7~]# ip addr del192.168.150.113/24dev enp0s302.[root@centos7~]#03.[root@centos7~]#04.[root@centos7~]# nmcli -t -f IP4.ADDRESS dev show enp0s305.IP4.ADDRESS[1]:ip =192.168.150.110/24, gw =192.168.150.25406.IP4.ADDRESS[2]:ip =192.168.150.111/24, gw =192.168.150.25407.IP4.ADDRESS[3]:ip =192.168.150.112/24, gw =192.168.150.25408.[root@centos7~]#09.[root@centos7~]#10.[root@centos7~]# ip addr show enp0s3 scope global11.2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu1500qdisc pfifo_fast state UP qlen100012.link/ether08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff13.inet192.168.150.110/24brd192.168.150.255scope global enp0s314.valid_lft forever preferred_lft forever15.inet192.168.150.111/24brd192.168.150.255scope global secondary enp0s316.valid_lft forever preferred_lft forever17.inet192.168.150.112/24brd192.168.150.255scope global secondary enp0s318.valid_lft forever preferred_lft forever四、使用子连接配置文件 ifcfg-*:n
子连接配置文件是 Centos6 常用的方法,即:如果当前网卡配置文件为 ifcfg-eth0,则子连接配置文件可以为 ifcfg-eth0:1,并且文件中需要写明 DEVICE=eth0:1 , IPADDR=<新IP地址> 。 我们试试在Centos7 中是否也支持。理论上应该是不支持的,因为在Centos7的网络连接配置文件(即 ifcfg-*)中,DEVICE关键字已经具有了新的定义,即我们上篇说的“设备”。参考上篇 http://www.cnblogs.com/panblack/p/Centos7-WhatsNew-02-networking.html首先注释掉ifcfg-eth0中的其他地址,复制 ifcfg-eth0 为 ifcfg-eth0:1,编辑ifcfg-eth0:1, DEVICE 设为eth0:1 ,IP设为 192.168.150.119 ,然后 nmcli con reload , nmcli dev con enp0s3
01.[root@centos7~]# cat /etc/sysconfig/network-scripts/ifcfg-eth002.TYPE=Ethernet03.BOOTPROTO=none04.DEFROUTE=yes05.IPV4_FAILURE_FATAL=no06.IPV6INIT=no07.IPV6_AUTOCONF=yes08.IPV6_DEFROUTE=yes09.IPV6_PEERDNS=yes10.IPV6_PEERROUTES=yes11.IPV6_FAILURE_FATAL=no12.NAME=eth013.UUID=295e1841-0ff3-4db9-8800-4e25fc2944da14.ONBOOT=yes15.IPADDR0=192.168.150.11016.PREFIX0=2417.GATEWAY0=192.168.150.25418.DNS1=192.168.150.25419.HWADDR=08:00:27:15:35:D220.#IPADDR1=192.168.150.11121.#PREFIX1=2422.#IPADDR2=192.168.150.11223.#PREFIX2=2424.25.[root@centos7~]#26.[root@centos7~]#27.[root@centos7~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0:128.TYPE=Ethernet29.BOOTPROTO=none30.DEFROUTE=yes31.IPV4_FAILURE_FATAL=no32.IPV6INIT=no33.IPV6_AUTOCONF=yes34.IPV6_DEFROUTE=yes35.IPV6_PEERDNS=yes36.IPV6_PEERROUTES=yes37.IPV6_FAILURE_FATAL=no38.NAME=eth0:139.DEVICE=eth0:140.UUID=295e1841-0ff3-4db9-8800-4e25fc2944da41.ONBOOT=yes42.IPADDR0=192.168.150.11943.PREFIX0=2444.GATEWAY0=192.168.150.25445.DNS1=192.168.150.25446.HWADDR=08:00:27:15:35:D247.[root@centos7~]#48.[root@centos7~]# nmcli con reload49.[root@centos7~]# nmcli dev connect enp0s350.[root@centos7~]#51.[root@centos7~]# nmcli -t -f IP4.ADDRESS dev show enp0s352.IP4.ADDRESS[1]:ip =192.168.150.110/24, gw =192.168.150.25453.[root@centos7~]#54.[root@centos7~]#55.[root@centos7~]# ip addr show enp0s3 scope global56.2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu1500qdisc pfifo_fast state UP qlen100057.link/ether08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff58.inet192.168.150.110/24brd192.168.150.255scope global eth0:159.valid_lft forever preferred_lft forever60.[root@centos7~]#可以看到ifcfg-eth0:1里的新IP确实没有生效。
五、总结ip addr show 中显示的IP才是有效的。 ip addr add 能在线添加IP,立即生效,但重启即丢。 ip addr del 能在线删除IP,立即生效,但重启即丢。 子连接(ifcfg-*:n)已经无效了。 nmtui和编辑ifcfg-eth0 文件效果基本相同,都不能立即生效,必须 load 连接再重新connect网络设备,即: nmcli con load /etc/sysconfig/network-scripts/ifcfg-eth0 或 nmcli reload nmcli dev connect enp0s3
Centos7系统配置上的变化(三)为网络接口添加多IP的更多相关文章
- Centos7系统配置上的变化(二)网络管理基础
原文 Centos7系统配置上的变化(二)网络管理基础 上篇简单介绍了CentOS 7 在服务和网络方面的一点变化,先前很多烂熟于心的操作指令已经不适用了,不管是否习惯,总要接受.熟悉这些变化. 写上 ...
- Centos7系统配置上的变化(一)
原文 Centos7系统配置上的变化(一) 安装后,一开始有点儿无力吐槽的感觉,变化这么大? 一.Runlevel 首先一条,原来一直用的CentOS-6.5-x86_64-minimal.iso光盘 ...
- Centos7系统配置上的变化
https://www.cnblogs.com/panblack/p/Centos7-WhatsNew-01.html https://www.cnblogs.com/panblack/p/Cento ...
- CentOS 7系统配置上的变化
http://www.linuxidc.com/Linux/2014-09/107375p4.htm CentOS 7系统配置上的变化解析 ip ss指令替代 ifconfig route arp n ...
- Python黑帽编程3.0 第三章 网络接口层攻击基础知识
3.0 第三章 网络接口层攻击基础知识 首先还是要提醒各位同学,在学习本章之前,请认真的学习TCP/IP体系结构的相关知识,本系列教程在这方面只会浅尝辄止. 本节简单概述下OSI七层模型和TCP/IP ...
- 尝试在CentOS7.2上编译安装Swift
苹果提供 Ubuntu上构建Swift 的教程,通过这个教程我尝试使用CentOS7.2上玩儿一把.目前已经成功在CentOS7.2上班成功安装 swift 4.0 https://github.co ...
- [AI开发]centOS7.5上基于keras/tensorflow深度学习环境搭建
这篇文章详细介绍在centOS7.5上搭建基于keras/tensorflow的深度学习环境,该环境可用于实际生产.本人现在非常熟练linux(Ubuntu/centOS/openSUSE).wind ...
- (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)
在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机 前提:服务器端安装桌面版的centos系统 CentOS Linux release 7.5.1804 (Core) ...
- [转帖]【rinetd】CentOS7.x上轻量级TCP转发工具rinetd的安装配置
[rinetd]CentOS7.x上轻量级TCP转发工具rinetd的安装配置 https://www.jianshu.com/p/2605d247b944 这一个写的更加全面了. 2019.07.0 ...
随机推荐
- eclipse luna 无法安装veloeclipse问题
问题: 在eclipse 4.4(luna)版本号.安装veloeclipse 2.0.8时,在即将完毕的时候出现下面错误提示: An error occurred while installing ...
- 【iOS开发-60】案例学习:多组数据的tableView设置、添加右側组索引、多层数据模型设置以及valueForKeyPath
效果: 这里的数据模型有两层:每一组汽车是一层模型,每一组里面的每一行汽车品牌也是一层模型. (1)我们先创建一个WSCars模型. 在WSCars.h中: #import <Foundatio ...
- Linux在简短而经常使用的命令
Linux组成: 内核:的心脏.是执行程序和管理像磁盘和打印机等硬件设备的核心程序. shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.是 ...
- Oracle 11G CRUD操作监控单个表
前言: 线上oracle数据库有张表的数据有些乱,依据应用db的log和应用的log也没有检查出来谁改动了.所以决定把这张单表做个具体的insert.update.delete监控.一:使用数据 ...
- effective c++ 条款11 Handle assignment to self in operator=
赋值给自己,听起来有些不可思议,但是却要引起重视,它很容易把自己隐藏起来. 例如 1 a[i]=a[j]; 如果 i, j的值一样? 2 *px=*py; 如果px py指向同一个object 3 ...
- Apple Watch 1.0 开发介绍 1.3 简介 WatchKit App 架构
WatchKit app和WatchKit extension一起实现了app的界面.当用户在Apple Watch中操作时,WatchKit app从storyboards中选择合适的场景.比如,如 ...
- proxool数据库连接池配置
proxool.xml构造 <?xml version="1.0" encoding="UTF-8"?> <something-else-en ...
- Connect2015 简要整理
2015 简要整理 去年 Connect(); 2014 Visual Studio Contact(); 直播笔记 对于我个人来说,今年 Connect(); 的三个重要发布: ASP.NET 5 ...
- toString()和String.valueof()比较
toString()和String.valueof()比较 做项目时常常会用到类型转换,比较常用的是toString(),但其实还是用String.valueof()比较好.看源码后他们的区别就更加 ...
- FastReport扩展类
题记: 最近有在用FastReport进行开发报表工作,当然也有在看书,突然想到可以用书中所写来实现一个fastreport的帮助类. 对于引用第三方类库,我们都会去将这个库在调用前进行相应的封装,也 ...