全部產品
Search
文件中心

Alibaba Cloud Linux:NetworkManager設定檔及常見配置說明

更新時間:Aug 24, 2024

NetworkManager是用來管理網卡配置和串連狀態的工具。它能夠自動檢測可用的網路,並根據需要進行自動切換,同時也可以手動設定網路設定,例如IP地址、網關和DNS。本文介紹Alibaba Cloud Linux 3系統中NetworkManager設定檔及常見配置說明。您可以根據實際需求調整配置,以滿足特定的業務情境。

NetworkManager設定檔說明

NetworkManager的設定檔由以下檔案組成,載入順序從左至右,優先順序依次變高:/usr/lib/NetworkManager/conf.d/run/NetworkManager/conf.d//etc/NetworkManager/NetworkManager.conf/etc/NetworkManager/conf.d

  • /usr/lib/NetworkManager/conf.d:該目錄主要包含軟體的預設配置,任何使用者自訂配置都應該儲存在優先順序更高的設定檔中(例如/etc/NetworkManager/conf.d),以確保這些定製設定在軟體封裝更新時不會被覆蓋。

  • /run/NetworkManager/conf.d/:該目錄存放的是臨時回合組態,通常由系統服務或啟動指令碼在啟動時建立。由於系統重啟後配置會丟失,因此不建議在此目錄中存放自訂配置。

  • /etc/NetworkManager/NetworkManager.conf:該檔案是NetworkManager的主設定檔,在軟體包的刪除和升級過程中被更新。因此,為了防止使用者的自訂更改被覆蓋,一般不建議直接修改NetworkManager.conf檔案。

  • /etc/NetworkManager/conf.d:修改預設的NetworkManager推薦通過在/etc/NetworkManager/conf.d目錄下建立相應的.conf檔案來完成配置。這樣可以確保軟體封裝更新時,自訂設定保持不變。需要注意的是,該目錄中的檔案會按檔案名稱的字典序進行讀取。

NetworkManager常見配置

NetworkManager日誌配置

本文以設定level=TRACEdomains=ALL來收集所有的動作記錄為例。

  1. 執行以下命令,建立並開啟set-log.conf檔案。

    sudo vim /etc/NetworkManager/conf.d/set-log.conf
  2. i鍵進入編輯模式,將以下內容複寫到set-log.conf檔案中。

    [logging]
    level=TRACE
    domains=ALL
    • level參數說明

      記錄層級(level)

      說明

      OFF

      將日誌記錄關閉,不會輸出任何日誌資訊。

      ERR

      僅輸出錯誤層級的日誌資訊。

      WARN

      輸出警告層級及以上的日誌資訊。

      INFO

      輸出一般資訊層級的日誌。

      DEBUG

      輸出調試層級的日誌資訊。

      TRACE

      輸出非常詳細的追蹤層級的日誌資訊。

    • domains參數說明

      領域(domains)

      說明

      NONE

      不記錄任何領域的日誌資訊。

      ALL

      記錄所有可用領域的日誌資訊。

      DEFAULT

      記錄預設領域的日誌資訊。

      DHCP

      記錄與DHCP用戶端相關的日誌資訊。

      IP

      記錄與IP管理相關的日誌資訊。

  3. Esc鍵,輸入:wq後按Enter鍵,儲存配置。

  4. 執行以下命令,使配置生效。

    sudo systemctl restart NetworkManager
  5. 執行以下命令,查看NetworkManager日誌。

    journalctl -u NetworkManager

NetworkManager不接管網卡配置

配置NetworkManager不接管網卡時,需要在keyfilesection中指定unmanaged-devices鍵。本文以NetworkManager配置不接管輔助網卡(如eth1)為例。

  1. 執行以下命令,查詢網卡狀態。

    nmcli device status

    回顯資訊如下圖所示,表示eth0eth1預設被NetworkManager接管,lo未被接管。

    image

  2. 執行以下命令,建立並開啟unmanaged.conf檔案。

    sudo vim /etc/NetworkManager/conf.d/unmanaged.conf
  3. i鍵進入編輯模式,將以下內容複寫到unmanaged.conf檔案中。

    [keyfile]
    unmanaged-devices=interface-name:eth1
  4. Esc鍵,輸入:wq後按Enter鍵,儲存配置。

  5. 執行以下命令,使配置生效。

    sudo systemctl restart NetworkManager
  6. 執行以下命令,查看修改是否成功。

    nmcli device status

NetworkManager外掛程式配置

NetworkManager使用ifcfg-rh/keyfile外掛程式來讀取和寫入網路設定,預設情況下,使用ifcfg-rh外掛程式來管理主網卡(如eth0),使用keyfile外掛程式來管理輔助網卡(如eth1)。

  • ifcfg-rh外掛程式用於從/etc/sysconfig/network-scripts/ifcfg-*檔案中讀取/寫入配置。

  • keyfile外掛程式是NetworkManager的通用外掛程式,每個串連都有一個對應的.nmconnection設定檔。

  1. 執行以下命令,開啟NetworkManager.conf設定檔。

    sudo vim /etc/NetworkManager/NetworkManager.conf
  2. i鍵進入編輯模式,添加或修改plugins的值。

    說明

    plugins中外掛程式優先順序是按照聲明順序決定的,即最左邊的優先順序越高。

    [main]
    plugins = ifcfg-rh, keyfile
  3. Esc鍵,輸入:wq後按Enter鍵,儲存配置。

  4. 執行以下命令,使配置生效。

    sudo systemctl restart NetworkManager
  5. 執行以下命令,查看配置是否成功。

    sudo journalctl -u NetworkManager | grep -i "settings plugin"