Hinzufügen von zwei Standard-Gateways zur Debian-Schnittstellendatei

10

Dies ist meine Schnittstellendatei:

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

Wenn ich den Netzwerkdämon neu starte, wird folgende Fehlermeldung angezeigt : eth1 is not up. Ich möchte, dass zwei Standard-Gateways das erreichen, was in der akzeptierten Antwort auf die Frage hier erwähnt wird . So sollte meine Routing-Tabelle sein:

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

Ich habe die obige Tabelle mit ifconfigund route add default gwBefehlen erhalten. Aber ich möchte es mit der /etc/network/interfacesDatei machen. Wie kann ich es tun?

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
quelle
1
Solange es Ihnen egal ist, wie Ihr Verkehr ausgeht. Unter Solaris und früheren Linux-Versionen wurde dies in Round-Robin-Manier durchgeführt
Karlson,
Ihre Schnittstellendatei sieht korrekt aus. Normalerweise ist DHCP heute viel praktischer und das habe ich unter diesen Umständen verwendet. Sie können bestimmten MAC-Adressen in den Einstellungen des DHCP-Servers eine festgelegte IP-Adresse zuweisen.
Casualunixer
Nur eine Randnotiz: NetworkManager hat kürzlich eine umfassendere Unterstützung für Routenmetriken hinzugefügt. Es behandelt sie automatisch oder Sie können sie manuell einstellen. Dies ist möglicherweise bequemer, oder Sie möchten eine Funktionsanforderung für Ihr Tool einreichen.
Pavel Šimerda
Außerdem möchten Sie möglicherweise Details hinzufügen, warum Sie überhaupt zwei Standardrouten haben möchten. Ich kann nur vermuten, dass zwei Routen mit unterschiedlichen Metriken nicht wie erwartet funktionieren.
Pavel Šimerda
Die Schnittstellendatei ermöglicht das Festlegen einer Metrik. Es sollte nicht notwendig sein, Routen manuell mit up und post-up hinzuzufügen
Goswin von Brederlow

Antworten:

10

Diese / etc / network / interfaces funktioniert für mich unter 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

Ich erhalte zwei Standardrouten:

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

Beachten Sie die Metrik. Habe ich deine Frage verstanden?

Eli Rosencruft
quelle
Das zugeordnete Netzwerk und Gateway eth0sollte zuerst angezeigt werden, da es sich um das primäre Netzwerk und Gateway handelt. Was ist die Ausgabe von netstat -anroder nur routeBefehle in Ihrem Setup?
Nixnotwin
Ich habe bearbeitet und Metrikparameter hinzugefügt, um die gewünschte Routenreihenfolge zu erhalten. Mein System verfügt über eine Reihe anderer Schnittstellen, die ich aus der Ausgabe heraus bearbeitet habe, und meine Schnittstellennamen sind nicht ethX. Daher bin ich nicht 100% sicher, dass meine Lösung für Sie funktioniert. Probieren Sie es aus und teilen Sie mir die Ergebnisse mit.
Eli Rosencruft
Das Hinzufügen einer Metrik für Standard-Gateways funktioniert. Aber wie kann ich Metriken für Routen hinzufügen? Meine Routing-Tabelle hat ein Subnetz der Klasse B, das vor meinem anderen Subnetz der Klasse A stehen sollte. Die Angabe metric 3aus dem Debian- ifmetricPaket hat bei mir nicht funktioniert.
Nixnotwin
1
Der Kernel speichert die Metrik, verwendet sie jedoch nicht zum Weiterleiten. Um die Metrik verwenden zu können, müssen Sie einen Routing-Daemon wie Quagga (war Zebra) oder Bird ausführen.
Eli Rosencruft
1
@EliRosencruft können Sie eine Referenz plz zitieren?
drAlberT