Je suis surpris que personne n'a mentionné la commande la plus simple de le faire: ifmetric
. Il peut être installé à l'aide de sudo apt-get install ifmetric
. Cette commande peut être utilisée pour modifier la métrique de n'importe quelle interface. L' interface avec une métrique inférieure est préférée pour Internet.
Pour l'utiliser, consultez d'abord les mesures à l'aide de la route
commande:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.42.0.1 0.0.0.0 UG 100 0 0 eth0
0.0.0.0 10.42.0.2 0.0.0.0 UG 600 0 0 wlan0
Ici, eth0
a une métrique inférieure, il sera donc préférable à wlan0
. Si vous préférez wlan0
, réduisez sa métrique:
sudo ifmetric wlan0 50
Maintenant, la table de routage ressemblerait à:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.42.0.2 0.0.0.0 UG 50 0 0 wlan0
0.0.0.0 10.42.0.1 0.0.0.0 UG 100 0 0 eth0
Maintenant, Linux utilisera wlan0
pour Internet. Le changement sera reflété immédiatement.
crontab -e
puis ajoutez la ligne à la fin:@reboot sudo ifmetric wlan0 50
.La définition des métriques permet de modifier les priorités. La métrique supérieure est plus "coûteuse" à utiliser, donc le système d'exploitation utilisera les interfaces avec la métrique la plus basse s'il a besoin d'acheminer le trafic. Dans le cas où l'interface métrique inférieure est arrêtée, elle utilisera l'interface métrique supérieure car c'est la seule interface qui peut être utilisée pour acheminer le trafic vers ce réseau / destination particulier.
Les métriques sont spécifiées dans le fichier / etc / network / interfaces , des liens pointent vers la documentation.
Utilisez n'importe quel éditeur de texte pour modifier le fichier, identifier les réseaux et simplement modifier le
metric
paramètre et enregistrer. Le redémarrage est le moyen le plus simple de réinitialiser toutes les valeurs sans entrer dans les détails geek du redémarrage des services réseau.la source
La hiérarchisation des interfaces pour le trafic général se fait en manipulant les métriques de routage. Chaque route a des paramètres associés tels que le nombre de sauts et les bandes passantes. Voir l'option "métrique" dans la page de manuel de la
route
commande.La priorisation de l'accès des applications aux ressources réseau est souvent traitée par la "mise en forme du trafic" - j'utiliserais un moteur de recherche Web pour voir si Ubuntu ou le routeur peuvent le faire.
Note de bas de page.
Sous MS Windows, mais pas sous Linux, la
netstat -nr
commande génère les mêmes informations queroute print
. Y compris les métriques de routage.la source
Je ne l'ai pas vraiment essayé, mais NCD (Network Configuration Daemon - 1) peut être utilisé à cet effet. Le site prétend faciliter la configuration du réseau. La syntaxe semble simple.
#Attendez une connexion réseau. Préférez eth1 en le plaçant devant eth0.
list ("NET-eth1", "NET-eth0") pnames;
(1) - http://code.google.com/p/badvpn/wiki/NCD
la source
pnames
liste n'est en fait qu'un argument de lamultidepend()
déclaration de la ligne suivante - c'est celle qui met en œuvre les priorités. Le mécanisme derrière cela est que lorsqueeth1
vient quandeth0
est déjà en place, il s'exécutemultiprovide("NET-eth1");
, carNET-eth1
est en face deNET-eth0
,multidepend()
descendra et reviendra immédiatement, mais exposant les variables dueth1
processus au lieu deeth0
.C'est tout à cause des métriques de route. Vous souhaitez supprimer l'itinéraire par défaut avec la métrique la plus basse, puis rétablir l'ancien itinéraire avec la métrique la plus élevée. Veuillez suivre les commandes ci-dessous.
Disons que votre table de routage ressemble à ceci:
Maintenant, supprimez la passerelle par défaut
Réinstallez maintenant l'ancienne passerelle par défaut (notez que la métrique dans ce cas est supérieure à 102 par rapport à la route par défaut actuelle 101)
la source
Gateway
=10.16.87.254
, qui estUG
la plus basseMetric
, et l'étape 2 la remet avec une valeur plus élevéeMetric
afin qu'elle soit toujours disponible en tant que sauvegarde en cas d'192.168.151.2
indisponibilité.[Mise à jour] Depuis Ubuntu 18.04 LTS (serveur),
netplan
est le wrapper par défaut pour la gestion du réseau. La configuration de Netplan se fait par défaut via un fichier YAML/etc/netplan/01-netcfg.yaml
(plus de détails ici ).La métrique de routage est définie par l'
metric
option " ", qui attend un entier positif (il100
s'agit généralement de la valeur par défaut). Voici l' exemple de la page de référence:La route avec la plus petite
metric
(longueur de trajet) devient la passerelle "préférée". (Utilisez:sudo netplan try
pour activer les modifications)Notez que dans un environnement itinérant (plusieurs connexions, allumées et éteintes), vous souhaiterez peut-être définir le
optional
paramètre (booléen) surtrue
(la valeur par défaut est false):Notez la syntaxe légèrement différente pour la métrique de route dans le cas des connexions DHCP.
Vous pouvez également l'utiliser
NetworkManager
comme moteur de rendu, ce qui, je suppose (ne m'a pas encore testé) vous permettrait de voir / modifier cette partie de la configuration également via des outils GUI.(Le tout dernier «grand» exemple sur la page de référence montre une telle utilisation hybride des deux moteurs de rendu).
Voir aussi cette question (askubuntu) .
la source