网络会话:通俗讲就是不同的网络模式模板,nmcli命令可以实现不同模板间的快速切换。
1、如何查看系统中已有的网络会话
[root@pc2 network-scripts]# nmcli connection show ## 可见有一个网络会话 NAME UUID TYPE DEVICE eno16777728 22ca4bf3-febe-4fc8-9091-2817e2cd6f66 802-3-ethernet eno16777728 [root@pc2 network-scripts]# nmcli con show NAME UUID TYPE DEVICE eno16777728 22ca4bf3-febe-4fc8-9091-2817e2cd6f66 802-3-ethernet eno16777728
## 以上网络会话的名称为eno16777728
## 以上两条命令中的connection 和 con 实现的功能是一样的
## 后经过测试以上两条命令等价于nmcli connetion 和 nmcli con,也就是说省略show
2、如何增加网络会话
[root@pc2 network-scripts]# nmcli con show ## 首先查看当前的网络会话
NAME UUID TYPE DEVICE
eno16777728 22ca4bf3-febe-4fc8-9091-2817e2cd6f66 802-3-ethernet eno16777728
[root@pc2 network-scripts]# nmcli con add con-name net1 ifname eno16777728 type ethernet autoconnect yes ## 增加一个网络会话,eno16777728为当前系统的网卡,可以使用ifconfig命令查看
## add表示添加; con-name指定增加的网络会话名称; ifname指定使用网卡的名称; type指定网络类型,这里指定为以太网; autoconnect yes指定是否自动连接,这里选择是
Connection 'net1' (378492e9-990e-4cd7-b189-40a9e13c3beb) successfully added.
[root@pc2 network-scripts]# nmcli con show ## 再次列出所有的网络会话,已经增加了名称为net1的网络会话
NAME UUID TYPE DEVICE
net1 378492e9-990e-4cd7-b189-40a9e13c3beb 802-3-ethernet --
eno16777728 22ca4bf3-febe-4fc8-9091-2817e2cd6f66 802-3-ethernet eno16777728
再添加一个网络会话,设定不自动连接,手动指定IP地址,手动指定网关
[root@pc2 network-scripts]# nmcli con show ## 查看系统中所有的网络会话
NAME UUID TYPE DEVICE
net1 378492e9-990e-4cd7-b189-40a9e13c3beb 802-3-ethernet --
eno16777728 22ca4bf3-febe-4fc8-9091-2817e2cd6f66 802-3-ethernet eno16777728
[root@pc2 network-scripts]# nmcli con add con-name net2 ifname eno16777728 type ethernet autoconnect no ip4 192.168.5.10/24 gw4 192.168.5.1
Connection 'net2' (da1ee70d-69c3-4243-a3d3-55f990e4d5b2) successfully added.
## 以上增加网络会话的命令中设置了不自动连接,手动指定了IP地址,手动指定网关
[root@pc2 network-scripts]# nmcli con show ## 查看系统中所有的网络会话,已经增加了名称为net2的网络会话
NAME UUID TYPE DEVICE
net1 378492e9-990e-4cd7-b189-40a9e13c3beb 802-3-ethernet --
eno16777728 22ca4bf3-febe-4fc8-9091-2817e2cd6f66 802-3-ethernet eno16777728
net2 da1ee70d-69c3-4243-a3d3-55f990e4d5b2 802-3-ethernet --
3、如何切换网络会话
[root@pc2 network-scripts]# nmcli con show ## 首先列出系统中已有的网络会话,一共三个网络会话
NAME UUID TYPE DEVICE
net1 378492e9-990e-4cd7-b189-40a9e13c3beb 802-3-ethernet --
eno16777728 22ca4bf3-febe-4fc8-9091-2817e2cd6f66 802-3-ethernet eno16777728
net2 da1ee70d-69c3-4243-a3d3-55f990e4d5b2 802-3-ethernet --
[root@pc2 network-scripts]# ifconfig | head -n 3 ## 查看系统当前的IP地址
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.20 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::20c:29ff:feaa:2b29 prefixlen 64 scopeid 0x20<link>
[root@pc2 network-scripts]# nmcli con up net1 ## 切换至net1网络会话
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/23)
[root@pc2 network-scripts]# ifconfig | head -n 3 ## 查看此时的IP地址已经改变,net1设定为自动连接
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.61.136 netmask 255.255.255.0 broadcast 192.168.61.255
inet6 fe80::20c:29ff:feaa:2b29 prefixlen 64 scopeid 0x20<link>
[root@pc2 network-scripts]# nmcli con up net2 ## 再次切换至net2网络会话
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/24)
[root@pc2 network-scripts]# ifconfig | head -n 3 ## 查看此时的IP地址也已经改变,net2为手动设定
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.5.10 netmask 255.255.255.0 broadcast 192.168.5.255
inet6 fe80::20c:29ff:feaa:2b29 prefixlen 64 scopeid 0x20<link>
4、如何查询当前使用的哪一个网络会话
[root@pc2 network-scripts]# nmcli con up net2 ## 首次使用命令切换到net2网络会话
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/25)
[root@pc2 network-scripts]# nmcli device status ## 查看此时的网络会话,已经为net2
DEVICE TYPE STATE CONNECTION
eno16777728 ethernet connected net2
lo loopback unmanaged --
[root@pc2 network-scripts]# nmcli con up net1 ## 切换到net1网络会话
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/26)
[root@pc2 network-scripts]# nmcli device status ## 查看此时的网络会话,已经为net1
DEVICE TYPE STATE CONNECTION
eno16777728 ethernet connected net1
lo loopback unmanaged --
5、如何删除网络会话
[root@pc2 network-scripts]# nmcli con show ## 首先列出系统中所有的网络会话
NAME UUID TYPE DEVICE
net1 378492e9-990e-4cd7-b189-40a9e13c3beb 802-3-ethernet eno16777728
eno16777728 22ca4bf3-febe-4fc8-9091-2817e2cd6f66 802-3-ethernet --
net2 da1ee70d-69c3-4243-a3d3-55f990e4d5b2 802-3-ethernet --
[root@pc2 network-scripts]# nmcli con add con-name net3 ifname eno16777728 type ethernet autoconnect no ip4 192.168.7.10/24 gw4 192.168.7.1
## 上面的命令增加一个测试的网络会话net3,手动指定IP地址和网关
Connection 'net3' (8c80ac7f-abb7-48c4-a978-c1fc4d3d4926) successfully added.
[root@pc2 network-scripts]# nmcli con show ## 查看当前所有的网络会话,已经有了net3
NAME UUID TYPE DEVICE
net1 378492e9-990e-4cd7-b189-40a9e13c3beb 802-3-ethernet eno16777728
eno16777728 22ca4bf3-febe-4fc8-9091-2817e2cd6f66 802-3-ethernet --
net3 8c80ac7f-abb7-48c4-a978-c1fc4d3d4926 802-3-ethernet --
net2 da1ee70d-69c3-4243-a3d3-55f990e4d5b2 802-3-ethernet --
[root@pc2 network-scripts]# nmcli con delete net3 ## 删除网络会话net3
[root@pc2 network-scripts]# nmcli con show ## 查看当前所有的网络会话,已经没有net3
NAME UUID TYPE DEVICE
net1 378492e9-990e-4cd7-b189-40a9e13c3beb 802-3-ethernet eno16777728
eno16777728 22ca4bf3-febe-4fc8-9091-2817e2cd6f66 802-3-ethernet --
net2 da1ee70d-69c3-4243-a3d3-55f990e4d5b2 802-3-ethernet --
6、如何查看网络会话的详细信息
[root@pc2 network-scripts]# nmcli con show ## 列出系统中所有的网络会话,注意UUID列
NAME UUID TYPE DEVICE
net1 378492e9-990e-4cd7-b189-40a9e13c3beb 802-3-ethernet eno16777728
eno16777728 22ca4bf3-febe-4fc8-9091-2817e2cd6f66 802-3-ethernet --
net2 da1ee70d-69c3-4243-a3d3-55f990e4d5b2 802-3-ethernet --
[root@pc2 network-scripts]# nmcli con show net1 | wc -l ## 统计net1网络会话详细信息的行数
91
[root@pc2 network-scripts]# nmcli con show net1 | head -n 3 ## 查看net1前三行
connection.id: net1
connection.uuid: 378492e9-990e-4cd7-b189-40a9e13c3beb
connection.interface-name: eno16777728
[root@pc2 network-scripts]# nmcli con show net2 | wc -l
47
[root@pc2 network-scripts]# nmcli con show net2 | head -n 3
connection.id: net2
connection.uuid: da1ee70d-69c3-4243-a3d3-55f990e4d5b2
connection.interface-name: eno16777728
[root@pc2 network-scripts]# nmcli con show net2 | head -n 30 ## net2网络会话前文中设定的手动指定IP地址、网关,可以在下面看到
connection.id: net2
connection.uuid: da1ee70d-69c3-4243-a3d3-55f990e4d5b2
connection.interface-name: eno16777728
connection.type: 802-3-ethernet
connection.autoconnect: no
connection.timestamp: 1604556127
connection.read-only: no
connection.permissions:
connection.zone: --
connection.master: --
connection.slave-type: --
connection.secondaries:
connection.gateway-ping-timeout: 0
802-3-ethernet.port: --
802-3-ethernet.speed: 0
802-3-ethernet.duplex: --
802-3-ethernet.auto-negotiate: yes
802-3-ethernet.mac-address: --
802-3-ethernet.cloned-mac-address: --
802-3-ethernet.mac-address-blacklist:
802-3-ethernet.mtu: auto
802-3-ethernet.s390-subchannels:
802-3-ethernet.s390-nettype: --
802-3-ethernet.s390-options:
ipv4.method: manual
ipv4.dns:
ipv4.dns-search:
ipv4.addresses: { ip = 192.168.5.10/24, gw = 192.168.5.1 }
ipv4.routes:
ipv4.ignore-auto-routes: no
参考:https://www.cnblogs.com/rui517hua20/p/11280136.html