sonie69
Goto Top

Systemd-networkd Routen setzen

Ich versuche gerade eine Netzwerkconfiguration auf systemd-networkd umzustellen.
Kann ich in systemd-networkd das Routing mitgeben?

Gewünscht ist folgende Config:

default route 192.168.178.1 (fritz.box)
192.168.178.0/24 192.168.178.10 (gateway)
192.168.174.0/24 192.168.174.10 (gateway)

irgendwie habe ich immer 2 defaultroutes oder eines der beiden Netze geht nicht.

[Match]
Name=eth0
Type=ether

[Network]
Description=lan
Address=192.168.178.12/24
Gateway=192.168.178.10
VLAN=machine

[Match]
Name=machine
Type=vlan

[Network]
Description=machine

[Address]
Address=192.168.174.12/24

[Route]
Gateway=192.168.174.10

[IPv6AcceptRA]
DHCPv6Client=true

Content-ID: 91548007334

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

Ausgedruckt am: 24.11.2024 um 06:11 Uhr

7907292512
7907292512 09.09.2023 aktualisiert um 10:52:10 Uhr
Goto Top
Dir fehlt ja auch die Destination, kein Wunder das du da mehrere Default Routen bekommst ... statische Routen gehen so
[Route]
Destination = 192.168.174.0/24
Gateway = 192.168.178.10
GatewayOnLink = yes
Das GatewayOnLink auf yes zu setzen ist nötig wenn zum Zeitpunkt des Dienststarts das Interface des definierten GWs noch nicht online ist, denn sonst wird die Route nicht angelegt.

192.168.174.0/24 192.168.174.10 (gateway)
192.168.178.0/24 192.168.178.10 (gateway)
Wenn schon ein Netz schon am Server anliegt sind diese statischen Route Schwachsinn und falsch weil das Netz ja schon bekannt ist!

[Match]
Name=eth0
Type=ether

[Network]
Description=lan
Address=192.168.178.12/24
Gateway=192.168.178.1

[Route]
Destination=192.168.174.0/24
Gateway=192.168.178.10
GatewayOnLink=yes

By the other way, RTFM hilft bei sowas :
https://systemd.network/systemd.network.html

Gruß sid
Sonie69
Sonie69 09.09.2023 um 10:57:26 Uhr
Goto Top
wenn aber das Gateway die anderen Netze erreicht, und die Fritzbox nicht, dann routet er alles entweder über die fritzbox oder über das netzwerk, was nicht gewünscht ist. Hängt halt nicht alles an der Fritzbox. liegt daran, dass die rasperry nur ein Interface haben.

Was auch nicht gewünscht ist, dass alles über 192.168.178.10 geroutet wird, weil dafür habe ich ja layer3 kompatible switches.

Ich dachte, dass es so geht:

[Route]
Gateway=192.168.178.10
Destination=192.168.178.0/24

[Route]
Gateway=192.168.178.1
Destination=0.0.0.0/0
Lochkartenstanzer
Lochkartenstanzer 09.09.2023 um 11:03:11 Uhr
Goto Top
Zitat von @Sonie69:

wenn aber das Gateway die anderen Netze erreicht, und die Fritzbox nicht, dann routet er alles entweder über die fritzbox oder über das netzwerk, was nicht gewünscht ist. Hängt halt nicht alles an der Fritzbox. liegt daran, dass die rasperry nur ein Interface haben.

Dann trägt man die statischen Routen in der Fritzbox und dem anderen Router ein. Die sagen den Clients dann schon, wo die Pakete hin müssen (İCMP redirect) .

lks
Sonie69
Sonie69 09.09.2023 um 11:11:38 Uhr
Goto Top
aber dann habe ich wieder eine seltsame route-config:

default         fritz.box       0.0.0.0         UG    0      0        0 eth0
192.168.174.0   0.0.0.0         255.255.255.0   U     0      0        0 machine
192.168.174.0   pi.hole         255.255.255.0   UG    0      0        0 machine
192.168.178.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.178.0   pi.hole         255.255.255.0   UG    0      0        0 eth0

und mich stören halt die 0.0.0.0....
7907292512
7907292512 09.09.2023 aktualisiert um 11:24:51 Uhr
Goto Top
Macht ja auch alles keinen Sinn ohne den konkreten Aufbau und die terminieren Netze zu kennen...
Es gilt wie immer der allgemeine Grundsatz statische Routen gehören in erster Linie auf Gateways und auch nur dort wo die Zielnetze nicht schon bekannt sind.
Wenn du mehrere Default-Routen hast dann nimm die für das Interface raus wo du sie nicht haben willst, ganz einfach!
LordGurke
LordGurke 09.09.2023 um 11:20:14 Uhr
Goto Top
Wenn du schon Layer3-Switches hast, wieso trägst du dann den Switch nicht als Default-Gateway ein und lässt die statischen Routen weg?
Oder du steckst den Raspberry per VLAN-Tagging in die benötigten Netze?
Sonie69
Sonie69 09.09.2023 um 11:30:47 Uhr
Goto Top
Siddius, das war ja die Frage: wie bringe ich systemd-network dazu die anderen defaultroutings nicht zu setzen. unter dem Network Manager geht das ja, ich würde es halt gerne mit systemd-network konfigurieren, und da macht er nicht, was ich will:

192.168.178.12 ist ein ioBroker mit Webinterface (lokal only)
192.168.174.12 ist die Kommunikation für alle Smarthome-Geräte, damit der Traffic nicht über das Gateway läuft, also VLAN ID 4.
192.168.178.1 ist die Fritzbox und damit Internet.
Sonie69
Sonie69 09.09.2023 um 11:33:58 Uhr
Goto Top
LordGurke, wie soll den die Switch erkennen, welcher Trunc gemeint ist???? Das sind keine Router...
7907292512
7907292512 09.09.2023 aktualisiert um 12:07:17 Uhr
Goto Top
Zitat von @Sonie69:

aber dann habe ich wieder eine seltsame route-config:

default         fritz.box       0.0.0.0         UG    0      0        0 eth0
192.168.174.0   0.0.0.0         255.255.255.0   U     0      0        0 machine
192.168.174.0   pi.hole         255.255.255.0   UG    0      0        0 machine
192.168.178.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.178.0   pi.hole         255.255.255.0   UG    0      0        0 eth0

und mich stören halt die 0.0.0.0....

Die sind völlig normal, das sind keine Default-Routen, diese hast du für jedes Interface was lokal terminiert ist, denn 0.0.0.0 (unspecified) bedeutet in dem Fall das das Netz direkt am Host angeklemmt ist.
https://unix.stackexchange.com/questions/94018/what-is-the-meaning-of-0- ...
Sonie69
Sonie69 09.09.2023 um 12:06:45 Uhr
Goto Top
Ich fasse noch einmal zusammen: durch dieses Routing wird das Gateway entlastet, was an den Pingzeiten zu sehen ist. Es funktioniert also wie gewünscht. Ich verstehe nur nicht, warum ich unter systemd-network diese Routings habe, welche im Networkmanager nicht angelegt werden.
7907292512
Lösung 7907292512 09.09.2023 aktualisiert um 12:20:01 Uhr
Goto Top
Zitat von @Sonie69:

Ich fasse noch einmal zusammen: durch dieses Routing wird das Gateway entlastet, was an den Pingzeiten zu sehen ist. Es funktioniert also wie gewünscht.
Wieso sollte ein Rechner auch das Default-GW nach einem Netz fragen an welches er bereits mit einem Interface verbunden ist ?! Macht keinen Sinn und das ist der Default, deswegen gibt es diese ja auch.

Ich verstehe nur nicht, warum ich unter systemd-network diese Routings habe, welche im Networkmanager nicht angelegt werden.
Doch auch dort werden die natürlich angelegt, hier ein System mit aktivem Network-Manager:

screenshot

screenshot