Ajouter deux passerelles par défaut dans le fichier d'interfaces Debian

10

Voici mon fichier d'interfaces:

auto eth0
iface eth0 inet static
   address 192.168.1.10
   netmask 255.255.255.0
   gateway 192.168.1.1

auto eth1
iface eth1 inet static
   address 192.168.2.10
   netmask 255.255.255.0
   gateway 192.168.2.1

Si je redémarre en réseau démon je reçois cette erreur: eth1 is not up. Je veux que deux passerelles par défaut réalisent ce qui est mentionné dans la réponse acceptée à la question ici . Voici comment ma table de routage devrait être:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
default         192.168.2.1     0.0.0.0         UG    0      0        0 eth1
192.168.1.0     *               255.255.255.0   U     0      0        0 eth0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth1

J'ai obtenu le tableau ci-dessus en utilisant les commandes ifconfiget route add default gw. Mais je veux le faire avec le /etc/network/interfacesfichier. Comment puis-je le faire?

Update1:

iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    up ip route del 192.168.1.0/24
    post-up ip route add 192.168.1.0/24 dev eth0 metric 1
    up route add default gw 192.168.1.1 metric 1
nixnotwin
la source
1
Tant que vous ne vous souciez pas de la façon dont votre trafic disparaît. Sur Solaris et les versions antérieures de Linux, cela a été fait à la manière d'un Round-Robin
Karlson
Votre fichier d'interface semble correct. Habituellement, DHCP est beaucoup plus pratique aujourd'hui et c'est ce que j'ai utilisé dans cette circonstance. Vous pouvez attribuer à des adresses MAC spécifiques une adresse IP définie dans les paramètres du serveur DHCP.
casualunixer
Juste une note latérale, NetworkManager a récemment ajouté un support plus étendu pour les métriques de route. Il les gère automatiquement ou vous pouvez les définir manuellement. Cela peut être un moyen plus pratique ou vous pouvez déposer une demande de fonctionnalité pour votre outil.
Pavel Šimerda
Vous pouvez également ajouter des détails sur la raison pour laquelle vous souhaitez avoir deux itinéraires par défaut. Je peux seulement deviner que deux itinéraires avec des métriques différentes ne fonctionneront pas comme vous vous y attendez.
Pavel Šimerda
Le fichier d'interface permet de définir une métrique. Il ne devrait pas être nécessaire d'ajouter manuellement des itinéraires à l'aide de la montée et de la
descente

Réponses:

10

Ce / etc / network / interfaces fonctionne pour moi sur 2.6.32-40 Ubuntu 10.04 LTS:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    network 192.168.1.0
    broadcast 192.168.1.254
    post-up route add default gw 192.168.1.1 metric 1
    pre-down route del default gw 192.168.1.1

auto eth1
iface eth1 inet static
    address 192.168.2.10
    netmask 255.255.255.0
    network 192.168.2.0
    broadcast 192.168.2.254
    post-up route add default gw 192.168.2.1 metric 2
    pre-down route del default gw 192.168.2.1

J'obtiens deux itinéraires par défaut:

root@gamla:/etc/network# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         192.168.1.1     0.0.0.0         UG    1      0        0 eth0
0.0.0.0         192.168.2.1     0.0.0.0         UG    2      0        0 eth1

Notez la métrique. Ai-je compris votre question?

Eli Rosencruft
la source
Le réseau et la passerelle associés à eth0doivent apparaître en premier car il s'agit du réseau et de la passerelle principaux. Quelle est la sortie netstat -anrou simplement les routecommandes de votre configuration?
nixnotwin
J'ai édité, en ajoutant des paramètres métriques pour obtenir l'ordre d'itinéraire souhaité. Mon système a un certain nombre d'autres interfaces que j'ai éditées hors de la sortie, et mes noms d'interface ne sont pas ethX, donc je ne suis pas sûr à 100% que ma solution fonctionnera pour vous. Essayez-le et faites-moi connaître les résultats.
Eli Rosencruft
L'ajout de métrique pour les passerelles par défaut fonctionne. Mais comment puis-je ajouter une métrique pour les itinéraires? Ma table de routage a un sous-réseau de classe B qui devrait précéder mon autre sous-réseau de classe A. La spécification à metric 3partir du ifmetricpaquet debian n'a pas fonctionné pour moi.
nixnotwin
1
Le noyau stocke la métrique mais ne l'utilise pas pour le routage. Pour utiliser la métrique, vous devez exécuter un démon de routage tel que quagga (était zèbre) ou oiseau.
Eli Rosencruft
1
@EliRosencruft pouvez-vous citer un plz de référence?
drAlberT