web-dev-qa-db-fra.com

Comment définir l'interface réseau préférée sous Linux

J'ai mon réseau configuré comme ça. http://docs.google.com/Doc?docid=0AZ1YxuLE4djaZGhqN2s1NmRfMjhjNjc0Ym1meg&hl=en

present network architecture

En d'autres termes: j'ai une machine (Calcium, exécutant Arch Linux) qui a deux interfaces réseau. eth0 est connecté à un routeur et est gigabit. Eth1 est connecté directement au réseau universitaire sur 10Megabit. La liaison montante du routeur est également connectée au réseau universitaire, et elle est également de 10 Mégabits.

Actuellement (je crois) tout le trafic sur Calcium passe par eth0, via le routeur, qu'il soit interne ou externe. (Comment puis-je confirmer cela?)

Idéalement, le trafic destiné au réseau interne (192.168.10.0/24) devrait transiter par eth0 vers le routeur, et où qu'il aille. TOUS les autres trafics devraient passer par eth1.

23
Mike Cooper

Votre table de routage réseau déterminera comment les paquets sont routés. Vous pouvez ajouter des itinéraires supplémentaires ou modifier la passerelle par défaut pour affecter le routage.

Si vous souhaitez une assistance supplémentaire, veuillez fournir votre table de routage.

Pour afficher la table de routage:

/sbin/route -n

Pour supprimer gw par défaut:

/sbin/route del default gw $IP

Pour ajouter gw par défaut:

/sbin/route add default gw $IP

Pour plus de détails, consultez la page de manuel. Il existe également d'autres façons de manipuler et d'afficher la table de routage.

netstat -r pour afficher et ip pour manipuler davantage.

14
Warner

Voici la réponse complète, au cas où cela aiderait les autres:

Pour créer des paquets avec des destinations 192.168.10. * Utilisez eth0, et tous les autres paquets utilisent eth1:

1) Affichez votre table de routage actuelle

ip route list

Une entrée sera quelque chose comme "par défaut via 192.168.1.1" où 192.168.1.1 est l'adresse IP de votre routeur (passerelle a.k.a.). N'oubliez pas les passerelles pour eth0 et eth1, car nous en aurons besoin plus tard.

2) Supprimez les itinéraires par défaut. (Attention: cela vous mettra hors ligne.)

ip route del default

3) Ajoutez un nouvel itinéraire par défaut (cela vous ramènera en ligne). Remplacez 192.168.1.1 ci-dessous par votre adresse IP de passerelle par le haut.

ip route add default via 192.168.1.1 dev eth1

4) Ajoutez une route spécifique qui sera desservie par eth0. Les itinéraires plus spécifiques ont automatiquement la priorité sur les itinéraires moins spécifiques.

ip route add 192.168.10.0/24 via 192.168.1.1 dev eth0

Enfin, vous pouvez demander à Linux quelle interface sera utilisée pour envoyer un paquet à une adresse IP spécifique:

ip route get 8.8.8.8

Si la configuration a fonctionné, les paquets vers 8.8.8.8 (serveur de Google) utiliseront eth1. Paquets vers n'importe quelle adresse IP de votre réseau local:

ip route get 192.168.10.7

utilisera eth0.

33
Luke