RHEL7系统支持网络会话功能,允许用户在多个配置文件中快速切换(非常类似于firewalld防火墙服务中的区域技术)。如果我们在公司网络中使用笔记本电脑时需要手动指定网络的IP地址,而回到家中则是使用DHCP自动分配IP地址。这就需要麻烦地频繁修改IP地址,但是使用了网络会话功能后一切就简单多了—只需在不同的使用环境中激活相应的网络会话,就可以实现网络配置信息的自动切换了。

  可以使用nmcli命令并按照“connection add con-name type ifname”的格式来创建网络会话。假设将公司网络中的网络会话称之为company,将家庭网络中的网络会话称之为house,现在依次创建各自的网络会话。

  使用con-name参数指定公司所使用的网络会话名称company,然后依次用ifname参数指定本机的网卡名称(千万要以实际环境为准,不要照抄书上的eno16777728),用autoconnect no参数设置该网络会话默认不被自动激活,以及用ip4及gw4参数手动指定网络的IP地址:

  1. [root@linuxprobe ~]# nmcli connection add con-name company ifname eno16777728 autoconnect no type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1
  2. Connection 'company' (cead2896-8b12-4f4c-9f27-91948d99f40f) successfully added.

使用con-name参数指定家庭所使用的网络会话名称house。因为我们想从外部DHCP服务器自动获得IP地址,因此这里不需要进行手动指定。

  1. [root@linuxprobe ~]# nmcli connection add con-name house type ethernet ifname eno16777728
  2. Connection 'house' (254ddbd4-f30c-48fd-b047-2cd7a3d9dd76) successfully added.

在成功创建网络会话后,可以使用nmcli命令查看创建的所有网络会话:

  1. [root@linuxprobe ~]# nmcli connection show
  2. NAME UUID TYPE DEVICE
  3. company cead2896-8b12-4f4c-9f27-91948d99f40f 802-3-ethernet --
  4. house 254ddbd4-f30c-48fd-b047-2cd7a3d9dd76 802-3-ethernet --
  5. eno16777728 36644a00-01b9-4fcb-a765-748bc7b42672 802-3-ethernet eno16777728

使用nmcli命令配置过的网络会话是永久生效的,这样当我们在公司时,启用company网络会话。

  1. [root@localhost ~]# nmcli connection up company
  2. Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
  3. [root@localhost ~]# ifconfig
  4. eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  5. inet 192.168.10.10 netmask 255.255.255.0 broadcast 192.168.10.255
  6. inet6 fe80::20c:29ff:fe1d:8469 prefixlen 64 scopeid 0x20<link>
  7. ether 00:0c:29:1d:84:69 txqueuelen 1000 (Ethernet)
  8. RX packets 128 bytes 13774 (13.4 KiB)
  9. RX errors 0 dropped 0 overruns 0 frame 0
  10. TX packets 74 bytes 10602 (10.3 KiB)
  11. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  12. lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
  13. inet 127.0.0.1 netmask 255.0.0.0
  14. inet6 ::1 prefixlen 128 scopeid 0x10<host>
  15. loop txqueuelen 0 (Local Loopback)
  16. RX packets 1162 bytes 98900 (96.5 KiB)
  17. RX errors 0 dropped 0 overruns 0 frame 0
  18. TX packets 1162 bytes 98900 (96.5 KiB)
  19. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

如果大家使用的是虚拟机,请把虚拟机系统的网卡(网络适配器)切换成仅主机模式。


这样当我们下班回家后,顺手启用house网络会话,网卡就能自动通过DHCP获取到IP地址了。

  1. [root@localhost ~]# nmcli connection up house
  2. Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
  3. [root@localhost ~]# ifconfig
  4. eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  5. inet 192.168.1.180 netmask 255.255.255.0 broadcast 192.168.1.255
  6. inet6 fe80::20c:29ff:fe1d:8469 prefixlen 64 scopeid 0x20<link>
  7. ether 00:0c:29:1d:84:69 txqueuelen 1000 (Ethernet)
  8. RX packets 3849 bytes 233486 (228.0 KiB)
  9. RX errors 0 dropped 0 overruns 0 frame 0
  10. TX packets 83 bytes 10952 (10.6 KiB)
  11. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  12. lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
  13. inet 127.0.0.1 netmask 255.0.0.0
  14. inet6 ::1 prefixlen 128 scopeid 0x10<host>
  15. loop txqueuelen 0 (Local Loopback)
  16. RX packets 397 bytes 33948 (33.1 KiB)
  17. RX errors 0 dropped 0 overruns 0 frame 0
  18. TX packets 397 bytes 33948 (33.1 KiB)
  19. TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
  20. [root@localhost ~]# ping www.baidu.com
  21. PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
  22. 64 bytes from 61.135.169.125: icmp_seq=1 ttl=55 time=17.6 ms
  23. 64 bytes from 61.135.169.125: icmp_seq=2 ttl=55 time=17.5 ms
  24. 64 bytes from 61.135.169.125: icmp_seq=3 ttl=55 time=15.9 ms

如果大家使用的是虚拟机,请把虚拟机系统的网卡(网络适配器)切换成桥接模式,然后重启虚拟机系统即可。

第9章 使用ssh服务管理远程主机。第9章 使用ssh服务管理远程主机。


如何如果大家使用的是虚拟机,这样设置“虚拟网络配置”,将达不到效果。

版权声明:本文为dinghailong128原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/dinghailong128/p/12116467.html