linux 新增网络接口,为网络接口添加多IP - CentOS 7系统配置上的变化解析_Linux教程_Linux公社-Linux系统门户网站...
一、nmtui手工添加IP
看一下当前网络设备的IP,为了精简指令输出,指令就要复杂一些了:
[root@CentOS7 ~]# nmcli -t -f IP4.ADDRESS dev show enp0s3
IP4.ADDRESS[1]:ip = 192.168.150.110/24, gw = 192.168.150.254
[root@centos7 ~]#
[root@centos7 ~]# ip addr show enp0s3 scope global
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff
inet 192.168.150.110/24 brd 192.168.150.255 scope global enp0s3
valid_lft forever preferred_lft forever
[root@centos7 ~]#
[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
......
IPADDR0=192.168.150.110
PREFIX0=24
GATEWAY0=192.168.150.254
DNS1=192.168.150.254
HWADDR=08:00:27:15:35:D2
IPADDR1=192.168.150.111
PREFIX1=24
[root@centos7 ~]#
新IP已经被加入到ifcfg-eth0中,原始地址的关键字是 IPADDR0、PREFIX0,新地址的关键字是 IPADDR1、PREFIX1 。
[root@centos7 ~]# nmcli con load /etc/sysconfig/network-scripts/ifcfg-eth0
[root@centos7 ~]#
[root@centos7 ~]# nmcli -t -f IP4.ADDRESS dev show enp0s3
IP4.ADDRESS[1]:ip = 192.168.150.110/24, gw = 192.168.150.254
[root@centos7 ~]#
[root@centos7 ~]# ip addr show enp0s3 scope global
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff
inet 192.168.150.110/24 brd 192.168.150.255 scope global enp0s3
valid_lft forever preferred_lft forever
[root@centos7 ~]#
load connection 后,NetworkManager 也没有知晓新增IP,新增IP也没有出现在 ip addr show 中。
[root@centos7 ~]# systemctl restart network
[root@centos7 ~]#
[root@centos7 ~]# nmcli -t -f IP4.ADDRESS dev show enp0s3
IP4.ADDRESS[1]:ip = 192.168.150.110/24, gw = 192.168.150.254
IP4.ADDRESS[2]:ip = 192.168.150.111/24, gw = 192.168.150.254
[root@centos7 ~]#
[root@centos7 ~]# ip addr show enp0s3 scope global
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff
inet 192.168.150.110/24 brd 192.168.150.255 scope global enp0s3
valid_lft forever preferred_lft forever
[root@centos7 ~]#
[root@centos7 ~]#
[root@centos7 ~]# ping 192.168.150.111
PING 192.168.150.111 (192.168.150.111) 56(84) bytes of data.
From 192.168.150.110 icmp_seq=1 Destination Host Unreachable
From 192.168.150.110 icmp_seq=2 Destination Host Unreachable
......
[root@centos7 ~]#
重启network服务后,NetworkManager 知晓新增IP了,但新增IP还是没有生效。
[root@centos7 ~]# nmcli dev connect enp0s3
[root@centos7 ~]#
[root@centos7 ~]#
[root@centos7 ~]# nmcli -t -f IP4.ADDRESS dev show enp0s3
IP4.ADDRESS[1]:ip = 192.168.150.110/24, gw = 192.168.150.254
IP4.ADDRESS[2]:ip = 192.168.150.111/24, gw = 192.168.150.254
[root@centos7 ~]#
[root@centos7 ~]#
[root@centos7 ~]# ip addr show enp0s3 scope global
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff
inet 192.168.150.110/24 brd 192.168.150.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet 192.168.150.111/24 brd 192.168.150.255 scope global secondary enp0s3
valid_lft forever preferred_lft forever
[root@centos7 ~]#
[root@centos7 ~]#
[root@centos7 ~]# ping 192.168.150.111
PING 192.168.150.111 (192.168.150.111) 56(84) bytes of data.
64 bytes from 192.168.150.111: icmp_seq=1 ttl=64 time=0.039 ms
64 bytes from 192.168.150.111: icmp_seq=2 ttl=64 time=0.079 ms
......
[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:
[root@centos7 ~]# ip addr add 192.168.150.113/24 dev enp0s3
[root@centos7 ~]#
[root@centos7 ~]#
[root@centos7 ~]# nmcli -t -f IP4.ADDRESS dev show enp0s3
IP4.ADDRESS[1]:ip = 192.168.150.110/24, gw = 192.168.150.254
IP4.ADDRESS[2]:ip = 192.168.150.111/24, gw = 192.168.150.254
IP4.ADDRESS[3]:ip = 192.168.150.112/24, gw = 192.168.150.254
IP4.ADDRESS[4]:ip = 192.168.150.113/24, gw = 192.168.150.254
[root@centos7 ~]#
[root@centos7 ~]#
[root@centos7 ~]# ip addr show enp0s3 scope global
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff
inet 192.168.150.110/24 brd 192.168.150.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet 192.168.150.111/24 brd 192.168.150.255 scope global secondary enp0s3
valid_lft forever preferred_lft forever
inet 192.168.150.112/24 brd 192.168.150.255 scope global secondary enp0s3
valid_lft forever preferred_lft forever
inet 192.168.150.113/24 scope global secondary enp0s3
valid_lft forever preferred_lft forever
[root@centos7 ~]#
[root@centos7 ~]#
[root@centos7 ~]# ping 192.168.150.113
PING 192.168.150.113 (192.168.150.113) 56(84) bytes of data.
64 bytes from 192.168.150.113: icmp_seq=1 ttl=64 time=0.098 ms
64 bytes from 192.168.150.113: icmp_seq=2 ttl=64 time=0.255 ms
......
/etc/sysconfig/network-scripts/ifcfg-eth0 配置文件里并没有192.168.150.113,所以重启后该IP不会保留。
在线删除IP:
[root@centos7 ~]# ip addr del 192.168.150.113/24 dev enp0s3
[root@centos7 ~]#
[root@centos7 ~]#
[root@centos7 ~]# nmcli -t -f IP4.ADDRESS dev show enp0s3
IP4.ADDRESS[1]:ip = 192.168.150.110/24, gw = 192.168.150.254
IP4.ADDRESS[2]:ip = 192.168.150.111/24, gw = 192.168.150.254
IP4.ADDRESS[3]:ip = 192.168.150.112/24, gw = 192.168.150.254
[root@centos7 ~]#
[root@centos7 ~]#
[root@centos7 ~]# ip addr show enp0s3 scope global
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff
inet 192.168.150.110/24 brd 192.168.150.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet 192.168.150.111/24 brd 192.168.150.255 scope global secondary enp0s3
valid_lft forever preferred_lft forever
inet 192.168.150.112/24 brd 192.168.150.255 scope global secondary enp0s3
valid_lft forever preferred_lft forever
四、使用子连接配置文件 ifcfg-*:n
子连接配置文件是 Centos6 常用的方法,即:如果当前网卡配置文件为 ifcfg-eth0,则子连接配置文件可以为 ifcfg-eth0:1,并且文件中需要写明 DEVICE=eth0:1 , IPADDR= 。
我们试试在Centos7 中是否也支持。理论上应该是不支持的,因为在Centos7的网络连接配置文件(即 ifcfg-*)中,DEVICE关键字已经具有了新的定义,即我们上篇说的“设备”。参考前面几页。
首先注释掉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
复制代码
[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=295e1841-0ff3-4db9-8800-4e25fc2944da
ONBOOT=yes
IPADDR0=192.168.150.110
PREFIX0=24
GATEWAY0=192.168.150.254
DNS1=192.168.150.254
HWADDR=08:00:27:15:35:D2
#IPADDR1=192.168.150.111
#PREFIX1=24
#IPADDR2=192.168.150.112
#PREFIX2=24
[root@centos7 ~]#
[root@centos7 ~]#
[root@centos7 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0:1
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0:1
DEVICE=eth0:1
UUID=295e1841-0ff3-4db9-8800-4e25fc2944da
ONBOOT=yes
IPADDR0=192.168.150.119
PREFIX0=24
GATEWAY0=192.168.150.254
DNS1=192.168.150.254
HWADDR=08:00:27:15:35:D2
[root@centos7 ~]#
[root@centos7 ~]# nmcli con reload
[root@centos7 ~]# nmcli dev connect enp0s3
[root@centos7 ~]#
[root@centos7 ~]# nmcli -t -f IP4.ADDRESS dev show enp0s3
IP4.ADDRESS[1]:ip = 192.168.150.110/24, gw = 192.168.150.254
[root@centos7 ~]#
[root@centos7 ~]#
[root@centos7 ~]# ip addr show enp0s3 scope global
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff
inet 192.168.150.110/24 brd 192.168.150.255 scope global eth0:1
valid_lft forever preferred_lft forever
[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
linux 新增网络接口,为网络接口添加多IP - CentOS 7系统配置上的变化解析_Linux教程_Linux公社-Linux系统门户网站...相关推荐
- 外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站
外网主机访问虚拟机下的Web服务器_服务器应用_Linux公社-Linux系统门户网站 之前在CentOS虚拟机上安装了LAMP,搭建起了自己的web服务器,具体流程见: http://www.lin ...
- 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...
注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...
- linux下json数据解析,JSON数据解析 - iOS学习笔记_Linux编程_Linux公社-Linux系统门户网站...
在之前的<iOS学习--xml数据解析(九)>http://www.linuxidc.com/Linux/2014-02/97020p9.htm 介绍了xml数据解析,这一篇简单介绍一下J ...
- java linux u盘_创建启动U盘或移动硬盘 - 基于Fedora 14搭建高效稳定的Java开发环境_Linux教程_Linux公社-Linux系统门户网站...
创建启动U盘或移动硬盘 在这里我们选择Fedora 14 x64为例,其它版本安装过程大同小异.因光驱逐渐淘汰,这里我们选择以U盘或移动硬盘作为安装方式(如果选择光驱方式安装,可以跳过此节,直接将下载 ...
- 2440 linux文件写,添加yaffs2文件系统 - Linux2.6.39在S3C2440上的移植_Linux编程_Linux公社-Linux系统门户网站...
1.主机环境:VMare下Ubuntu10.04 ,1G内存. 2.编译编译环境:arm-linux-gcc 3.开发板:Micro2440,2M nor flash,256M nand flash. ...
- linux内核添加usb键盘驱动,配置USB外设 - linux-2.6.32在mini2440开发板上移植_Linux编程_Linux公社-Linux系统门户网站...
linux-2.6.32在mini2440开发板上移植 配置USB外设 [日期:2013-04-08] 来源:Linux社区 作者:ssdsafsdsd [字体:大 中 小] 编者:因为LINUX内核 ...
- 幼儿linux教程,新增20多种小游戏 - 专为3岁儿童设计的Ubuntu 10.10应用体验_Linux教程_Linux公社-Linux系统门户网站...
新增20多种小游戏 也许是开发者觉得儿童最喜欢的就是游戏了,所以集成了20多种游戏,包括:贪吃蛇.俄罗斯方块.对对碰.国际象棋.黑白棋以及十几种逻辑等. 游戏 其中,在逻辑游戏中,有一款gbralny ...
- Linux添加rose不能交互式登录,常见问题及注意事项 - Linux下环境安装配置Rose HA全攻略(图)_数据库技术_Linux公社-Linux系统门户网站...
常见问题及注意事项 • 开机方法: 开机的时候我们必须注意到,必须先开磁盘阵列,等 磁盘阵列状态READY 后,再开主机,主机完全开启后,再把备机开启. • 关机方法: 关机的方法则是开机的反顺序 ...
- linux判断网卡是否挂载,检查网卡是否加载 - Linux服务器网卡驱动安装及故障排除_服务器应用_Linux公社-Linux系统门户网站...
2.检查网卡是否加载: 驱动硬件是操作系统最基本的功能,操作系统通过各种驱动程序来驾驭硬件设备,和Windows系统不同Linux内核目前采用可加载的模块化设计(LKMs Loadable Kerne ...
最新文章
- 【Python】如何在文件夹里批量修改文件名?(0001-1000)
- 大数据入门基础教程系列
- 为什么德国人工作这么慢,但效率却很高?
- hadoop之 Hadoop1.x和Hadoop2.x构成对比
- 如何在 vue-cli v3.0 中使用 SCSS/SASS
- STM32的PA15、PB3、 PB4管脚作普通管脚的解决办法
- 【字符串】面试题之键值对(”key = valude”)字符串
- atitit.atiLinq v2新特性attilax大总结 q326
- MapGis67读取点线区
- C语言指针的入门pointer
- java安装教程win7_给win7系统搭建Java环境的详细教程(图文)
- 阿里云 OSS + CDN 部署静态网站配置
- 搭档之家|独立面对人生的态度
- Idea设置ALT+/代码提示
- 谷歌牛逼:720p高清+长镜头,网友:对短视频行业冲击太大
- linux创建新的虚拟环境,并安装指定版本的包
- MACD详细计算方法及例子
- mars3d与echart图表结合使用
- windows 7 SP1补丁包 (64位) V 2013.10 官方版
- ROS雷达包出现:ERROR: cannot launch node of type: rplidar_ros