Zwei Default Gateways

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Zwei Default Gateways

Beitrag von rannseier » 27.05.2021 11:00:26

Hallo zusammen,

Ein Server (VM) mit Debian Buster soll in zwei Netze (einmal public, einmal privat).

/etc/network/interfaces sieht so aus:

Code: Alles auswählen

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback
# vorher /etc/iproute2/rt_tables ergänzen um rt2+rt3!

# The primary network interface
allow-hotplug ens18
auto ens18
iface ens18 inet static
  address 172.16.6.97
  netmask 255.255.255.0
  gateway 172.16.6.1
  pre-up ip addr flush dev ens18
  post-up ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97 table rt2
  post-up ip route add default via 172.16.6.1 table rt2
  post-up ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97
  post-up ip rule add from 172.16.6.97 table rt2

allow-hotplug ens19
auto ens19
iface ens19 inet static
  address xxx.70.133.107
  netmask 255.255.255.248
  gateway xxx.70.133.105
  pre-up ip addr flush dev ens19
  post-up ip route add xxx.70.133.104/29 dev ens19 src xxx.70.133.107 table rt3
  post-up ip route add default via xxx.70.133.105 table rt3
  post-up ip route add xxx.70.133.104/29 dev ens19 src xxx.70.133.107
  post-up ip rule add from xxx.70.133.107 table rt3
Damit kommt aber immer nur eins der beiden Interface hoch. Das jeweils andere läuft nur dann, wenn ich die einzelnen ip-Befehle manuell verwende.

Was mache ich falsch?


Gruß,
Rannseier

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Zwei Default Gateways

Beitrag von heisenberg » 27.05.2021 11:18:30

Und welches der beiden Default-GWs soll aktiv sein? Wahrscheinlich beide? Das würde so direkt nicht gehen. Default-GW gibt es nur eines. Und wenn beide aktiv sind, dann wird nur eines davon effektiv das Default-GW sein.

Genauere Einstellungen sind da z. B. mit verschiedenen Routing-Tabellen machbar. Siehe z. B. hier:

https://www.thomas-krenn.com/de/wiki/Zw ... nem_System

Gibt es Fehlermeldungen in den Logs?
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Re: Zwei Default Gateways

Beitrag von rannseier » 27.05.2021 11:36:13

Das log bleibt seit pre-up ip addr flush dev ens18/ens19 fehlerlos.

Irgendwie werden die post-up Befehle nicht ausgeführt.

Bei jedem Reboot wechselt das Interface, das nicht funktioniert. Gerade war es das private Netzwerk.

Nehme ich das der Datei die folgenden Befehle

Code: Alles auswählen

  post-up ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97 table rt2
  post-up ip route add default via 172.16.6.1 table rt2
  post-up ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97
  post-up ip rule add from 172.16.6.97 table rt2
und verwendet sie manuell, dann sind beide Interface erreichbar:

Code: Alles auswählen

root@debian:/etc/network# ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97 table rt2
root@debian:/etc/network# ip route add default via 172.16.6.1 table rt2
root@debian:/etc/network# ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97
RTNETLINK answers: File exists
root@debian:/etc/network# ip rule add from 172.16.6.97 table rt2
root@debian:/etc/network# 
Ich hatte es auch schon mit up anstelle von pre-up probiert, der "Erfolg" war der gleiche.

rannseier
Beiträge: 57
Registriert: 24.09.2007 12:37:30

Re: Zwei Default Gateways

Beitrag von rannseier » 27.05.2021 16:11:13

Habs nun. Was für ein rotz..

Code: Alles auswählen

root@debian:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# vorher /etc/iproute2/rt_tables ergänzen um rt2+rt3!
# allow-hotplug ist das gleiche wie auto 
# auto muss sein, damit das iface automatisch hochkommt
# pre-ip flush muss sein, wenn zum booten über Grub schon eine IP vergeben wurde.
# Dort routen konfigurieren: /etc/network/if-up.d/script 

auto ens18
iface ens18 inet static
  address 172.16.6.97
  netmask 255.255.255.0
  gateway 172.16.6.1
  pre-up ip addr flush dev ens18

auto ens19
iface ens19 inet static
  address xxx.70.133.107
  netmask 255.255.255.248
  gateway xxx.70.133.105
  pre-up ip addr flush dev ens19
root@debian:~# 

Code: Alles auswählen

root@debian:~# cat /etc/network/if-up.d/script
#!/bin/bash

# (date; set; echo) >> /tmp/iptables-cmd.log

  ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97 table rt2
  ip route add default via 172.16.6.1 table rt2
  ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97
  ip rule add from 172.16.6.97/32 table rt2
  ip rule add to 172.16.6.97/32 table rt2
  
  ip route add xxx.70.133.104/29 dev ens19 src xxx.70.133.107 table rt3
  ip route add default via xxx.70.133.105 table rt3
  ip route add xxx.70.133.104/29 dev ens19 src xxx.70.133.107
  ip rule add from xxx.70.133.107/32 table rt3
  ip rule add to xxx.70.133.107/32 table rt3

exit 0
root@debian:~# 
/etc/network/if-up.d/script wird drei mal aufgerufen: lo, --all und entwede ens18 _oder_ ens19 (zufällig). Ein Abfrage, mit welchem Interface gestartet wird ist auch fürn Popo. Anders als mit dem Holzhammer geht es wohl nicht.

Schön ist anders.

Benutzeravatar
heisenberg
Beiträge: 3473
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: Zwei Default Gateways

Beitrag von heisenberg » 27.05.2021 21:15:13

rannseier hat geschrieben: ↑ zum Beitrag ↑
27.05.2021 16:11:13
/etc/network/if-up.d/script wird drei mal aufgerufen: lo, --all und entweder ens18 _oder_ ens19 (zufällig). Ein Abfrage, mit welchem Interface gestartet wird ist auch fürn Popo. Anders als mit dem Holzhammer geht es wohl nicht.
Ich lehne mich mal etwas aus dem Fenster, bzw. gebe mal meine Einstellung zum Besten: Du kannst davon ausgehen, dass bei so etwas wie Debian sehr viel vernünfig läuft(Praise Debian). Und so etwas wie Holzhammermethode oder Notgefrickel ist eher so gut wie fast nie nötig. Der Punkt ist meistens: Man weiß noch nicht wie's geht, bzw. hat die verfügbare Dokumentation noch nicht ausreichend genug gelesen.

Im Fall von /etc/network/interfaces werden Variablen gesetzt. Siehe dazu man interfaces. Dort nach "environment variables" suchen.

D. h. statt vieler post-up(alias für "up"!) Zeilen würde ich es lieber in Scripte im Ordner /etc/network/if-up.d/ ablegen. Dort kann man dann bequemer als mit einem Einzeiler die Variablen benutzen.

Im Übrigen: Sorry, dass ich Deinen Erstbeitrag nur sehr oberflächlich gelesen haben und noch nicht mal das "ip rule" mitbekommen habe und dementsprechend überflüssig geantwortet habe.
... unterhält sich hier gelegentlich mangels wunschgemäßer Gesprächspartner mal mit sich selbst.

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Zwei Default Gateways

Beitrag von bluestar » 08.06.2021 22:28:52

rannseier hat geschrieben: ↑ zum Beitrag ↑
27.05.2021 11:00:26

Code: Alles auswählen

source /etc/network/interfaces.d/*
# The primary network interface
allow-hotplug ens18
auto ens18
iface ens18 inet static
  address 172.16.6.97
  netmask 255.255.255.0
  gateway 172.16.6.1
  pre-up ip addr flush dev ens18
  post-up ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97 table rt2
  post-up ip route add default via 172.16.6.1 table rt2
  post-up ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97
  post-up ip rule add from 172.16.6.97 table rt2
Was mache ich falsch?
Ich fass mich mal kurz, da ist eine post-up Zeile zuviel und zwar ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97 diese Zeile wird durch die Konfiguration aus address und netmask automatisch erzeugt, bei deinem anderen Interface hast du diese Zeile mit analogen Werten auch zuviel drinnen.

Daher erklärt sich auch der Fehler wenn du es auf der Konsole per Hand eintippst:
rannseier hat geschrieben: ↑ zum Beitrag ↑
27.05.2021 11:36:13

Code: Alles auswählen

root@debian:/etc/network# ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97 table rt2
root@debian:/etc/network# ip route add default via 172.16.6.1 table rt2
root@debian:/etc/network# ip route add 172.16.6.0/24 dev ens18 src 172.16.6.97
RTNETLINK answers: File exists
root@debian:/etc/network# ip rule add from 172.16.6.97 table rt2
root@debian:/etc/network# 
Des weiteren solltest du dich entscheiden welches deiner Interfaces die gateway Zeile bekommt, nur ein Default-Gateway macht in deinem Setup Sinn, wäre das mein Server so würde ich das Default-Gateway bei dem internen Netz entfernen. Apropos internes Netz.... Hast du im internen Netz weitere private Subnetze, so musst du diese natürlich auch explizit über ens18 routen.

Was ich dir noch raten würde ersetze in den post-up Zeilen ensXX einfach durch $IFACE und du hast weniger Stress, wenn sich mal die Namen deiner Netzwerk-Interfaces ändern.

xopen
Beiträge: 99
Registriert: 06.02.2003 11:34:34
Wohnort: Hannover

Re: Zwei Default Gateways

Beitrag von xopen » 08.02.2022 21:26:41

ich weis das ist schon etwas her das Thema aber ich stehe da auch so ehnlich da

also ist zustand

node mit proxmox bei hetzner

node ip sauber ( soll für vm genutz werden)

node mit ipv4 sub netz aktivem routign auf vm noch am laufen

zum übergang soll das ganze mit der haupt ip vom node mit nat laufen was geht solange ich nur die eine adresse nutze bzw if.

das ist so mein prob der ping intern ist kein prob aber ich würde gerne erreichen das über beide netze das system bis zur umstellung laufen

habe auch ipv6 /64 /56 beide am laufen aber das spielt ja keine sache



wenn was unklar ist bitte fragen mein deutsch ist nicht so gut
fuck suse. debian is the best os

Benutzeravatar
bluestar
Beiträge: 2334
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Zwei Default Gateways

Beitrag von bluestar » 08.02.2022 21:39:30

xopen hat geschrieben: ↑ zum Beitrag ↑
08.02.2022 21:26:41
wenn was unklar ist bitte fragen mein deutsch ist nicht so gut
Was verstehst du unter Node?

Dein Text ist sehr abstrakt, deine Ist-Konfig und dein Problem/Wunsch werden nicht so ganz klar.

P.S.: English is also okay if you want to PM me

xopen
Beiträge: 99
Registriert: 06.02.2003 11:34:34
Wohnort: Hannover

Re: Zwei Default Gateways

Beitrag von xopen » 08.02.2022 21:44:03

habe ich mir schon gedacht ich schreibe das mal anders auf.
fuck suse. debian is the best os

Antworten