原文 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> mtu 1500 qdisc pfifo_fast state UP qlen 100006.link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff07.inet 192.168.150.110/24 brd 192.168.150.255 scope 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> mtu 1500 qdisc pfifo_fast state UP qlen 1000<br> link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff<br> inet 192.168.150.110/24 brd192.168.150.255 scope 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> mtu 1500 qdisc pfifo_fast state UP qlen 100009.link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff10.inet 192.168.150.110/24 brd 192.168.150.255 scope global enp0s311.valid_lft forever preferred_lft forever12.[root@centos7 ~]#13.[root@centos7 ~]#14.[root@centos7 ~]# ping 192.168.150.11115.PING 192.168.150.111 (192.168.150.111) 56(84) bytes of data.16.From 192.168.150.110 icmp_seq=1 Destination Host Unreachable17.From 192.168.150.110 icmp_seq=2 Destination 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> mtu 1500 qdisc pfifo_fast state UP qlen 100011.link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff12.inet 192.168.150.110/24 brd 192.168.150.255 scope global enp0s313.valid_lft forever preferred_lft forever14.inet 192.168.150.111/24 brd 192.168.150.255 scope global secondary enp0s315.valid_lft forever preferred_lft forever16.[root@centos7 ~]#17.[root@centos7 ~]#18.[root@centos7 ~]# ping 192.168.150.11119.PING 192.168.150.111 (192.168.150.111) 56(84) bytes of data.20.64 bytes from 192.168.150.111: icmp_seq=1 ttl=64 time=0.039 ms21.64 bytes from 192.168.150.111: icmp_seq=2 ttl=64 time=0.079 ms22.......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 add 192.168.150.113/24 dev 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> mtu 1500 qdisc pfifo_fast state UP qlen 100013.link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff14.inet 192.168.150.110/24 brd 192.168.150.255 scope global enp0s315.valid_lft forever preferred_lft forever16.inet 192.168.150.111/24 brd 192.168.150.255 scope global secondary enp0s317.valid_lft forever preferred_lft forever18.inet 192.168.150.112/24 brd 192.168.150.255 scope global secondary enp0s319.valid_lft forever preferred_lft forever20.inet 192.168.150.113/24 scope global secondary enp0s321.valid_lft forever preferred_lft forever22.[root@centos7 ~]#23.[root@centos7 ~]#24.[root@centos7 ~]# ping 192.168.150.11325.PING 192.168.150.113 (192.168.150.113) 56(84) bytes of data.26.64 bytes from 192.168.150.113: icmp_seq=1 ttl=64 time=0.098 ms27.64 bytes from 192.168.150.113: icmp_seq=2 ttl=64 time=0.255 ms28......./etc/sysconfig/network-scripts/ifcfg-eth0 配置文件里并没有192.168.150.113,所以重启后该IP不会保留。
在线删除IP:
01.[root@centos7 ~]# ip addr del 192.168.150.113/24 dev 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> mtu 1500 qdisc pfifo_fast state UP qlen 100012.link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff13.inet 192.168.150.110/24 brd 192.168.150.255 scope global enp0s314.valid_lft forever preferred_lft forever15.inet 192.168.150.111/24 brd 192.168.150.255 scope global secondary enp0s316.valid_lft forever preferred_lft forever17.inet 192.168.150.112/24 brd 192.168.150.255 scope 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> mtu 1500 qdisc pfifo_fast state UP qlen 100057.link/ether 08:00:27:15:35:d2 brd ff:ff:ff:ff:ff:ff58.inet 192.168.150.110/24 brd 192.168.150.255 scope global eth0:159.valid_lft forever preferred_lft forever60.[root@centos7 ~]#可以看到ifcfg-eth0:1里的新IP确实没有生效。
五、总结
原文:http://www.cnblogs.com/lonelyxmas/p/4261270.html