NEWS
Tester für WireGuard Adapter gesucht
-
@Grizzelbee Sau geil, hat alles geklappt - Darauf haben viele gewartet
-
@dslraser sagte in Tester für WireGuard Adapter gesucht:
chmod u+s /usr/bin/wg
Danach konnte ich mich als User im Adapter anmelden und es funktioniert. Das ist ein "sudo User". Ist damit alles okay, oder muss ich das anders machen, oder ist da jetzt was bedenklich was die Sicherheit angeht ?
Soweit ich das verstehe darf damit jetzt jeder beliebige User
wg
ausführen. Das ist aus meiner Sicht für die Sicherheit von WireGuard etwas bedenklich, nicht aber für den ganzen Server. Denn das wg Kommando ist durchaus mächtig:~$ wg --help Usage: wg <cmd> [<args>] Available subcommands: show: Shows the current configuration and device information showconf: Shows the current configuration of a given WireGuard interface, for use with `setconf' set: Change the current configuration, add peers, remove peers, or change peers setconf: Applies a configuration file to a WireGuard interface addconf: Appends a configuration file to a WireGuard interface syncconf: Synchronizes a configuration file to a WireGuard interface genkey: Generates a new private key and writes it to stdout genpsk: Generates a new preshared key and writes it to stdout pubkey: Reads a private key from stdin and writes a public key to stdout You may pass `--help' to any of these subcommands to view usage.
Ich gebe aber zu, das ich weder in WireGuard (und dem wg Kommando) noch in Linux tief genug drin bin um wirklich die komplette Tragweite beurteilen zu können. Die Frage muss wahrscheinlich am ehesten lauten: Wird der aktuelle Sicherheitslevel des Servers dadurch gravierend beeinträchtigt? Ich persönlich empfinde es aber durchaus als Gewinn, das ich jetzt die Anzahl der Peers überwachen kann und überhaupt merke, wenn da plötzlich eins hinzu kommt.
-
@grizzelbee
ich habe es mal rückgängig gemacht und bin im Adapter nun erstmal wieder auf root.
(Ich hatte zum testen mal einen einfachen User angelegt, der durfte dann tatsächlich wg ausführen....) -
Hallo @dslraser,
cool, kannst Du bitte erklären, wie Du das in Iqontrol gemacht hast.
Danke. -
@dirk1962 sagte in Tester für WireGuard Adapter gesucht:
Hallo @dslraser,
cool, kannst Du bitte erklären, wie Du das in Iqontrol gemacht hast.
Danke.Hm, was soll ich da erklären ? Ich habe über den Adapter meine VPN User. Für diese habe ich mir dann jeweils einen alias gemacht und über Additional_Control in iQontrol eingebunden. (alias ist eigentlich auch nicht nötig, der Adapter bietet ja alle Datenpunkte)
-
Ich habe mir mal zu den Sicherheitsaspekten Gedanken gemacht und bin zu folgender Lösung gekommen: Über eine simple sudoers Regel kann man den Monitoring-Befehl für genau einen User freigeben ohne gleich die ganze wg-Executable für alle freigeben zu müssen, was bei setUid ja der Fall ist. Das halte ich, nach aktuellem Kenntnisstand, für den sichersten Weg.
Details zur Konfig habe ich mal in den ersten Post hier ganz oben und (etwas ausführlicher) in die readme geschrieben. -
@grizzelbee sagte in Tester für WireGuard Adapter gesucht:
visudo als adminstrativer User zum editieren der sudoers Datei aufrufen. Es wird dringend davon abgeraten sudoers auf einem anderen Wege zu editieren.
Am Ende der Datei folgende Zeile hinzufügen: <name-des-monitoring-users> ALL=NOPASSWD:/usr/bin/wg show all dump (<name-des-monitoring-users> muss natürlich durch euren User ersetzt werden unnd /usr/binggf durch einen anderen Pfad falls wg irgendwo anders bei euch liegt. )
Datei speichernNach Eingabe dieser Regel kann in der Konfig das Häkchen bei sudogesetzt werden.
Danke, läuft bei mir mit der sudo Config
-
Hallo @dslraser,
da habe ich wohl nicht genau genug gefragt.
Ich bekomme die Ansicht nicht so hin, wie Du sie hast. Bei mir sieht das ziemlich bescheiden aus.
Ich habe auch keine Idee, wo Du die interne IP her bekommst. Der WireGuard Adapter zeigt die nicht an.
Und wie Du in den Additional Controls die vier Geräte separat anzeigst, ist mir auch nicht klar.
Wäre super, wenn Du mir dabei helfen würdest. -
@dirk1962
hier geht es dann weiter
https://forum.iobroker.net/post/773459 -
auch gerade mal installiert
-
Edit: Ich habe das Problem dass der WireGuard Handshake im LXC Container sehr lange bis zu 30 Sekunden dauert bis er ausgehandelt ist, hat noch wer das Problem oder gar eine Lösung?
-
@stephan-schleich sagte in Tester für WireGuard Adapter gesucht:
WireGuard Handshake im LXC Container sehr lange bis zu 30 Sekunden dauert bis er ausgehandelt ist, hat noch wer das Problem oder gar eine Lösung?
Da ich kaum ein Wort davon verstehe, gehe ich davon aus, das das nicht direkt Adapter-bezogen ist??
-
Mein WireGuard läuft auch im lxc container, Verbindung ist sofort da.
Was genau dauert bei dir 30sek?? Vielleicht wird da was nur alle 30 sek aktualisiert??
-
@ilovegym Versuch mal bitte mit aktiver Verbindung einen Ping und schau ob er nach 3 Minuten öfters abgebrochen ist.
-
Ich habe die letzte Zeit sehr oft, dass er iobroker über die IP von wireguard nicht aufgerufen werden kann.
Irgendwann geht es wieder, ein System erkenne ich nicht.
Ein Ping funktioniert jedoch.Chrome meckert immer, dass sich das Netzwerk geändert hat.
Liegt das an der Konfiguration des vpn oder an Sachen am Smartphone (wireguard App, DNS, etc...)?
-
hmm bei mir funktionierts ohne Probleme.
Konfig:
Fritzbox 7590, Unifi Dream Machine Pro ( doppel NAT ), 7 Unifi AP (3x LR, 1x HD, 3x HD Nano), 4 Unifi Switchs, 10 Netgear Switchs, Wireguard als Proxmox LXC, Pihole als LXC, iobroker als LXC, usw..
Proxmox ist ein Cluster mit 4 Nodes, einer davon spare und off, mehrere Vlan's. Insgesamt 330 Devices im Netzwerk, mehrere Subnetze.Vielleicht irgendwo ein Fehler eines Treibers der Netzwerkkarte oder im Routing.. schwer zu sagen.
Wireguard wird von 4 Devices / Usern genutzt und mir ist nichts auffaelliges berichtet worden.. ( und das waere es bestimmt.. )
-
@grizzelbee
Läuft mittlerweile (wer lesen kann ist klar im Vorteil^^) auch mit mehreren Hosts ziemlich geschmeidig.
Einzig (vermutlich) bei neuer IP durch den ISP hat er manchmal irgendwie Schluckauf.
Scope des Adpaters ist ja eigentlich "nur" das monitoren, aber vielleicht besteht ja das Interesse/die Möglichkeit noch ein Feature einzubauen. Die WireguardUI bietet die Möglichkeit einen Peer per Klick temporär zu pausieren. Ich hab noch nicht wirklich herausgefunden wie er das macht. Ob das ein Feature von Wireguard selber ist, oder ob die UI dann einfach die Peerskonfiguration ändert.
Drehe immer mal wieder einem Peer vorübergehend den Zugang ab und das als Datenpunk im ioBroker wäre das Tüpfelchen auf dem i. -
@bommel_030 sagte in Tester für WireGuard Adapter gesucht:
Läuft mittlerweile (wer lesen kann ist klar im Vorteil^^) auch mit mehreren Hosts ziemlich geschmeidig.
Was war denn dein Problem? Vieleicht kann ich ja an der Doku oder am Handling etwas verbessern.
Einzig (vermutlich) bei neuer IP durch den ISP hat er manchmal irgendwie Schluckauf.
Hmmm. Ich bin bei der Entwicklung davon ausgegangen, dass sich die WG-Hosts im lokalen Netz befinden.
Vielleicht gibt es da tatsächlich etwas zu beachten, wenn sie extern sind. Oder verstehe ich dich da gerade falsch?Scope des Adpaters ist ja eigentlich "nur" das monitoren, aber vielleicht besteht ja das Interesse/die Möglichkeit noch ein Feature einzubauen.
Klar. Soweit sie sinnvoll sind, zum Thema des Adapters passen und machbar sind - baue ich gerne neue Features/Wünsche ein (siehe Docker-Unterstützung).
Die WireguardUI bietet die Möglichkeit einen Peer per Klick temporär zu pausieren.
Das klingt tatsächlich interessant und die Idee gefällt mir!
Die Frage ist aber tatsächlich - wie wird das realisiert?- Ist das Pausieren von peers wirklich ein Feature von Wireguard (Habe dazu noch nichts gefunden)?
- Wird das vielleicht über eine Firewall gemacht?
- ...
-
@grizzelbee said in Tester für WireGuard Adapter gesucht:
Was war denn dein Problem? Vieleicht kann ich ja an der Doku oder am Handling etwas verbessern.
Nein, wenn ich im ersten Host wg show all dump eintragen und im zweiten nur wg show all ist das eigene Dummheit
@grizzelbee said in Tester für WireGuard Adapter gesucht:
Hmmm. Ich bin bei der Entwicklung davon ausgegangen, dass sich die WG-Hosts im lokalen Netz befinden.
Vielleicht gibt es da tatsächlich etwas zu beachten, wenn sie extern sind. Oder verstehe ich dich da gerade falsch?Zwei lokal getrennte Standorte. Beide via FritzVPN (soll perspektivisch durch Wireguard abgelöst werden) verbunden. An beiden Standorten jeweils ein NUC mit Proxmox und wireguard im Container. Iobroker läuft in einem Container am Heimatstandort. Der entfernte bekommt alle 24h durch den ISP eine neue IP. Da meckert der Adapter nur wenn er zufällig abfragt und der entfernte Standort ist noch nicht wieder online. Spätestens nach der nächsten Abfrage ist aber alles wieder chic. Wenn der Heimatstandort mal ne neue IP bekommt (wird offensichtlich gewürfelt wann die Zwangstrennung kommt, definitv >24h) bekomme ich im Abfrageintervall einen Eintrag ins LOG er kann den Heimatstandort nicht erreichen. Wenn ich dann den Adapter einmal neu starte ist alles wieder in Ordnung.
@grizzelbee said in Tester für WireGuard Adapter gesucht:
Das klingt tatsächlich interessant und die Idee gefällt mir!
Die Frage ist aber tatsächlich - wie wird das realisiert?Freut mich, dann besteht ja Hoffnung. Aber alles was ich bis jetzt finden konnte ist quasi das "auskommentieren" des entsprechenden Peers in der JSON.
-
@bommel_030 sagte in Tester für WireGuard Adapter gesucht:
Der entfernte bekommt alle 24h durch den ISP eine neue IP. Da meckert der Adapter nur wenn er zufällig abfragt und der entfernte Standort ist noch nicht wieder online. Spätestens nach der nächsten Abfrage ist aber alles wieder chic.
Das klingt vollkommen logisch für mich: Wenn die Leitung unterbrochen ist, geht die Abfrage kaputt. Damit bin ich fein.
Wenn der Heimatstandort mal ne neue IP bekommt (wird offensichtlich gewürfelt wann die Zwangstrennung kommt, definitv >24h) bekomme ich im Abfrageintervall einen Eintrag ins LOG er kann den Heimatstandort nicht erreichen. Wenn ich dann den Adapter einmal neu starte ist alles wieder in Ordnung.
Das verstehe ich noch nicht richtig. Am Heimatstandort laufen doch der Broker und Wireguard auf der selben Maschine - nur eben wegen der Container in einem virtuellen Netzwerk - aber eben auf der selben Maschine. Da ist doch der ISP gar nicht im Spiel. Also ist dem Adapter die Zwangstrennung doch vollkommen egal. Im Moment klingt das nach einem Konfigurationsfehler. Ich würde erwarten das du für den Heimatserver die lokale IP des WG-Containers angeben musst.
Bei mir zum Beispiel habe ich - weil Broker und WireGuard normal installiert sind (keine Container) - schlicht "localhost" bei der Hostadresse angegeben.Freut mich, dann besteht ja Hoffnung. Aber alles was ich bis jetzt finden konnte ist quasi das "auskommentieren" des entsprechenden Peers in der JSON.
Habe gerade mal ein bisschen gelesen und herumgespielt. Es gibt einen besseren Weg (den ich vermutlich auch programmieren kann - auch wenn ich noch keine Idee habe wie - das übersteigt gerade mein Linux/sudoers know how):
wg set <interface> peer <pubKey> remove
löscht ein peer aus der aktuellen config. Wichtig dabei ist, dass "nur" die aktive (eingelesene/gecachete) config der aktuelle laufenden Instanz ist - nicht das config file.wg syncconf <interface> </path/to/config.conf>
wiederum liest die config aus dem angegebenen file wieder ein und aktiviert sie bzw. vorher mittelsremove
deaktivierte peers.
<interface> und <pubKey> stehen mir im Adapter zur Verfügung. Einziges Problem hier ist: Wie trage ich das im sudoers file ein - weil variabel?
</path/to/config.conf> steht mir nicht zur Verfügung und kann für jeden Host unterschiedlich ein. Auch hier: Wie trage ich das im sudoers file und im Adapter ein - weil variabel?