2017-04-05 57 views

回答

2

隨着nmcli實用程序,必要的步驟是:

  1. 驗證網絡管理器是version 1.0.6+

    $ nmcli -v nmcli tool, version 1.9.0

  2. 檢查GENERAL.METERED的界面上:

    $ nmcli -t -f GENERAL.METERED dev show eth1 GENERAL.METERED:unknown

  3. values are: unknown, yes, no, yes (guessed), no (guessed)

  4. 強制值是這樣完成的:

    $ nmcli dev modify wlan1 connection.METERED yes Connection successfully reapplied to device 'wlan1' $ nmcli -t -f GENERAL.METERED dev show wlan1 GENERAL.METERED:yes

而且,爲了獲得由設備分組列表:

$ nmcli -t -f GENERAL.DEVICE,GENERAL.METERED dev show 

    GENERAL.DEVICE:wlan1 
    GENERAL.METERED:yes 

    GENERAL.DEVICE:eth1 
    GENERAL.METERED:unknown 

    GENERAL.DEVICE:lo 
    GENERAL.METERED:unknown 

試圖削減這隻需要默認路由的信息將仍然需要a call to another command作爲NetworkManager不試圖區分處於連接狀態的多個設備:

$ nmcli -t -f GENERAL.DEVICE,GENERAL.METERED dev show `ip route list 0/0 | sed -r 's/.*dev (\S*).*/\1/g'` 
+0

非常好!有沒有辦法只顯示第一個默認路由的網絡信息?對於許多VPN和其他虛擬網絡,'nmcli -t -f GENERAL.METERED dev show'的輸出(沒有設備)是我所有可能值的混合體。 – phihag

+0

我已經添加了一種方法來查看設備名稱,但我認爲您可能需要詢問'ip route'並理想'ip monitor'來可靠地跟蹤默認路由或相關服務器的接口,然後執行/重做nmcli查詢。 – lossleader

+0

謝謝!我會在幾個小時內獎勵賞金。 – phihag

相關問題