Umrouting über statische Routen beim Ausfall eines Gateway

Started by Doerchi, January 09, 2025, 04:06:36 PM

Previous topic - Next topic
Quote from: viragomann on January 10, 2025, 02:17:54 PM
Quote from: Doerchi on January 10, 2025, 01:15:12 PMDa ich ja alles in den Tunnel routen möchte, muß ich eine Default-Route auf den Tunnel setzten.

Aber was spricht dagegen, dass die beiden anderen Gateways auch als upstream Gateway festgelegt werden?
Wenn gewünscht oder nötig, kannst du für jedes auch eine Priorität definieren, um festzulegen, welches bevorzugt wird und in welcher Reihenfolge.
Dann werden die Gateways entsprechend dessen und ihrer Verfügbarkeit automatisch verwendet (dynamisch).

Eine statische Route ist aber, wie der Name andeutet, statisch. Diese besteht auch, wenn das Gateway nicht erreichbar ist.
Na die beiden Uplink sind in der Konfiguration als Gateway markiert, aber eine Default Route 0.0.0.0/0 kann ich dort ja nicht setzten, weil die ja in den Tunnel gehen soll. Und mehrere aktive Default Routen kann es nicht geben.
Eine statische Route sollte so lange aktiv sein, wie das Gateway auf das sie zeigt aktiv ist. (So eine art Tracking)
Und wenn man mehrere gleiche statische Routen einträgt, sollte doch die aktiv sein, die auf das Uplink-GW mit der geringsten Metrik (also das aktive GW) zeigt.
Ich frage mich, warum ich der einzige bin, der das Problem hat. Hat kein anderer zwei Uplinks und möchte Routen schwenken, wenn ein Monitoring eines Uplink auslöst und der Uplink als offline markiert wird.


Das mit der einzig möglichen Default Route habe ich schon verstanden. Was ich nicht verstehe, sind die statischen Routen. Die führen zu deinem Problem. Ich habe das schon mehrfach zu erklären versucht.

Wenn du dir die Konfiguration der beiden Gateways ansiehst, ist da "Upstream Gateway" angehakt?
Und wenn du in die WAN Interface-Konfiguration gehst, ist da das jeweilige Gateway als Upstream Gateway ausgewählt?
Und "Gateway switching" ist nun auch aktiviert?

Das sollte eigentlich reichen, dass die WAN Gateways genutzt werden, solange die IPSec Verbindung nicht hergestellt ist.
Wenn du eines der beiden WAN Gateways höher priorisieren möchtest, setze für beide einen entsprechenden "Priority" Wert, wie bereits erwähnt.

Die Route auf das IPSec Gateway sollte nicht aktiv sein, wenn das Interface down ist, was vor dem Verbindungsaufbau der Fall ist.


Quote from: Monviech (Cedrik) on January 10, 2025, 05:21:37 PMhttps://docs.opnsense.org/manual/firewall.html#policy-based-routing
Bezüglich Policy based Routing weiß ich nicht, ob das hier möglich ist, wenn die IPSec von OPNsense selbst aufgebaut wird.

Auf pfSense ist das mit einer ausgehenden Floating Regel machbar, soweit ich mich erinnern, wenngleich diese Methode nicht viele Anhänger hat. ;-)

Quote from: viragomann on January 10, 2025, 05:18:46 PMDas mit der einzig möglichen Default Route habe ich schon verstanden. Was ich nicht verstehe, sind die statischen Routen. Die führen zu deinem Problem. Ich habe das schon mehrfach zu erklären versucht.
Wenn ich die more specific statischen Routen nicht setze, kann er den Tunnel nicht aufbauen, da die statische 0.0.0.0/0er Route schon up ist, obwohl der Tunnel nicht steht ( Du hast ja auch mal geschrieben, statisch ist statisch ( Was ich mit Router Verständnis nicht nachvollziehen kann )
Jetzt kommt etwas neues: setze ich neur eine 10.0.0.0/8 in den Tunnel, kann er den Tunnel aufbauen, da ja dann die Default Route ins Internet zeigt.
Jetzt habe ich einfach mal die Route 0.0.0.0/0 in den Tunnel gesetzt. Der Tunnel bleibt bestehen und es wird alles in den Tunnel geroutet.
Reboote ich die OPNsense kann er den IPSec nicht mehr aufbauen, da die 0.0.0.0/0 in den Tunnel zeigt.
Quote from: viragomann on January 10, 2025, 05:18:46 PMWenn du dir die Konfiguration der beiden Gateways ansiehst, ist da "Upstream Gateway" angehakt?
WAN3_GW (active)   WAN3   IPv4   20 (upstream)   10.102.4.1   8.8.4.4   10.8 ms   6.7 ms   0.0 %   
WAN2_GW                  WAN2   IPv4   30 (upstream)   10.102.3.1   1.0.0.1   12.1 ms   2.2 ms   0.0 %   
Quote from: viragomann on January 10, 2025, 05:18:46 PMUnd wenn du in die WAN Interface-Konfiguration gehst, ist da das jeweilige Gateway als Upstream Gateway ausgewählt?
Du  meinst "IPv4 gateway rules" < ja, ist es
Quote from: viragomann on January 10, 2025, 05:18:46 PMUnd "Gateway switching" ist nun auch aktiviert?
Gateway switching    Allow default gateway switching < Ja, war es auch schon vorher

January 11, 2025, 12:32:13 PM #20 Last Edit: January 11, 2025, 01:08:33 PM by Patrick M. Hausen
Du könntest mit einem policy based Tunnel arbeiten - local: LAN net, remote: 0.0.0.0/0. Oder ohne Route zum Tunnel-Interface, aber einer Firewall-Regel auf LAN mit Gateway in den Tunnel.

So hätte die OPNsense selbst die normalen Gateways, aber der Traffic aller Clients geht durch den Tunnel durch.
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

January 11, 2025, 12:54:56 PM #21 Last Edit: January 11, 2025, 02:21:14 PM by viragomann
Quote from: Doerchi on January 11, 2025, 12:23:17 PMWenn ich die more specific statischen Routen nicht setze, kann er den Tunnel nicht aufbauen, da die statische 0.0.0.0/0er Route schon up ist, obwohl der Tunnel nicht steht ( Du hast ja auch mal geschrieben, statisch ist statisch ( Was ich mit Router Verständnis nicht nachvollziehen kann )
Und du hast der IPSec instance ein Interface zugewiesen?
Das wäre Voraussetzung, dass das jeweilige Gateway und damit die statische Route nicht benutzt wird.

Du könntest es auch der Gateway Priorisierung versuchen. Dem IPSec Gateway eine 1 geben und den WAN Gateways höhere je nach Wunsch. Und natürlich die statische Route entfernen.
Am IPSec Gateway müsste auch "upstream" aktiviert sein.

Quote from: Doerchi on January 11, 2025, 12:23:17 PM
QuoteUnd wenn du in die WAN Interface-Konfiguration gehst, ist da das jeweilige Gateway als Upstream Gateway ausgewählt?
Du  meinst "IPv4 gateway rules" < ja, ist es
Ich meinte in den Interface Einstellungen. Da kann untehalb der statischen IP das Upstream Gateway ausgewählt werden.

Aber ja, ich wäre das auch schon bei Patrick und würde das ganze auf Policy-based IPSec (Tunnel Mode) umstellen.
Eine Policy Routing Regel sollte es aber meine Meinung nach nicht brauchen. Wäre auch gar nicht möglich, weil der poliy-based Modus keine Gateway IP bereitstellt.
Das routet dann ohnehin schon der Kernel, wenn als Remote Netzwerk 0.0.0.0/0 gesetzt ist. Und zwar sicher erst, nachdem die Verbindung hergestellt wurde.


Quote from: viragomann on January 11, 2025, 12:54:56 PMUnd du hast der IPSec instance ein Interface zugewiesen?
Das wäre Voraussetzung, dass das jeweilige Gateway und damit die statische Route nicht benutzt wird.
Ja, hatte ich

Quote from: viragomann on January 11, 2025, 12:54:56 PMAm IPSec Gateway müsste auch "upstream" aktiviert sein.
Habe ich auch versucht, leider ist die statisch Route 0.0.0.0/0 trotzdem aktiv, obwohl der Tunnel nicht up ist.

Quote from: viragomann on January 11, 2025, 12:54:56 PM
Quote from: viragomann on January 11, 2025, 12:54:56 PMUnd du hast der IPSec instance ein Interface zugewiesen?
Das wäre Voraussetzung, dass das jeweilige Gateway und damit die statische Route nicht benutzt wird.
Ja habe ich
Quote from: viragomann on January 11, 2025, 12:54:56 PMDu könntest es auch der Gateway Priorisierung versuchen. Dem IPSec Gateway eine 1 geben und den WAN Gateways höhere je nach Wunsch. Und natürlich die statische Route entfernen.
Am IPSec Gateway müsste auch "upstream" aktiviert sein.
Das scheint für mich die Lösung zu sein. Das Upgstream IPSec GW ist nicht up, deshalb greift das zweitbeste Gateway und der Tunnel wird aufgebaut, dann greift die default Route auf das IPSec Gateway, der IPSec bleibt aber glücklicherweise up.
Quote from: viragomann on January 11, 2025, 12:54:56 PMAber ja, ich wäre das auch schon bei Patrick und würde das ganze auf Policy-based IPSec (Tunnel Mode) umstellen.
Eine Policy Routing Regel sollte es aber meine Meinung nach nicht brauchen. Wäre auch gar nicht möglich, weil der poliy-based Modus keine Gateway IP bereitstellt.
Das routet dann ohnehin schon der Kernel, wenn als Remote Netzwerk 0.0.0.0/0 gesetzt ist. Und zwar sicher erst, nachdem die Verbindung hergestellt wurde.
OK vielen Dank an Euch beide, das schaue ich mir auch noch mal an.
Wobei ich kein Freund von Policy Based Routing bin. ( Komme vom Provider und wir lieben Routen :-) )

Ich komme auch vom ISP (AS16188) und mag policy based, weil

- ham wer schon immer so gemacht
- wir hatten ja nichts

😂
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)