64 votes

Comment puis-je définir la priorité des connexions réseau dans Ubuntu ?

Si une machine Ubuntu 11.04 est connectée à la fois au WiFi et à la 3G, comment puis-je définir la priorité pour permettre aux applications (navigateur, etc.) d'utiliser d'abord le WiFi ? Si ce dernier n'est pas disponible, il devrait utiliser la 3G.

Essentiellement, je voudrais définir l'ordre dans lequel les connexions réseau sont utilisées.

Édition : Je recherche une approche plus simple qui serait utile pour ceux qui sont simplement à l'aise et non experts en Ubuntu/Linux.

68voto

shivams Points 1683

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 la métrique la plus basse est préférée pour Internet.

Pour utiliser cela, d'abord voir les métriques en utilisant la commande route:

$ route -n

Table de routage IP du noyau
Destination     Passerelle      Masque          Indicateurs Métrique Références Utilise Interface
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 plus basse, donc il sera préféré à wlan0. Si vous voulez préférer wlan0, alors baissez sa métrique:

sudo ifmetric wlan0 50

Maintenant, la table de routage ressemblera à ceci:

$ route -n

Table de routage IP du noyau
Destination     Passerelle      Masque          Indicateurs Métrique Références Utilise Interface
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.

18voto

harrymc Points 394411

Le réglage des métriques est comment vous changez les priorités. La métrique plus élevée 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 de router du trafic. Dans le cas où l'interface avec la métrique la plus basse est mise hors service, il utilisera l'interface avec la métrique la plus élevée car c'est la seule interface qui peut être utilisée pour router le trafic vers ce réseau/destination particulier.

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 modifier le fichier, identifiez les réseaux, et changez simplement le paramètre métrique et sauvegardez. Redémarrer est le moyen le plus simple de réinitialiser toutes les valeurs sans entrer dans les détails techniques de redémarrage des services réseau.

7voto

RedGrittyBrick Points 78148
  1. La priorisation des interfaces pour le trafic général est réalisée en manipulant les métriques de routage. Chaque route a des paramètres associés tels que les nombres de sauts et les bande passantes. Voir l'option "metric" dans la page de manuel pour la commande route.

    $ route -n
    Table de routage IP du noyau
    Destination     Passerelle         Masque         Indic 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
  2. La priorisation de l'accès des applications aux ressources réseau est souvent traitée par le "trafic shaping" - Je recommanderais d'utiliser 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 commande netstat -nr affiche les mêmes informations que route print, y compris les métriques de routage.

3voto

Praveen Sripati Points 1675

Je n'ai pas vraiment essayé, mais NCD (Network Configuration Daemon - 1) peut être utilisé à cette fin. Le site prétend rendre la configuration du réseau facile. La syntaxe semble être simple.

Attendre une connexion réseau. Préférer eth1 en le plaçant devant eth0.

list("NET-eth1", "NET-eth0") pnames;

(1) - http://code.google.com/p/badvpn/wiki/NCD

3voto

PnotNP Points 323

Cela est dû aux métriques des routes. Vous souhaitez supprimer la route par défaut avec la métrique la plus basse puis rétablir l'ancienne route avec une métrique plus élevée. Veuillez suivre les commandes ci-dessous.

Disons que votre table de routage ressemble à ceci :

# route -n
Table de routage IP du noyau
Destination     Passerelle         Masque réseau    Indicateurs Métrique Réf    Util. Interface
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

Supprimez maintenant la passerelle par défaut

# route delete default gateway

Rétablissez maintenant l'ancienne passerelle par défaut (notez que la métrique dans ce cas est supérieure, 102, à la route par défaut actuelle 101)

# route add default gw 10.16.87.254 metric 102 dev ens38                                                              
# route -n
Table de routage IP du noyau
Destination     Passerelle         Masque réseau    Indicateurs Métrique Réf    Util. Interface
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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X