Salut,
wir haben auch Probleme mit dem import der Subnetze - auf den Opensense habe ich noch gar nicht geschaut, aber uns war zunächst aufgefallen, dass das Skript die /etc/netplan/01-netcfg.yaml nicht mehr richtig (?) schreibt – da waren zumindest bei uns vorher Routen für jedes einzelne Subnetz drin
routes:
- to: 10.16.1.0/24
via: 10.16.1.253
- to: 10.16.2.0/24
via: 10.16.1.253
...
aber wenn man das Skript jetzt durchlaufen lässt, löscht es diese raus und legt sie auch nicht neu an. Von daher kann ich mir vorstellen, dass es nicht an Dir liegt.
Hi Timo,
das ist natürlich ärgerlich, weil es dann möglicherweise zwei verschiedene Probleme gibt…
Es wundert mich aber auch ein bisschen denn wenn ich mir auf gitub den code vom import-Skrip anschaue dann steht da in der Funktion, die die yaml-Datei schreibt an der entscheiden Stelle (ab Zeile 123)
for item in subnets:
# skip if subnet gateway is the default
if servernet_router == gateway:
continue
subnet = item.split(':')[0]
# tricky: concenate dict object for yaml using eval
subroute = eval('{"to": \'' + subnet + '\', "via": \'' + servernet_router + '\'}')
ifcfg['routes'].append(subroute)
Das heißt er würde eine Route nur schreiben, wenn die Variable „servernet_router“ anders wäre als „gateway“. Wenn ich mir anschaue, was in der Zeile steht, die die route tatsächlich schreibt, dann müsste „servernet_router“ die routeradresse enthalten, die du in der csv für das jeweilige subnet angegeben hast. in der entsprechenden schleife wird die variable servernet_router aber niemals verändert sondern bleibt auf dem wert, den sie im hauptprogramm bekommt (zeile 304, servernet_router = firewallip). da ist es auch kein wunder, das keine routen geschrieben werden, den (bei uns) ist gateway == firewall. wenn man die abfrage rausnimmt, schreibt er zwar die routen für die subnetze, setze als routeradresse aber logischerweise immer die firewall-up ein und nicht den eintrag aus der CSV.
das habe ich zumindest bei uns jetzt als grund identifiziert warum die yaml keine einträge für die subnetze bekommt.
wie sieht denn in deinem skript /usr/sbin/linuxmuster-import-subnets die funktion „updateNetplan“ aus ?
Ok, dann liegt es daran nicht. Ich habe eh langsame den Verdacht, dass die Router-Adressen, die man in der CSV für die Subnetze angibt total unerheblich sind (ich bin aber auch mehr Programmierer und weniger Administrator), den die landen laut Skript weder in der yaml noch auf dem Gateway und auch Du hast bei Deinem händischen Beispiel ja für alle Subnetz dasselbe Gateway angegeben und nicht die, die Du in Deinem CSV hast…
Kleine Sache am Rande, meinst Du wirklich OpenSense 24.07 oder die aktuellste Version 24.7 (ohne die Null) ?
Nö, die sind wichtig - vorallem dann wenn du dein Netzwerk auf L3 segementieren möchtest.
Auf dem Server brauchst du Sie, damit er mit den Clients kommunizieren kann, auf der Firewall für die Rückroute des Internetverkehrs.
M.E.n. gehts nicht ohne.
Außerdem könnte man prinzipiell ja auch verschiedene Netzwerke hinter verschiedenen Routern verfügbar machen (glaub den Use-Case gibts in Schulnetzen eher selten, aber wer weiß).
Genau, weil das in diesem Netzwerk so sein muss.
Von der Firewall werde ich mit 24.7 begrüßt:
*** firewall.xxxx.lan: OPNsense 24.7 ***
Hab ich wohl geschlafen beim Thread erstellen, sorry.
Ok, ich hatte auch schlecht geschaut – die Router-Adressen werden vom Skript mit den Subnetzen nach /etc/dhcp/subnets.conf geschrieben. Ich glaub, ich muss das Subnetting erst zu Ende verstehen, bevor ich da hilfreich sein kann.
Vielleicht schaltet sich ja noch jemand mit mehr Ahnung ein.
Um auf Deine Ursprungsfrage zurück zu kommen:
ich habe das mal in meiner Spieleumgebung (Server/Opensense/Clients in VirtualBox) ausprobiert - sowohl mit OpenSense 24.1 also auch mit 24.7 werden die Routen eingetragen.
Was hingegen bei mir nicht passiert ist das Löschen der Routen - selbst wenn ich die Einträge in der CSV wieder entferne und das Skript erneut durchlaufen lasse - die Routen auf der Firewall bleiben stehen (in der /etc/dhcp/subnets.conf und der netplan Datei werden die einträge für die entfernten Subnetze hingegen ordnungsgemäß gelöscht).
Bei dem beobachteten Fehler in unserem Produktivsystem muss ich zurückrudern, das war selbst verschuldet - als Gateway für das Servernetz hatten wird die Firewall eingetragen statt das extra einzurichtende Layer3-Gateway (…253). Doku lesen hätte halt doch geholfen, Dein Hinweis hat mich auf die Spur gebracht, danke dafür!