Si une machine Ubuntu 11.04 est connectée au WiFi et à la 3G simultanément, comment puis-je définir la priorité pour laisser les applications (navigateur, etc.) utiliser d'abord le WiFi? Si ce n'est pas disponible, il devrait utiliser la 3G.
En gros, j'aimerais définir l'ordre dans lequel les connexions réseau sont utilisées.
Edit: Je cherche une approche plus facile qui pourrait être utile à ceux qui sont à l’aise et non aux experts en Ubuntu/Linux.
Je suis surpris que personne n'ait mentionné la commande la plus simple pour faire cela: ifmetric
. Il peut être installé en utilisant Sudo apt-get install ifmetric
. Cette commande peut être utilisée pour changer 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, commencez par consulter les mesures à l'aide de la commande route
:
$ 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 voulez préférer wlan0
, abaissez alors sa métrique:
Sudo ifmetric wlan0 50
Maintenant, la table de routage ressemblerait à ceci:
$ 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 immédiatement reflété.
Définir les métriques permet de modifier les priorités. La métrique supérieure est plus "coûteuse" à utiliser, de sorte que le système d'exploitation utilisera les interfaces avec la métrique la plus basse s'il doit acheminer le trafic. Si 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/cette destination.
Les métriques sont spécifiées dans le fichier /etc/network/interfaces , le lien pointe vers la documentation.
Utilisez n’importe quel éditeur de texte pour éditer le fichier, identifiez les réseaux, puis modifiez le paramètre metric
et enregistrez. 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 priorité des interfaces pour le trafic général est réalisée en manipulant les métriques de routage. Chaque route est associée à des paramètres tels que le nombre de sauts et la largeur de bande. Voir l'option "métrique" dans la page de manuel pour la commande route
.
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.254 255.255.255.255 U 0 0 0 eth0
192.168.1.0 0.0.0.0 255.255.255.0 U 256 0 0 eth0
Donner la priorité à l'accès des applications aux ressources du réseau est souvent abordé par "lissage du trafic" - j'utiliserais un moteur de recherche Web pour voir si Ubuntu ou le routeur peut le faire.
Note de bas de page.
Sous MS Windows, mais pas sous Linux, la commande netstat -nr
fournit les mêmes informations que route print
. Y compris les métriques de routage.
Je n'ai pas vraiment essayé, mais NCD (Network Configuration Daemon - 1) peut être utilisé à cette fin. Le site prétend faciliter la configuration du réseau. La syntaxe semble être simple.
#Attendez une connexion réseau. Préférez eth1 en le plaçant devant eth0.
liste ("NET-eth1", "NET-eth0") pnames;
Tout cela est dû aux métriques de route. Vous souhaitez supprimer la route par défaut avec la métrique la plus basse, puis rétablir l'ancienne route avec la métrique la plus élevée. Veuillez suivre les commandes ci-dessous.
Disons que votre table de routage ressemble à ceci:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.16.87.254 0.0.0.0 UG 100 0 0 ens38
0.0.0.0 192.168.151.2 0.0.0.0 UG 101 0 0 ens33
10.16.86.64 0.0.0.0 255.255.255.248 U 100 0 0 ens38
10.16.87.254 0.0.0.0 255.255.255.255 UH 100 0 0 ens38
10.16.88.6 10.16.87.254 255.255.255.255 UGH 100 0 0 ens38
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 ens38
192.168.151.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
Maintenant, supprimez la passerelle par défaut
# route delete default gateway
Maintenant, rétablissez l'ancienne passerelle par défaut (notez que la mesure dans ce cas est supérieure à 102 par rapport à la route par défaut actuelle 101).
# route add default gw 10.16.87.254 metric 102 dev ens38
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.151.2 0.0.0.0 UG 101 0 0 ens33
0.0.0.0 10.16.87.254 0.0.0.0 UG 102 0 0 ens38
10.16.86.64 0.0.0.0 255.255.255.248 U 100 0 0 ens38
10.16.87.254 0.0.0.0 255.255.255.255 UH 100 0 0 ens38
10.16.88.6 10.16.87.254 255.255.255.255 UGH 100 0 0 ens38
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 ens38
192.168.151.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33