-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pseudo-tty liefert keine Daten aus LXC container #38
Comments
Das kann ich so pauschal leider nicht beantworten. Zumal und vor vor allem weil ich keine Ahnung von LXC Containern habe und wie sie funktionieren. Was der Adapter macht schreibt er eigentlich ganz klar raus:
Er versucht als der konfigurierte Benutzer das genannte Kommando auf der genannten Maschine auszuführen - und die Rückmeldung von Linux loggt er ebenfalls raus. Die Frage ist also: Wenn Du dich als root oder als der konfigurierte User an der Maschine anmeldest - kannst Du dann mit dem gezeigten Kommando den Status von WireGuard auslesen? Oder sind (ähnlich wie für Docker) spezielle Container-befehle nötig um eine executable in dem Container auszuführen? Ich würde das zumindest mal erwarten. |
Wenn ich mich mit dem angelegten User per SSH anmelde und den Befehl 'sudo wg show all dump' ausführe, wird der Status ausgegeben. Ohne 'sudo' kommt ein Fehler. Und den Schnittstellenname habe ich in der Ausgabe auch gesehen - der passt schon mit 'wg0'. Spezielle Befehle sind für Proxmox-Container nicht nötig. Edit: ich habe mich mal von der Console des ioBroker-Rechners mittels 'ssh [email protected]' verbunden. Erst musste ich dem fingerprint zustimmen und dann hat er sich nach Eingabe des Passwort verbunden. Allerdings dauert der Verbindungsaufbau recht lange (ca. 25 Sekunden). Edit2: Den langen Verbindungsaufbau konnte ich beheben. Trotzdem wird die Instanz nicht grün... :-( |
Erstmal danke für deine Unterstützung!
Also die Abfrage funktioniert ohne Passwort. Also habe ich die sudoers-Datei richtig angepasst. Welches Log meinst du?
Ich habe mehrere Abfragen abgewartet. Hat leider nichts geändert. Meine Einstellungen sehen auch so aus wie bei dir. Ich habe sogar den WireGuard-Server neu aufgesetzt und neu installiert. Und mal mein ganzes System neu gestartet. Leider bekomme ich den Adapter nicht zum Laufen. Könnte ich die Punkte die dein Adapter abarbeitet auch mal auf der Console nachstellen und schauen ob so überhaupt etwas retour kommt? |
Sieht so aus, ja.
Das, was du schon in deinem ersten Post geschickt hast (aslo ein ioBroker debug-Log), nur eben nicht bei "Executing command ..." abbrechen, sondern bis zum eigentlichen Lauf warten und erst danach den Adapter stoppen und dann alles hier posten. Du kannst für die Tests ja den POll-Intervall auf 30 oder so setzen, dann musst Du nicht so lange warten.
Das knobeln wir schon raus. Keine Sorge.
Ja. Kannst Du. Im Grunde hast Du das auch schon. Wenn ich mich recht entsinne habe ich das auch schon in der Readme dokumentiert. Was der Adater macht:
Dann erwartet der Adapter einen Output aus dem wg Kommando. Das sollte so aussehen: Das wird dann geparst und in Datenpunkte übernommen. Am besten loggst Du dich auf einer Console an deinem ioBroker Server ein. Damit Du von genau diesem Server eine ssh-Verbindung zum WireGuard Server aufbauen kannst - weil der Adapter genau das ja auch tut. EDIT:
Dein WireGuard ist aber schon gestartet - also up & running, oder? |
Vielen Dank für deine Mühe. Alles hat funktioniert wie du es beschrieben hast (ssh-Verbindung aufbauen, Kommando absetzen (kein Passwort notwendig, Output wird korrekt angezeigt). Aber leider wird der Adapter nicht grün. Im Log wiederholen sich die beiden Zeilen jede Minute:
usw. Da kommt sonst nichts. Ich habe mir jetzt aber so beholfen, dass ein Bash-Skript das per cron jede Minute ausgeführt wird, die verbundenen Peers in einen Datenpunkt auf ioBroker schreibt. Das funktioniert ohne Probleme. Mach dir also keine weitere Arbeit... ;-) Falls es interessiert:
Kommt dann z.B. als |
Alles Klar. Ich denke ich habe jetzt die Lösung - das Log bringt es an den Tag! Das Problem ist, dass der ssh Client die Daten (die Textausgaben von Ich muss jetzt nur noch rausbekommen, welche Einstellung die richtige für LXC ist. EDIT: |
Per ssh über den ioBroker-Container beim WireGuard-Container eingeloggt und mit |
Danke für die infos. Ich habe mal eine neue vesion gebaut. |
Sorry, gleiches Verhalten. :-(
|
Schade - ich dachte ich hätte es gefunden. Nachdem ich habe heute noch einmal in den Code geschaut und ein bisschen gelesen habe, konnte das auch nicht die Lösung sein. Ich habe dabei aber im ioBroker-Forum etwas wieder gefunden: Es kann also nicht am LXC als solchem liegen. Und der Blick in den Code hat mir verraten, dass gar keine ssh Verbindung zustande kommt. Die geht einfach so kaputt, ohne das es eine (sichtbare) Fehlermeldung gibt - warum? Keine Ahnung. Aber das Fazit ist erst einmal: Es liegt nicht am Adater, sondern irgendwie in der Konfig deines Servers. |
Das mit den 30 Sekunden habe ich ja gelöst bekommen ( Aber wie schon geschrieben, ich habe für mich eine Lösung gefunden. Mit einem Adapter wäre die Verwaltung zwar einfacher, aber damit kann ich auch leben. So oft ändern sich bei mir die Peers nicht. Doch vielleicht findest du noch eine Lösung, dann teste ich gerne wieder. Vielleicht per Public Key? Dann bräuchte man nur den username und die IP aber kein Passwort. Ich mache das erfolgreich per Shell-Skript vom ioBroker-LXC auf einen anderen LXC. |
Sowohl ioBroker als auch WireGuard laufen in zwei unterschiedlichen LXC-Containern (beide debian 11) unter Proxmox auf dem selben PC.
Ich schaffe es nicht die Instanz zum Laufen zu bringen.
Im debug-LOG ist auch nichts zu finden.
Ich habe den erstellten user wie beschrieben in der sudoer-Datei die Rechte gegeben (aber auch mal mit dem root-Zugang getestet). Ich habe in der Config einen beliebigen Hostnamen (MEINHOST) vergeben, die IP auf der WireGuard läuft, den user-Namen und sein Passwort eingegeben und 'sudo' angehakt (aber auch ohne probiert).
Auf der zweiten Seite den öffentlichen Schlüssel des Client und seine Bezeichnung eingegeben.
Auf der dritte Seite den gleichen Hostnamen wie auf der ersten Seite angegeben, bei 'Schnittstellenname' habe ich 'wg0' eingetragen (was gehört da genau rein?) und dann den korrekten Pfad zur Konfigurationsdatei.
Also was läuft hier falsch?
The text was updated successfully, but these errors were encountered: