2017-04-05 3 views

Répondre

2

Avec l'utilitaire nmcli, les mesures nécessaires sont:

  1. vérifier NetworkManager est version 1.0.6+:

    $ nmcli -v nmcli tool, version 1.9.0

  2. contrôle GENERAL.METERED sur une interface:

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

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

  4. Obliger la valeur se fait comme suit:

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

Et, pour obtenir une liste groupée par appareil:

$ 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 

Essayer de couper cette jusqu'à l'information sur seulement la route par défaut nécessiterait encore a call to another command comme NetworkManager n'essaie pas de faire la distinction entre plusieurs périphériques dans un état connecté:

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

Excellent! Existe-t-il un moyen de montrer seulement l'information pour le réseau le premier itinéraire par défaut passe? Avec de nombreux VPN et autres réseaux virtuels, la sortie de 'nmcli -t -f GENERAL.METERED dev show' (sans périphérique) est un mélange de toutes les valeurs possibles pour moi. – phihag

+0

J'ai ajouté un moyen de voir les noms des périphériques, mais je pense que vous devrez peut-être demander 'ip route' et idéalement' ip monitor' pour suivre de façon fiable l'interface de la route par défaut ou du serveur concerné puis refaire la requête nmcli . – lossleader

+0

Merci! Je vais récompenser la prime dans quelques heures. – phihag