1. 程式人生 > 實用技巧 >linux系統中建立網路會話

linux系統中建立網路會話

什麼是網路會話?

網路會話,可以看作是一種網路模板。可以讓我們在不同的工作場景中快速的切換網路環境,以適應不同的工作地點(類似於firewalld防火牆服務中的區域技術,允許使用者在多個配置檔案中快速切換)。

在RHEL和CentOS系統預設使用NetworkManager來提供網路服務,這是一種動態管理網路配置的守護程序,能夠讓網路裝置保持連線狀態。(https://blog.csdn.net/weixin_36522099/article/details/104770911)

可以使用nmcli命令來管理NetwoekManager服務。它可以輕鬆地檢視網路資訊和網路狀態:

用法及引數(https://blog.csdn.net/weixin_36522099/article/details/104770911)

1、使用nmcli檢視網路會話

[root@linuxprobe network-scripts]# nmcli connection show
NAME         UUID                                  TYPE            DEVICE      
eno16777728  e72a626f-2946-4285-9edf-2f5a6b172712  802-3-ethernet  eno16777728 
[root@linuxprobe network-scripts]# nmcli con show  ## 效果一樣
NAME         UUID                                  TYPE            DEVICE      
eno16777728  e72a626f
-2946-4285-9edf-2f5a6b172712 802-3-ethernet eno16777728

2、顯示指定網絡卡詳細的網路會話

[root@linuxprobe network-scripts]# nmcli connection show eno16777728 | wc -l
61
[root@linuxprobe network-scripts]# nmcli connection show eno16777728 | head
connection.id:                          eno16777728
connection.uuid:                        e72a626f
-2946-4285-9edf-2f5a6b172712 connection.interface-name: -- connection.type: 802-3-ethernet connection.autoconnect: yes connection.timestamp: 1604238903 connection.read-only: no connection.permissions: connection.zone: -- connection.master: -- [root@linuxprobe network-scripts]# nmcli connection show eno16777728 | tail GENERAL.DEFAULT: no GENERAL.DEFAULT6: no GENERAL.VPN: no GENERAL.ZONE: -- GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection/0 GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/0 GENERAL.SPEC-OBJECT: -- GENERAL.MASTER-PATH: -- IP4.ADDRESS[1]: ip = 192.168.10.10/24, gw = 0.0.0.0 IP6.ADDRESS[1]: ip = fe80::20c:29ff:fee4:f7b9/64, gw = ::

以公司和家庭為例增加網路會話

3、增加公司網路會話

[root@linuxprobe Desktop]# nmcli con show  ## 檢視所有的網路會話
NAME         UUID                                  TYPE            DEVICE      
eno16777728  e72a626f-2946-4285-9edf-2f5a6b172712  802-3-ethernet  eno16777728 
[root@linuxprobe Desktop]# ifconfig | head -n 5  ## 檢視網絡卡名稱
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fee4:f7b9  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e4:f7:b9  txqueuelen 1000  (Ethernet)
        RX packets 2  bytes 120 (120.0 B)
[root@linuxprobe Desktop]# nmcli con add con-name company ifname eno16777728 autoconnect no type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1  ## 增加公司網路會話
## add 表示新增網路會話,ifname指定本機的網絡卡名稱,autoconnect 設定是否自動連線,這裡手動指定IP地址, type指定網路型別 Connection
'company' (f3824b94-5bdf-4c1d-97d1-18721b010016) successfully added. [root@linuxprobe Desktop]# nmcli con show ## 列出所有的網路會話 NAME UUID TYPE DEVICE company f3824b94-5bdf-4c1d-97d1-18721b010016 802-3-ethernet -- eno16777728 e72a626f-2946-4285-9edf-2f5a6b172712 802-3-ethernet eno16777728

4、增加家庭網路會話

[root@linuxprobe Desktop]# nmcli con add con-name home ifname eno16777728 autoconnect yes type ethernet ## 增加家庭網路會話
## add表示增加網路會話,con-name指定增加網路會話的名字,ifname指定本機網絡卡名稱,autoconnect指定是否自動連線(這裡使用DHCP伺服器自動獲取IP地址),type指定網路型別
Connection 'home' (86494d2a-8971-4c28-829e-1619d66d2bc4) successfully added.
[root@linuxprobe Desktop]# nmcli con show
NAME UUID TYPE DEVICE 
home 86494d2a-8971-4c28-829e-1619d66d2bc4 802-3-ethernet -- 
company f3824b94-5bdf-4c1d-97d1-18721b010016 802-3-ethernet -- 
eno16777728 e72a626f-2946-4285-9edf-2f5a6b172712 802-3-ethernet eno16777728

5、測試效果,切換至家庭網路會話和公司網路會話

[root@linuxprobe Desktop]# ifconfig | head -n 5  ## 檢視當前IP
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fee4:f7b9  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e4:f7:b9  txqueuelen 1000  (Ethernet)
        RX packets 21  bytes 2240 (2.1 KiB)
[root@linuxprobe Desktop]# nmcli con up home  ## 切換至家庭網路會話
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
[root@linuxprobe Desktop]# ifconfig | head -n 5  ## 檢視IP
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.7  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::20c:29ff:fee4:f7b9  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e4:f7:b9  txqueuelen 1000  (Ethernet)
        RX packets 46  bytes 5353 (5.2 KiB)
[root@linuxprobe Desktop]# systemctl restart network  ## 重置網絡卡
[root@linuxprobe Desktop]# ifconfig | head -n 5  ## 檢視IP
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fee4:f7b9  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e4:f7:b9  txqueuelen 1000  (Ethernet)
        RX packets 52  bytes 5803 (5.6 KiB)

切換公司網路會話:

[root@linuxprobe Desktop]# ifconfig | head -n 5  ## 檢視當前IP
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fee4:f7b9  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e4:f7:b9  txqueuelen 1000  (Ethernet)
        RX packets 66  bytes 7264 (7.0 KiB)
[root@linuxprobe Desktop]# nmcli con up company  ## 切換至公司網路會話
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
[root@linuxprobe Desktop]# ifconfig | head -n 5  ## 檢視IP
eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fee4:f7b9  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e4:f7:b9  txqueuelen 1000  (Ethernet)
        RX packets 68  bytes 7384 (7.2 KiB)