nein, die github Seite ist genau die, auf die ich in meinem Post
verwiesen habe als „daran habe ich mich gehalten“.
Die Seite wurde zwar von dir gepostet, aber ich hab das schon richtig
geschrieben (habs gerade extra noch mal gelesen ).
Bei dem Wiki blicke ich auch nicht genau durch, das ist ein ziemlicher
dump an Informationen, aber da fehlt mir eben die Struktur. Weniger ist
meistens mehr…
… wie die Entwicklerdoku in GitHub auch sein sollte: möglichst alles drin.
Strukturiert ist sie ja.
Du hast aber vollkommen recht: es fehlt die „Anwenderdoku“… an der
wird eben gearbeitet.
Deswegen finde ich deinen „Walktrough“ auch super und helfe gerne, wo
ich kann
Ich denke nicht dass „möglichst alles“ drin sein sollte. Ich bin ein Freund von „in der Kürze liegt die Würze“ und weiss, wie viel Aufwand und Energie es bedeutet, Schriften auf ein relevantes Minimum zusammenzustreichen.
Ich find ich die Doku nicht strukturiert, oder sagen wie lieber nicht gut strukturiert.
Versteht mich nicht falsch, ich weiss, wie schwer es ist Doku aktuell und gut zu halten. Alle hier arbeiten unbezahlt und sozusagen ehrenamtlich. Keine Frage dass das, was da ist, grossartig ist. Dennoch kann man einen kritischen Blick drauf werfen und die Sache verbessern.
Ich wollte für den Walkthrough die Konfiguration der FW automatisieren. Der Login führt direkt in ein Menu, Commandline-Befehle sind für die Konfiguration nicht dokumentiert und die Web-GUI ist natürlich nicht automatisierbar. Zum Glück gibt es eine „API“ hinter https://opnsense.local/api/<module>/<controller>/<command>/[<param1>/[<param2>/...]] spärlich dokumentiert in (API Reference — OPNsense documentation). Die API lässt aber wichtige Teile vermissen und die Dokumentation ist wie gesagt nicht ausreichend.
Ich habe begonnen mit expect zu arbeiten und das Menü fernzusteuern, aber das ist wenig verlässlich.
Meine NAT-Probleme waren übrigens verschwunden, nachdem ich die Firewall nocheinmal konfiguriert, updated & rebooted habe.
Ich bin nun soweit, dass mein Server auf dem LAN DHCP beantwortet und die Web-GUI zu funktionieren scheint.
Ich habe ein paar Bemerkungen zum Readme aus deinem ZIP:
Da wird der Pfad /var/linbo erwähnt, sollte der nicht /srv/linbo heissen?
Es wird von start.conf.bionic im ZIP gesprochen, sollte das nicht start.conf.bionic-lmg heissen?
Ich habe das ...linbo-bittorrent restart ... vor dem zweiten linuxmuster-import-devices laufen lassen, da zweiteres sonst in einen Timeout lief (es scheint auch linbo-bittorrent zu starten).
p.s.: Auf der Opnsense ist mir der ssh-Server gestorben, hat das schon mal jemand erlebt? Und: Wir starte ich den wieder?
Ich habe ein paar Bemerkungen zum Readme aus deinem ZIP:
Da wird der Pfad |/var/linbo| erwähnt, sollte der nicht |/srv/linbo|
heissen?
ja: ist falsch.
Es wird von |start.conf.bionic| im ZIP gesprochen, sollte das nicht> |start.conf.bionic-lmg| heissen?
… habs jetzt sowiso überall lmn-bionic.cloop genannt und nicht mehr
bionic.lmg und hab kontrolliert ob es überall geändert ist (hat mir
letzte Woche schon jemand geflüstert).
Ich habe das |…linbo-bittorrent restart …| vor dem zweiten
linuxmuster-import-devices| laufen lassen, da zweiteres sonst in
einen Timeout lief (es scheint auch linbo-bittorrent zu starten).
… komisch: eigentlich kennt er ohne den import das cloop noch ganricht
und sollte da in einen Fehler laufen: deswegen lasse ich ja den import
vorher machen.
Gab es bei dir vorher schon ein cloop mit dem Namen?
p.s.: Auf der Opnsense ist mir der ssh-Server gestorben, hat das
schon mal jemand erlebt? Und: Wir starte ich den wieder?
ist mir noch nicht passiert.
OPNsense neustarten …
oder im Webfrontend unter Dienste mal suchen.
So, das walkthrough läuft nun durch bis zur Installation der client-Images inklusive. Clients habe ich noch nicht getestet. Dabei habe ich einige Bugs gefunden und gefixt, einen zB in virt-convert. Blöd, dass redhat das Tool entfernen will:
Die Doku und mein Script müssen also angepasst werden und dafür virt-install nutzen (was eventuell sogar einfacher ist, da uU der Stunt mit dem XML entfällt).
Wenn jemand das Script testen möchte bitte ich um Nachricht. Da es inzwischen 3 Textdateien sind, muß ich erst ein Repo dafür bereitstellen.
Ach ja: In der LM-Doku steht für die ifupdown-Konfiguration:
bridge_stp on
Das sollte besser auf „off“ gestellt werden es sei denn man möchte tatsächlich Spanning-Tree nutzen. Ansonsten haben diese bridges ein paar unangenehme Eigenschaften (sie brauchen uU lange Zeit, bis sie tatsächlich „bridgen“).
Ich bin gefragt worden, warum mein walkthroughifupdown und nicht netplan.io unterstützt. Da ich das wichtig finde, antwort ich einmal hier:
Für den Host gibt es da ja keine Vorgaben. Ich habe kein Ubuntu, weil ich es nicht mag. Stattdessen verwende ich ein systemd-freies Debian-Derivat namens Devuan.
Netplan ist meines Wissens eine Erfindung von Ubuntu und mein erster Versuch damit zeigte instabiles Verhalten. Dennoch würde ich natürlich in das Script Unterstützung dafür einbauen, der „Hook“ ist schon da. Ich kann das aber weder tun noch testen.
Gerade diese Bridge-Konfiguration bricht mir immer wieder die Beine… die brauchen immer eine Zeit, bis sie forwarden und noch habe ich keinen „Trigger“ gefunden, der mir sagt, wenn die Herren dann belieben zu arbeiten
Ich habe mir einmal die /etc/netplan/01-netcfg.yaml auf dem Server angeschaut. Da kommt mir einiges merkwürdig vor. Da wird zum Beispiel ein Gateway für das Netz gesetzt, in dem das Interface bereits ist. Ist das so gewünscht? Welchen Grund hat das?
Heute wurde ich aus der Firewall ausgesperrt: Etwas hat die /root/.ssh/authorized_keys überschrieben und so meinen pub-key entfernt. Ist das beabsichtigt? Warum wird das gemacht? (Es ist nur noch ein Schlüssel mit dem Vermerk „root@server.fsmw.lan“ vorhanden)
Dass die Firewall nach dem letzten Update und ein paar Klicks in der Web-GUI (ohne Veränderungen) den Server blockiert muss ich noch untersuchen. DNS macht sie für den Server auch nicht mehr. Oder hat jemand einen Tipp was passiert sein könnte?
Ich habe mir einmal die |/etc/netplan/01-netcfg.yaml| auf dem Server
angeschaut. Da kommt mir einiges merkwürdig vor. Da wird zum Beispiel
ein Gateway für das Netz gesetzt, in dem das Interface bereits ist. Ist
das so gewünscht? Welchen Grund hat das?
ich nehme an, dass das so ist wegen Subnetting.
Ich habe Subnetting in der lmn7 und meine yaml sieht so aus:
network:
ethernets:
eth0:
addresses:
- 10.16.1.1/12
dhcp4: false
dhcp6: false
gateway4: 10.16.1.254
nameservers:
addresses:
- 10.16.1.1
- 10.16.1.254
search:
- bzpf.lan
routes:
- to: 10.16.0.0/12
via: 10.16.1.253
- to: 10.17.100.0/24
via: 10.16.1.253
- to: 10.17.101.0/24
via: 10.16.1.253
- to: 10.17.102.0/24
via: 10.16.1.253
- to: 10.17.103.0/24
via: 10.16.1.253
- to: 10.17.1.0/24
via: 10.16.1.253
- to: 10.17.145.0/24
via: 10.16.1.253
- to: 10.17.154.0/24
via: 10.16.1.253
- to: 10.17.155.0/24
via: 10.16.1.253
- to: 10.17.27.0/24
via: 10.16.1.253
- to: 10.17.61.0/24
via: 10.16.1.253
- to: 10.18.126.0/24
via: 10.16.1.253
- to: 10.17.15.0/24
via: 10.16.1.253
- to: 10.18.155.0/24
via: 10.16.1.253
version: 2
Heute wurde ich aus der Firewall ausgesperrt: Etwas hat die
/root/.ssh/authorized_keys| überschrieben und so meinen pub-key
entfernt. Ist das beabsichtigt? Warum wird das gemacht? (Es ist nur noch
ein Schlüssel mit dem Vermerk „root@server.fsmw.lan“ vorhanden)
bei mir ist das in einem halben Jahr noch nicht passiert.
Was hast du den in der letzten Zeit so gemacht?
War da ein linuxmuster-setup oder ähnliches dabei?
Dass die Firewall nach dem letzten Update und ein paar Klicks in der
Web-GUI (ohne Veränderungen) den Server blockiert muss ich noch
untersuchen. DNS macht sie für den Server auch nicht mehr. Oder hat
jemand einen Tipp was passiert sein könnte?
Dann müssen ja eben auch entsprechende Router da sein, sonst hilft ein Gateway-Eintrag nicht. Für das Standardsetup sind aber server und router (die firewall, .254) im selben Netz. Darum denke ich, ist ein gateway dahin sinnlos. Es wird auch vom System mit einer höheren Regel überschrieben und kommt nicht zum Zuge.
Hast du denn da einen anderen pub-key drin? Sonst fällt das ja nicht auf, wenn du zB nur vom server aus zugreifst. Das funktioniert ja.
Ich weiss aber, wann das passiert: Wenn man die firewall rebootet, das habe ich eben gemacht et voila:
-rw------- 1 root wheel 403 Jan 30 19:00 .ssh/authorized_keys
und mein key ist wieder raus.
Nun wird’s komisch: Es geht wieder und ich habe die firewall nicht angerührt. Auch DNS gegen die firewall geht. Dafür will die Web-GUI nicht mehr „von aussen“ (ich habe ein wg-VPN, von dem aus es bislang ging). Jetzt antwortet die firewall einfach nicht mehr. Aus dem 10er netz aber schon. Ich muss das mal weiter untersuchen…
Ok, das war mein Fehler, ich hatte manuell eine Route in der firewall gesetzt, das ist natürlich nicht persistent - weiss jemand, wo ich der firewall manuell routen konfigurieren kann?
Ach ja: Diese Konfiguration ist auch widersprüchlich: Die erste Regel überdeckt alle anderen, weil sie bereits greift und (zum Glück) dasselbe Ergebnis hat.
Das Netz ist (12bit von 10.16.0.0) 00001010.0001xxxx.xxxxxxxx.xxxxxxxx. Die erste Regel sagt, dass alles, was mit den 12bit 00001010.0001 beginnt nach 10.16.1.253 geht. Die nächste Regel sagt, dass alles was mit 0000101010.00010001.01100100.xxxxxxxx beginnt, zum selben Gateway geht. Nun ist das aber doppelt, denn zum einen beginnt das eben auch mit 00001010.0001, darum gilt auch die Regel 1. Zum andren geht’s eh zum selben Gateway. Und für alle weiteren Regel gilt dasselbe. Das Regelwerk wird funktionieren (wenn das Gateway richtig arbeitet), aber es ist eben doppelt gemoppelt und irreführend.
Hallo. Ohne Subnetting war es seit v6.1 so, dass die Netzmaske 255.240.0.0 lautete und ein riesiges, „flaches“ Netz abdeckte, das zwar Platz für mehr als genug Clients bot; das aber auch bei Broadcasts träger reagieren konnte.
Mit Subnetting wurden das anders – kennst du diesen Beitrag von @Tobias?
Ich denke, dass es auch noch unter v7 immer mal wieder Verwirrung darüber gibt/gab, wie die Netzmaske (vor allem für das Servernetz) denn nun richtigerweise auszusehen hat!
Meine /etc/netplan/01-netcfg.yaml sieht unter v7 beispielsweise so aus:
network:
ethernets:
ens18:
addresses:
- 10.16.1.1/16
dhcp4: false
dhcp6: false
gateway4: 10.16.1.254
nameservers:
addresses:
- 10.16.1.1
- 10.16.1.254
search:
- linuxmuster.meine-domain.de
routes:
- to: 10.16.1.0/24
via: 10.16.1.253
.... und alle weiteren Subnetze mit /24er Maske
Ich argumentiere nicht in Bezug auf LM sondern in Bezug auf wie IP funktioniert. Das sollte für LMv6.1 und LMv7 unabhängig gelten. Wenn du Subnetze machst, ist ein Netz, dass all diese Subnetze enthält falsch. Routing-Regeln ist keine Mengenlehre, da gibt es keine Teilmengen
Wenn ein Interface in einem Netzwerk steht, braucht es dafür kein Gateway (das war meine initiale Feststellung).
Ich argumentiere nicht in Bezug auf LM sondern in Bezug auf wie IP
funktioniert. Das sollte für LMv6.1 und LMv7 unabhängig gelten. Wenn du
Subnetze machst, ist ein Netz, dass all diese Subnetze enthält falsch.
Routing-Regeln ist keine Mengenlehre, da gibt es keine Teilmengen
Wenn ein Interface in einem Netzwerk steht, braucht es dafür kein
Gateway (das war meine initiale Feststellung).
ich höre deinen Ausführungen sehr aufmerksam zu, da ich mich da nicht so
gut auskenne.
Du sagst also in meiner yaml Datei sind diese beiden Zeilen falsch:
10.16.1.1/12
da sollte folgendes hin
10.16.1.1/24
also nur das serversubnet.
Und ebenfalls falsch ist die Route im servernetz, da ich ja schon „drin“
bin im Netz (also nicht ich, sondern der server ).
Genau, das meinte ich. Und in deinem Fall sind die vielen Routen OK, da du ja so viele Netze hast (Sub oder nicht ist mir jetzt mal egal, der Begriff „Subnet“ wird mir sowieso inflationär genutzt, das ist ein andres Thema).
Klar funktioniert das auch, wenn du über deine Netze „lügst“, da ja das Gateway immer dasselbe ist, aber es ist nicht korrekt und bricht dir die Beine, wenn du mal etwas hinzufügst, wo zB das GW ein andres ist.
Genau, das meinte ich. Und in deinem Fall sind die vielen Routen OK, da
du ja so viele Netze hast (Sub oder nicht ist mir jetzt mal egal, der
Begriff „Subnet“ wird mir sowieso inflationär genutzt, das ist ein
andres Thema).
Klar funktioniert das auch, wenn du über deine Netze „lügst“, da ja das
Gateway immer dasselbe ist, aber es ist nicht korrekt und bricht dir die
Beine, wenn du mal etwas hinzufügst, wo zB das GW ein andres ist.
ich habe schon verstanden, dass es zwar funktioniert (Erfahrung) und
dass es so trotzdem nicht korrekt ist.
Deswegen ja meine konkrete Frae nach den Zeilen die ich rausnehmen soll
(eine Oben und zwei weiter unten): ist das korrekt.
Ich bin ja gewillt das richtig zu stellen: aber ich will nciht an meinem
produktiven, nicht gerade kleinen und viele Menschen betreffenden Netz
rumdocktern.
Wenn ich genau weiß, was ich ändern muss, dann kann ich das mal machen:
wenn auch nicht an einem normalen Schultag.
Dienstag ist bei uns Notenkonferenz: nach der kann ich länger bleiben
und das testen.
Was schief gehen kann ist, wenn du ein Netz vergessen hast. In das wird dann nicht mehr über dein Gateway .253 gerouted sondern über das default-Gateway .254 und das weiss dann natürlich nicht, was es tun soll.
Was mich noch wundert (bei meiner Konfiguration war das auch so) ist die Liste der Nameserver. Da wird .1 und .254 genannt.Warum?
In der Dokumentation findet sich folgender Absatz:
Danach unter System | Zugang | Prüfer die Authentifizierung testen. Als Authentifizierungsserver linuxmuster auswählen falls noch nicht ausgewählt. OPNsense Authentifizierungsprüfer Geben Sie einfach einen gültigen Benutzernamen mit Passwort ein und betätigen Sie Test.
Allein was ein „gültiger Benutzername mit Passwort“ ist, steht da nicht. Weiter unten habe ich gefunden:
Das Skript /usr/share/linuxmuster/examples/create-testusers.py
legt die üblichen Verdächtigen an.
Das klingt zwar cool, ist aber wenig hilfreich. Wie die „üblichen Verdächtigen“ heissen und welche Passwörter die haben mögen, ahne ich nicht. Habe ich das irgendwo überlesen? Dann wär hier vielleicht ein Link hilfreich.
Das Script habe ich einmal gestartet, es hängt aber seit einiger Zeit bei „Running sophomorix-add“. Inzwischen ist es durchgelaufen. Im logfile finde ich einen teacher Zell, den hatte ich in der Doku gesehen. Also führe ich den test aus der Doku aus. Der zeigt aber ein anderes Ergebnis und das sophomorix-managementgroup --nowifi zell sagt mir: „ERROR -1: ERROR: Could not find user zell“. Und im logfile create-testusers.log finde ich
ERROR in Sophomorix::SophomorixSambaAD::AD_user_create:
Can't contact LDAP server
Das Skript /usr/share/linuxmuster/examples/create-testusers.py
legt die üblichen Verdächtigen an.
Das klingt zwar cool, ist aber wenig hilfreich. Wie die „üblichen
Verdächtigen“ heissen und welche Passwörter die haben mögen, ahne ich
nicht. Habe ich das irgendwo überlesen? Dann wär hier vielleicht ein
Link hilfreich.
die Nutzer stehen dann in den Dateien
/etc/linuxmuster/sophomorix/default-school/teachers.csv und students.csv
Oder sind über die WebUI einsehbar.
Das Script habe ich einmal gestartet, es hängt aber seit einiger Zeit
bei „Running sophomorix-add“.
… ist schon eine Weile her, dass ich das verwendet habe, aber ich
meine, das script funktioniert nicht, weil es eine leere teachers.csv
gibt … oder weil es sie nicht gibt?
Schau mal in das oben genannte Verzeichnis: welche der beiden Dateien
ist da?
Welche ist korrekt gefüllt?
Hi.
Nur als Erinnerung … es gibt den Befehl sophomorix-newfile – damit hat man dann keine encoding-Probleme, wenn man eine Datei aus den Vorlagen nimmt.