Linux 创建网络会话

Linux 创建网络会话

  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地址:

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

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

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

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

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

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

[root@localhost ~]# nmcli connection  up company
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/)
[root@localhost ~]# ifconfig
eno16777728: flags=<UP,BROADCAST,RUNNING,MULTICAST>  mtu
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fe1d:  prefixlen   scopeid 0x20<link>
        ether :0c::1d::  txqueuelen   (Ethernet)
        RX packets   bytes  (13.4 KiB)
        RX errors   dropped   overruns   frame
        TX packets   bytes  (10.3 KiB)
        TX errors   dropped  overruns   carrier   collisions 

lo: flags=<UP,LOOPBACK,RUNNING>  mtu
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::  prefixlen   scopeid 0x10<host>
        loop  txqueuelen   (Local Loopback)
        RX packets   bytes  (96.5 KiB)
        RX errors   dropped   overruns   frame
        TX packets   bytes  (96.5 KiB)
        TX errors   dropped  overruns   carrier   collisions 

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

Linux 创建网络会话

Linux 创建网络会话


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

[root@localhost ~]# nmcli connection up house
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/)
[root@localhost ~]# ifconfig
eno16777728: flags=<UP,BROADCAST,RUNNING,MULTICAST>  mtu
        inet 192.168.1.180  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::20c:29ff:fe1d:  prefixlen   scopeid 0x20<link>
        ether :0c::1d::  txqueuelen   (Ethernet)
        RX packets   bytes  (228.0 KiB)
        RX errors   dropped   overruns   frame
        TX packets   bytes  (10.6 KiB)
        TX errors   dropped  overruns   carrier   collisions 

lo: flags=<UP,LOOPBACK,RUNNING>  mtu
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::  prefixlen   scopeid 0x10<host>
        loop  txqueuelen   (Local Loopback)
        RX packets   bytes  (33.1 KiB)
        RX errors   dropped   overruns   frame
        TX packets   bytes  (33.1 KiB)
        TX errors   dropped  overruns   carrier   collisions 

[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (() bytes of data.
 bytes from  ttl= time=17.6 ms
 bytes from  ttl= time=17.5 ms
 bytes from  ttl= time=15.9 ms

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

Linux 创建网络会话


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

Linux 创建网络会话

上一篇:WM_SIZE后于WM_CREATE消息!!在窗口被创建时的顺序!


下一篇:iOS8后core location框架启动定位服务的步骤