web-dev-qa-db-fra.com

Comment changer la priorité des interfaces réseau

J'ai 3 interfaces réseau: lo, new0 et new1. J'utilise new1 pour accéder à Internet.

Mon ordinateur est devenu fou il y a quelques jours et a commencé à essayer d'accéder à Internet sur lo. Faire ifconfig lo down fait que les paquets passent par new0. Mais je veux qu'il utilise new1.

Je peux utiliser ssh, télécharger des torrents et utiliser d'autres protocoles, mais http et https ne fonctionnent pas; Je viens d'obtenir instantanément "Serveur introuvable" sans temps de chargement dans le navigateur.

Comment le système peut-il préférer new1 à new0 et lo?

Je ne suis pas en mesure de changer ma metric, new1 et new0 sont bloqués à 1.

2
bob dylan

La priorité des interfaces pour le trafic général se fait en 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 netstat -nr et l'option "metric" dans la page de manuel pour la commande route.

Pour un contrôle très simple de l’utilisation des métriques de l’outil ifmetric :

Sudo apt-get update

Sudo apt-get install ifmetric

Une fois installé, utilisez-le pour changer la valeur de métrique de l'interface, reportez-vous à ceci http://manpages.ubuntu.com/manpages/vivid/man8/ifmetric.8.html

3
Prashant Chikhalkar

La métrique peut changer à plusieurs endroits. Le meilleur travail pour moi est la configuration dans etc/network/interface

auto lo
iface lo inet loopback
auto new0
iface new0 inet static
    address xxx.xxx.xxx.xxx
    netmask xxx.xxx.xxx.xxx
    up route add default gw aaa.aaa.aaa.aaa metric 10
    down route del default gw aaa.aaa.aaa.aaa

auto new1
iface new1 inet static
    address yyy.yyy.yyy.yyy
    netmask yyy.yyy.yyy.yyy
    up route add default gw bbb.bbb.bbb.bbb
    down route del default gw bbb.bbb.bbb.bbb

De cette façon, lorsque l'interface new0 monter, la route à la passerelle aaa.aaa.aaa.aaa sera métrique 10. L'interface new1 affichera la route à bbb.bbb.bbb.bbb avec une métrique inférieure et le trafic sera acheminé cette interface.

Si vous faites Sudo ifdown new1 sur le câble de débranchement de la route de la carte sera supprimé et route vers aaa.aaa.aaa.aaa sera la nouvelle meilleure route pour le trafic.

Une fois encore, brin int new1 up sera à nouveau ajouté et bbb.bbb.bbb.bbb sera de nouveau votre meilleur itinéraire.

Modifier 1

La priorité d’itinéraire n’est pas la même que l’itinéraire basé sur le port de destination.

Mais je vous donne un exemple pour acheminer le trafic pour ssh, port 22 et vous pouvez le mettre en œuvre pour le port dont vous avez besoin pour

Commençons par le iptable. Ici, nous prendrons ssh comme service de routage. Utilisez la table mangle de iptable pour modifier les paquets ssh.

  Sudo iptables -t mangle -A OUTPUT -p tcp –dport 22 -j MARK –set-mark 0×1

Nous marquons tous les paquets avec le port de destination 22 comme "0 × 1 ′".

Maintenant, enregistrez et redémarrez iptables.

service iptables save
service iptables restart

Pour supprimer cette entrée de iptables, nous pouvons utiliser -D au lieu de -A.

Ensuite, créez une nouvelle table de routage IP dans /etc/iproute2/rt_table en donnant simplement une entrée.

100 sshtable

Règle d'écriture pour les paquets ssh.

ip rule add fwmark 0×1 lookup sshtable

Ajouter une route à la nouvelle table sshtable. Nous allons utiliser ici '192.168.1.1' comme passerelle pour ssh. L’adresse ’192.168.1.1’, dans cet exemple, sera l’adresse de passerelle pour new2 Tout le reste du trafic passera par la passerelle par défaut appelée new1, qui peut être vue par la commande IP route show.

Nous copions toutes les entrées à l'exception de l'entrée de passerelle par défaut de la table principale.

 Sudo ip route show table main | grep -Ev ^default | while read ROUTE ; do ip route add table sshtable $ROUTE; done

Ajouter une entrée de passerelle par défaut pour les paquets ssh à la table sshtable

  Sudo ip route add default via 192.168.1.1 table sshtable

Utilisez ip route show table sshtable pour afficher tous les itinéraires en sshtable.

C’est ça… nous l’avons fait !!!

Tout répéter pour imap sur le port 465 ou hhtp sur le port 80 ou https sur le port 443 ...

2
2707974