Contents

Linux - 網路管理工具 - NetworkManager

RHEL 預設使用 NetworkManager 工具管理網路組態及網路連線,Server 伺服器可以藉由 nmcli 指令或是 nmtui 交談式文字介面來操作。

1. NetworkManager 介紹

舊版本使用 network-scripts 配置管理網路( /etc/sysconfig/network-scripts/ ),在未來主要版本會捨取其方式,參照 RedHat 官方手冊

https://i.imgur.com/RKyUjEw.png
access.redhat.com

NetworkManager 提供不同的工具執行網路設定跟連結:

  1. GUI ( 僅安裝圖形介面使用 )
  2. nmtui ( 交談式文字介面 )
  3. nmcli ( 指令式 ) - 最常用

2. 交談式文字介面 - nmtui

安裝 NetworkManager 套件預設就會包含 NetworkManager-tui 。

2.1. 操作方式

  1. 輸入 nutui ,並使用上下左右及輸入鍵操作

https://i.imgur.com/DtTf0lN.png

https://i.imgur.com/rwApYAq.png

  1. 編輯(創建)完設定檔後,需透過 nmcli 指令重新載入設定 ( 或重新開機 )
1
nmcli con up enp1s0

2.2.1 缺點

nmtui 操作方式容易,缺點就是編輯配置無法透過 bash script 腳本自動化。


3. 指令操作 nmcli

3.1. 配置 hostname

除了編輯 /etc/hostname 、 hotstnamectl 之外也可以透過 nmcli 指令配置主機名稱。

1
nmcli general hostname <set-hostname>
1
2
3
[root@servera ~]# nmcli general hostname test.lab.example.com
[root@servera ~]# hostname
test.lab.example.com

3.2. 管理網路卡

nmcli 可以設定及查看網路卡

1
nmcli dev [options]
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[root@servera ~]# nmcli dev show enp1s0 
GENERAL.DEVICE:                         enp1s0
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         52:54:00:62:66:33
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     enp1s0
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         172.25.250.10/24
IP4.GATEWAY:                            172.25.250.1
IP4.ROUTE[1]:                           dst = 172.25.250.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 172.25.250.1, mt = 100
IP4.DNS[1]:                             172.25.250.1

3.2. 配置網路設定

編輯設定檔並綁定網路卡,及可添加 IP 、DNS、 Gateway、 mask..等

3.2.1 新增網路配置

新增設定檔命名為 example、 設定自動連線,綁定網路卡 enp1s0 ,並配置下列 ipv4 靜態 IP

項目 數值
ipv4 地址 172.25.250.12
子網路遮罩 255.255.255.0
預設閘道 172.25.250.1
DNS 8.8.8.8
1
nmcli con add <config-name> [options]
  1. con-name : 設定檔名稱
  2. ipv4.method : 設定靜態IP( manual )或是動態DHCP( auto )取得
  3. ipv4.addresses : ipv4 + 子網路遮罩 ( prefix length 表示)
  4. ipv4.gateway : 預設閘道
  5. ipv4.dns : dns
  6. connection.autoconnect : 開機自動選此設定
  7. type : 網路類型
  8. ifname : 綁定網路卡
1
2
3
4
5
6
[root@servera ~]# nmcli con add con-name example ipv4.method manual ipv4.addresses 172.25.250.12/24 ipv4.gateway 172.25.250.1 ipv4.dns 8.8.8.8 connection.autoconnect yes type ethernet  ifname enp1s0 
Connection 'example' (ffcb9c12-e1b3-4e43-a801-aac8c3506762) successfully added.

# 啟用該網路設定
[root@servera ~]# nmcli con up example 
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)

3.2.2 修改網路配置

透過 modify 編輯已經存在的設定。

1
nmcli con modify <config-name> [options]

modify 可以指定要修改的參數,如果要添加 IP ,可以使用 +ipv4.address 。

Tip
加上 “+” 字號等同於 append ,並非所有的參數都可以 append , gateway 僅只能有一個值

3.2.3 停止或是啟動網路配置

啟用網路設定

1
nmcli con up <config-name> 

停用網路設定

1
nmcli con down <config-name> 

3.2.4 刪除網路配置

1
nmcli con del <config-name> 

4. 小結

使用 nmcli 工具管理網路更方便,且比傳統的配置容易許多,搭配 Tab 自動補齊功能快速達到參數選定,不過在操作設定網路的工具時請務必在 console 上操作,避免使用遠端終端機導致網路斷線無法操作。



如果你還沒有註冊 Like Coin,你可以在文章最下方看到 Like 的按鈕,點下去後即可申請帳號,透過申請帳號後可以幫我的文章按下 Like,而 Like 最多可以點五次,而你不用付出任何一塊錢,就能給我寫這篇文章的最大的回饋!