datax87
Goto Top

Verständnisfrage zu OSPF-Routing bei MikroTik-Routern (RouterOS)

Hallo an alle,

kennt sich jemand von euch mit der Konfiguration von "OSPF" unter "RouterOS" bzw. auf MikroTik-Routern aus?

Bin gerade dabei mit da etwas einzulesen und dabei ist folgendes Verständnisproblem aufgetreten:

Die am OSPF-Routing beteiligten Router, die ihre direkt verbundenen Netze bzw. die dazugehörigen Routen miteinander teilen,
müssen sich ja auf "Layer 2" (also direkt) "sehen" können.

Wie schaut es aus, wenn sich alle beteiligten Router zum Beispiel bei einem zentralen WireGuard-Server "einwählen"?
Dann müssten ja jeder Router über die WireGuard-Schnittstelle bereits alle anderen Router,
die ebenfalls per "WireGuard" mit dem zentralen WireGuard-Server verbunden sind, sehen können.

Reicht das als Ausgangspunkt für ein OSPF-Routing bereits aus?

Habe nämlich verschiedene Videos gesehen, wo zwischen den beteiligten Routern (trotz Einwahl zu einem zentralen WireGuard-Server)
noch eine "Direktverbindung" (Layer 2) mit Hilfe eines VXLAN-Interfaces hergestellt wurde. Ist das unbedingt notwendig für eine OSPF-Konfiguration?

Im Anhang eine kleine Netzwerkskizze für den Aufbau des simplen WireGuard-Netzes,
das ich in obiger Erklärung gemeint habe.

Datax
wireguard_skizze

Content-ID: 3512270334

Url: https://administrator.de/contentid/3512270334

Ausgedruckt am: 21.11.2024 um 12:11 Uhr

tikayevent
tikayevent 01.08.2022 um 12:00:16 Uhr
Goto Top
OSPF benötigt Multicast und dieses Punkt zu Punkt.

Wenn dein Wireguard-Server Multicast und OSPF spricht, könnte dieser vermitteln, dieses bezweifel ich aber. Normal überträgt man OSPF über VPN über einen GRE-Tunnel.
3479126418
3479126418 01.08.2022 aktualisiert um 15:40:19 Uhr
Goto Top
Rischtisch. Wireguard ist eine PTP Verbindung über die per Default erst mal kein Multicast Traffic geht. Ergo musst du einen extra Tunnelprotokoll über den WG Tunnel legen der Multicasts unterstützt oder die Multicast-Endpunkte explizit in den AllowedIPs angeben.
148523
148523 01.08.2022 um 15:36:46 Uhr
Goto Top
Datax87
Datax87 02.08.2022 um 04:12:59 Uhr
Goto Top
Vielen Dank schon mal für Eure Antworten.

Habe jetzt mal zwischen 2 MikroTik-Routern einen EoIP-Tunnel gelegt und den
EoIP-Interfaces jeweils eine IP-Adresse in einem fiktiven Netz mit /30-Netzmaske gegeben.

Wenn ich auf beiden Seiten die OSPF-Config fertig habe, findet keiner der beiden Router
seinen benachbarten Router. Auf dem Reiter "Neighbours" unter "Routing" --> "OSPF" gibt
es also bei beiden Routern 0 Einträge.

Woran kann es liegen, dass sich beide Router gegenseitig nicht "sehen" können,
obwohl zwischen ihnen ein EoIP-Tunnel liegt, der auch hergestellt / aufgebaut ist (erkennbar an
dem "R" = Running). Die beiden Router können auch die IP-Adresse des EoIP-Interfaces des jeweils
anderen Routers anpingen.

Kann jemand helfen?

Bin gerade noch am Lernen was "OSPF" betrifft und versuche hier eine funktionierende Grund-Config
hinzubekommen ^^.
colinardo
Lösung colinardo 02.08.2022 aktualisiert um 11:58:33 Uhr
Goto Top
Servus @Datax87 .
hier ein einfaches Beispiel für OSPF über 2 per Wireguard verbundene Mikrotik-Router.

Es ist hier kein extra EoIP oder GRE Tunnel erforderlich, man muss nur die für OSPF verwendeten Multicast-Adressen (224.0.0.5 u. 224.0.0.6) in den AllowedIPs der Wireguard-Config freischalten und den OSPF Backbone-Link auf PTP statt auf Broadcast stellen.

back-to-topOSPF über 2 mittels Wireguard verbundener Mikrotik Router


back-to-topTestumgebung

back-to-topRouter 1

WAN-IP: 1.1.1.1LAN-IP (VLAN100): 192.168.100.1/24WIREGUARD-TUNNEL-IP: 10.80.0.1/24

back-to-topRouter 2

WAN-IP: 2.2.2.2LAN-IP (VLAN200): 192.168.200.1/24WIREGUARD-TUNNEL-IP: 10.80.0.2/24

back-to-topConfig Router 1

(enthält nur essentielle Bestandteile für Wireguard und OSPF-Konfiguration
# ROUTER 1

/interface vlan
add interface=bridgeLocal name=vlan100 vlan-id=100

/interface wireguard
add listen-port=55555 mtu=1420 name=wg0

/ip address
add address=192.168.100.1/24 interface=vlan100 network=192.168.100.0
add address=10.80.0.1/24 interface=wg0 network=10.80.0.0

/routing id
add disabled=no id=10.80.0.1 name=OSPF_ID select-dynamic-id=""  
/routing ospf instance
add disabled=no name=ospf-instance-1 redistribute=connected,static router-id=OSPF_ID
/routing ospf area 
add disabled=no instance=ospf-instance-1 name=ospf-area-1
/routing ospf interface-template 
add area=ospf-area-1 disabled=no interfaces=wg1 type=ptp

/interface wireguard peers
add allowed-address=10.80.0.2/32,192.168.200.0/24,224.0.0.5/32,224.0.0.6/32 endpoint-address=2.2.2.2 \
    endpoint-port=55555 interface=wg0 public-key="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"  

back-to-topConfig Router 2

(enthält nur essentielle Bestandteile für Wireguard und OSPF-Konfiguration
# ROUTER 2

/interface vlan
add interface=bridgeLocal name=vlan200 vlan-id=200

/interface wireguard
add listen-port=55555 mtu=1420 name=wg0

/ip address
add address=192.168.200.1/24 interface=vlan200 network=192.168.200.0
add address=10.80.0.2/24 interface=wg1 network=10.80.0.0

/routing id
add disabled=no id=10.80.0.2 name=OSPF_ID select-dynamic-id=""  
/routing ospf instance
add disabled=no name=ospf-instance-1 redistribute=connected,static router-id=OSPF_ID
/routing ospf area 
add disabled=no instance=ospf-instance-1 name=ospf-area-1
/routing ospf interface-template
add area=ospf-area-1 disabled=no interfaces=wg0 type=ptp

/interface wireguard peers
add allowed-address=10.80.0.1/32,192.168.100.0/24,224.0.0.5/32,224.0.0.6/32 endpoint-address=1.1.1.1 \
    endpoint-port=55555 interface=wg0 public-key="XXXXXXXXXXXXXXXXXXXXXXXXXXX"  

Wichtiger Hinweis: Die Wireguard AllowedIPs für die Subnetze auf beiden Seiten kann man natürlich so gestalten (z.B. Subnetzmaske verkleinern um mehr Netze von einer Seite zu erlauben) das man sie nicht jedes mal anpassen muss wenn man andere Subnetze über OSPF propagiert. Ein hier eingesetztes 0.0.0.0/0 würde bspw. das Routing aller Netze über den Tunnel erlauben.

back-to-topOSPF-Interface und Neighbor Status auf Router 1

screenshot

back-to-topOSPF-Interface und Neighbor Status auf Router 2

screenshot

back-to-topRouting-Tabelle von Router 1 nach dem Verbindungsaufbau

Man sieht die dynamisch hinzugefügte OSPF-Route von Router 2 über die WG IP des Peers als GW

screenshot

back-to-topRouting-Tabelle von Router 2 nach dem Verbindungsaufbau

Man sieht die dynamisch hinzugefügte OSPF-Route von Router 1 über die WG IP des Peers als GW

screenshot

back-to-topPing Check von Router 1

screenshot

back-to-topPing Check von Router 2

screenshot

Fazit: Works und ist kein Hexenwerk face-smile.

Grüße Uwe
Datax87
Datax87 02.08.2022 um 12:04:36 Uhr
Goto Top
Hallo Uwe,

es läuft jetzt wie geschnitten Brot : - ).

In dem "Interface Template" für die PtP-Verbindung zwischen den Routern
war nicht "ptp" als "Network Type" ausgewählt.

Besten Dank für die schnelle und ausführliche Hilfe.

LG, Datax
colinardo
colinardo 02.08.2022 aktualisiert um 12:07:54 Uhr
Goto Top
Immer gerne. So muss das sein. 👍 .