在這一章節中,主要展示如何使用網路管理之指令介面來設定網路介面,即nmcli指令來設定網路介面。
我們就可以使用nmcli
指令並搭配dev
與status
設定即可以看到裝置相關的資訊,相關執行的指令如下:
[rockylinux@workstation ~]$ nmcli dev status
DEVICE TYPE STATE CONNECTION
enp0s3 ethernet connected enp0s3
virbr0 bridge connected (externally) virbr0
lo loopback unmanaged --
virbr0-nic tun unmanaged --
[rockylinux@workstation ~]$
從上面執行的指令訊息來看,主要的網路介面卡有兩種,一個是內部的乙太網卡,即enp0s3
,另一個是先前設定的橋接介面網路卡,這兩個網卡目前都運作中,並顯示已經連線。
若要查看目前正在連到哪個網路卡,可以使用nmcli
並搭配con
與show
選項來執行指令,相關的執行指令如下:
[rockylinux@workstation ~]$ nmcli connection show
NAME UUID TYPE DEVICE
enp0s3 2f6a2999-e277-41d0-84b3-2fe46cf04a69 ethernet enp0s3
virbr0 f15efd28-2e14-4e4c-88e3-fabfd3e25f6d bridge virbr0
若要加入一個新的網路連線資訊,擇可以使用下列的指令:
[rockylinux@workstation ~]$ sudo nmcli con add con-name enp0s4 type ethernet ifname enp0s3
[sudo] password for rockylinux:
Connection 'enp0s4' (da1c80ac-3566-4e5e-bd53-8bdbf8252fa3) successfully added.
[rockylinux@workstation ~]$
從上從上述的指令執行所輸出的訊息來看,可以知道新增一個網路連線需要使用root使用者權限來做到,接著新增一個叫做:enp0s4的網路連線名稱,並設定類型叫做:ethernet,即乙太網路,這個網路連線針對的實體網路介面卡為:enp0s3,這邊的實體網路介面卡端看主機的不同而有所不同,這邊以上述的硬體網路介面卡名稱為例。
接著新增完成一個網路連線之後,接下來對這個網路連線進行設定,相關的執行指令如下:
[rockylinux@workstation ~]$ sudo nmcli con modify enp0s4 ipv4.address 192.168.0.100/24 ipv4.gateway 192.168.
0.1
[sudo] password for rockylinux:
[rockylinux@workstation ~]$
從上述的指令可以知道,因為先前已經新增好一個叫做「enp0s4」的網路連線名稱了,因此需要使用modify
這個參數將此既有的網路連線進行網路設定的編輯,接著就設定此網路連線的IPv4位址、IPv4的網路閘道介面位址等,假設這台虛擬主機在192.168.0.0/24的網段上,把此台主機設定成192.168.0.100,而網路閘道位址假設在192.168.0.1,則就設定成:192.168.0.1。
設定好網路連線之後,接著就可以控制此網路連線了,首先先將原本的網路連線停止,停止之後接著再啟動上述剛剛建立新的網路連線,相關執行的指令輸出訊息如下:
[rockylinux@workstation ~]$ cat control_net.txt
[rockylinux@workstation ~]$ sudo nmcli connection down enp0s3
[sudo] password for rockylinux:
Connection 'enp0s3' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
[rockylinux@workstation ~]$ sudo nmcli connection up enp0s4
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
[rockylinux@workstation ~]$ sudo nmcli connection show
NAME UUID TYPE DEVICE
enp0s4 da1c80ac-3566-4e5e-bd53-8bdbf8252fa3 ethernet enp0s3
virbr0 f15efd28-2e14-4e4c-88e3-fabfd3e25f6d bridge virbr0
enp0s3 2f6a2999-e277-41d0-84b3-2fe46cf04a69 ethernet --
[rockylinux@workstation ~]$
從上面可以知道,已經將原本名為的「enp0s3」名稱的網路連線停止並啟動「enp0s4」的網路連線了。若要觀看某一個網路連線的設定訊息,則可以使用下列的指令做到:
[rockylinux@workstation ~]$ sudo nmcli connection show enp0s4
[sudo] password for rockylinux:
connection.id: enp0s4
connection.uuid: da1c80ac-3566-4e5e-bd53-8bdbf8252fa3
connection.stable-id: --
connection.type: 802-3-ethernet
connection.interface-name: enp0s3
connection.autoconnect: yes
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.multi-connect: 0 (default)
connection.auth-retries: -1
connection.timestamp: 1633707795
connection.read-only: no
connection.permissions: --
connection.zone: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
connection.secondaries: --
connection.gateway-ping-timeout: 0
connection.metered: unknown
connection.lldp: default
connection.mdns: -1 (default)
connection.llmnr: -1 (default)
connection.wait-device-timeout: -1
802-3-ethernet.port: --
802-3-ethernet.speed: 0
802-3-ethernet.duplex: --
lines 1-27