NEWS
Tester für WireGuard Adapter gesucht
-
@dslraser sagte in Tester für WireGuard Adapter gesucht:
ich habe mir den Status der möglichen Geräte, die per Wireguard VPN verbunden sein können auch mal in mein iQontrol eingebaut
Cool, auch mag
Ich hab derzeit eh nur mich in WG. Aber in sehr naher Zukunft kommt die ganze Familie drann.
Da ist es dann bei 10+ User schon intressant zu sehen, wer gerade online ist. -
Habe gerade die 0.9.5 veröffentlicht. Ich parse jetzt selbst. Dadurch wird das wg-json script nicht mehr benötigt. Der Adapter funktionert jetzt also ganz aus sich selbst heraus.
Die Datenfelder sollten zwar alle die selben Namen behalten haben - könnten aber den Datentyp geändert haben. Bitte mal drauf achten und ggf. den Tree löpschen und neu anlesen lassen.
Ach ja - weil ich es im Screenshot gesehen habe: latestHandshake sollte ein Timestamp sein.@Negalein Vielleicht klappt es dadurch ja ohne deutsche readme.
-
@grizzelbee sagte in Tester für WireGuard Adapter gesucht:
Vielleicht klappt es dadurch ja ohne deutsche readme.
ich bekomme keine Verbindunng
wireguard.0 2022-02-22 11:47:36.648 debug Plugin sentry Initialize Plugin (enabled=true) wireguard.0 2022-02-22 11:47:36.011 debug statesDB connected wireguard.0 2022-02-22 11:47:36.010 debug States connected to redis: 0.0.0.0:9000 wireguard.0 2022-02-22 11:47:35.996 debug States create User PubSub Client wireguard.0 2022-02-22 11:47:35.996 debug States create System PubSub Client wireguard.0 2022-02-22 11:47:35.986 debug Redis States: Use Redis connection: 0.0.0.0:9000 wireguard.0 2022-02-22 11:47:35.985 debug objectDB connected wireguard.0 2022-02-22 11:47:35.982 debug Objects connected to redis: 0.0.0.0:9001 wireguard.0 2022-02-22 11:47:35.971 debug Objects client initialize lua scripts wireguard.0 2022-02-22 11:47:35.970 debug Objects create User PubSub Client wireguard.0 2022-02-22 11:47:35.970 debug Objects create System PubSub Client wireguard.0 2022-02-22 11:47:35.969 debug Objects client ready ... initialize now wireguard.0 2022-02-22 11:47:35.934 debug Redis Objects: Use Redis connection: 0.0.0.0:9001 wireguard.0 2022-02-22 11:47:05.397 warn Terminated (UNCAUGHT_EXCEPTION): Without reason wireguard.0 2022-02-22 11:47:05.397 debug Plugin sentry destroyed wireguard.0 2022-02-22 11:47:05.396 info terminating wireguard.0 2022-02-22 11:47:05.396 info Clearing interval for host [Nega] wireguard.0 2022-02-22 11:47:05.366 error Timed out while waiting for handshake wireguard.0 2022-02-22 11:47:05.366 error Error: Timed out while waiting for handshake at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.wireguard/node_modules/ssh2/lib/client.js:1014:23) at listOnTimeout (internal/timers.js:557:17) at processTimers (internal/timers.js:500:7) wireguard.0 2022-02-22 11:47:05.365 error uncaught exception: Timed out while waiting for handshake wireguard.0 2022-02-22 11:46:45.358 info Connecting to host [Nega] on address [10.0.1.204] wireguard.0 2022-02-22 11:46:15.357 info Started 30 seconds monitoring interval for host [Nega] wireguard.0 2022-02-22 11:46:15.356 debug {"name":"Nega","hostaddress":"10.0.1.204","user":"R\u0007\u000b\u000b\\","password":"R\u0007\u000b\u000b\\","pollInterval":"30"} wireguard.0 2022-02-22 11:46:15.356 info There is 1 wireguard host to monitor. wireguard.0 2022-02-22 11:46:15.344 info starting. Version 0.9.5 in /opt/iobroker/node_modules/iobroker.wireguard, node: v14.17.1, js-controller: 3.3.22 wireguard.0 2022-02-22 11:46:15.173 debug Plugin sentry Initialize Plugin (enabled=true) wireguard.0 2022-02-22 11:46:14.891 debug statesDB connected wireguard.0 2022-02-22 11:46:14.890 debug States connected to redis: 0.0.0.0:9000 wireguard.0 2022-02-22 11:46:14.880 debug States create User PubSub Client wireguard.0 2022-02-22 11:46:14.879 debug States create System PubSub Client wireguard.0 2022-02-22 11:46:14.873 debug Redis States: Use Redis connection: 0.0.0.0:9000 wireguard.0 2022-02-22 11:46:14.872 debug objectDB connected wireguard.0 2022-02-22 11:46:14.868 debug Objects connected to redis: 0.0.0.0:9001 wireguard.0 2022-02-22 11:46:14.856 debug Objects client initialize lua scripts wireguard.0 2022-02-22 11:46:14.855 debug Objects create User PubSub Client wireguard.0 2022-02-22 11:46:14.855 debug Objects create System PubSub Client wireguard.0 2022-02-22 11:46:14.854 debug Objects client ready ... initialize now wireguard.0 2022-02-22 11:46:14.831 debug Redis Objects: Use Redis connection: 0.0.0.0:9001 wireguard.0 2022-02-22 11:46:11.375 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason wireguard.0 2022-02-22 11:46:11.375 info terminating wireguard.0 2022-02-22 11:46:11.374 info Clearing interval for host [Nega] wireguard.0 2022-02-22 11:46:11.374 info Got terminate signal TERMINATE_YOURSELF wireguard.0 2022-02-22 11:46:03.589 info Connecting to host [Nega] on address [10.0.1.204] wireguard.0 2022-02-22 11:45:33.589 info Started 30 seconds monitoring interval for host [Nega] wireguard.0 2022-02-22 11:45:33.589 info There is 1 wireguard host to monitor. wireguard.0 2022-02-22 11:45:33.574 info starting. Version 0.9.5 in /opt/iobroker/node_modules/iobroker.wireguard, node: v14.17.1, js-controller: 3.3.22
host.ioBroker 2022-02-22 11:48:27.084 error instance system.adapter.wireguard.0 terminated with code 1 (JS_CONTROLLER_STOPPED) host.ioBroker 2022-02-22 11:48:27.084 error Caught by controller[0]: at processTimers (internal/timers.js:500:7) host.ioBroker 2022-02-22 11:48:27.084 error Caught by controller[0]: at listOnTimeout (internal/timers.js:557:17) host.ioBroker 2022-02-22 11:48:27.084 error Caught by controller[0]: at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.wireguard/node_modules/ssh2/lib/client.js:1014:23) host.ioBroker 2022-02-22 11:48:27.083 error Caught by controller[0]: Error: Timed out while waiting for handshake
Edit: du schreibst, man benötigt einen SSH-Server.
Ich greife nur mit http darauf zuhttp://10.0.1.204:5000/
Wie installier ich hier SSH (Ubuntu 20)?
-
@grizzelbee sagte in Tester für WireGuard Adapter gesucht:
könnten aber den Datentyp geändert haben
Ich glaube bei fast alle Datenpunkten passen role und type nicht zusammen, oder ?
"role": "value", "type": "string"
Nur bei connected scheint es zu passen
{ "type": "state", "common": { "name": "Peer is connected", "read": true, "write": false, "role": "indicator.reachable", "type": "boolean" },
Kennst Du diese Seite ?
https://www.iobroker.net/#de/documentation/dev/stateroles.md
-
Du hast da ja einen Linux-Server (Ubuntu). Die haben üblicherweise einen ssh server vorinstalliert. Eine mir bekannte Ausnahme ist RaspBian (oder jetzt RaspberryOS). Da ist der zwar installiert, aber deaktiviert.
Wie auch immer. Wie man den ssh-server genau installiert, hängt von der jeweiligen Distribution ab. Bei dir erwarte ich aber das der vorhanden ist und auch läuft. Wenn Du dich mit putty (oder ähnlich) auf deinen Server verbinden kannst (also von einem entfernten Rechner eine Kommandozeile öffnen kannst) läuft der. Dann brauchst Du nichts weiter tun.Falls dein ioBroker auf dem selben Server läuft, wie WireGuard, dann reicht als IP übrigens 127.0.0.1 (also die IP entsprechung von 'localhost' oder tatsächlich der name localhost). Danach geht es nur noch um den Benutzer, der für die Anmeldung benutzt wird. root funktioniert in jedem Fall - ist aber (natürlich) gefährlich.
Edit: Kann es eventuell sein, dass du einfachh nur nicht lange genug gewartet hast? Der Adapter wird erst nach dem ersten erfolgreichen Poll komplett grün - und der kommt in deinem Fall nach 30 Sekunden.
@dslraser
Die Seite kenne ich und habe mich (soweit ich das überblicke) daran gehalten. Das sollte also alles so passen.
"value" kann vom typ String. Number, object, boolean, usw. sein - die Aussage ist ja einfach nur, dass es ein "Wert" ist. Ohne weitere Spezifikation was für einer. Wireguard gibt da einfach nicht so viel her. Aber das liegt in der Natur der Sache. Bei dem Datum vom latestHandshake habe ich tatsächlich etwas basteln müssen, bis auch ein Datum angezeigt UND keine Meldung mehr dazu im Log kam. -
@grizzelbee sagte in Tester für WireGuard Adapter gesucht:
Benutzer, der für die Anmeldung benutzt wird
Ahh, also nicht Benutzer+Passwort für Wireguard UI, sondern für den SSH?
SSH ist installiert
* ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-01-03 10:25:26 CET; 1 months 19 days ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 355 (sshd) Tasks: 1 (limit: 18984) Memory: 3.7M CPU: 17ms CGroup: /system.slice/ssh.service `-355 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups Jan 03 10:25:22 Wireguard-VPN systemd[1]: Starting OpenBSD Secure Shell server... Jan 03 10:25:26 Wireguard-VPN sshd[355]: Server listening on 0.0.0.0 port 22. Jan 03 10:25:26 Wireguard-VPN sshd[355]: Server listening on :: port 22. Jan 03 10:25:26 Wireguard-VPN systemd[1]: Started OpenBSD Secure Shell server.
bekomme keine Verbindung
wireguard.0 2022-02-22 12:38:59.173 error Exception-Code: ENOTFOUND: getaddrinfo ENOTFOUND 10.0.1.204:5000 wireguard.0 2022-02-22 12:38:59.173 error Error: getaddrinfo ENOTFOUND 10.0.1.204:5000 at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:69:26) wireguard.0 2022-02-22 12:38:59.173 error uncaught exception: getaddrinfo ENOTFOUND 10.0.1.204:5000 wireguard.0 2022-02-22 12:38:59.166 info Connecting to host [Nega] on address [10.0.1.204:5000] wireguard.0 2022-02-22 12:38:29.166 info Started 30 seconds monitoring interval for host [Nega] wireguard.0 2022-02-22 12:38:29.165 debug {"name":"Nega","hostaddress":"10.0.1.204:5000","user":"A\f\t\u0016","password":"d\u0006\n\u0001]\u000eVS\u0001","pollInterval":"30"} wireguard.0 2022-02-22 12:38:29.165 info There is 1 wireguard host to monitor. wireguard.0 2022-02-22 12:38:29.148 info starting. Version 0.9.5 in /opt/iobroker/node_modules/iobroker.wireguard, node: v14.17.1, js-controller: 3.3.22
Wireguard läuft auf einem standalone Server
-
@negalein sagte in Tester für WireGuard Adapter gesucht:
Ahh, also nicht Benutzer+Passwort für Wireguard UI,
Ich wusste nicht einmal das es eine WireGuard UI gibt!
sondern für den SSH?
Richtig. Und der benutze user muss eben die Rechte haben das
wg
Kommando ohnesudo
aufzurufen. Da sudo eine erneute passwort eingabe erfordern würde.Wireguard läuft auf einem standalone Server
Okay. Das ist ja durchaus so vorgesehen.
wireguard.0 2022-02-22 12:38:29.165 debug {"name":"Nega","hostaddress":"10.0.1.204:5000","user":"A\f\t\u0016","password":"d\u0006\n\u0001]\u000eVS\u0001","pollInterval":"30"}
Der Port 5000 muss dort weg. Der Adapter braucht nur die banke IP (10.0.1.204), da er selbst auf Port 22 (ssh) connected.
-
@grizzelbee sagte in Tester für WireGuard Adapter gesucht:
Richtig. Und der benutze user muss eben die Rechte haben das wg Kommando ohne sudo aufzurufen.
mein User hat das scheinbar nicht, deshalb habe ich root im Adapter benutzt. Wie gebe ich denn einem User (ist schon angelegt) unter Debian11 die Rechte diese Kommandos auszuführen? (Konsole kenn ich mich nicht aus...)
-
@grizzelbee sagte in Tester für WireGuard Adapter gesucht:
da er selbst auf Port 22 (ssh) connected.
Ok, jetzt müsste mir wer weiterhelfen.
SSH ist aktiv (gehe hier über die Konsole von Proxmox drauf)
* ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-01-03 10:25:26 CET; 1 months 19 days ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 355 (sshd) Tasks: 1 (limit: 18984) Memory: 3.7M CPU: 17ms CGroup: /system.slice/ssh.service `-355 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups Jan 03 10:25:22 Wireguard-VPN systemd[1]: Starting OpenBSD Secure Shell server... Jan 03 10:25:26 Wireguard-VPN sshd[355]: Server listening on 0.0.0.0 port 22. Jan 03 10:25:26 Wireguard-VPN sshd[355]: Server listening on :: port 22. Jan 03 10:25:26 Wireguard-VPN systemd[1]: Started OpenBSD Secure Shell server.
Versuche ich mich mit Putty zu verbinden, funktionierts nicht.
Wo liegt da der Fehler? -
@dslraser sagte in Tester für WireGuard Adapter gesucht:
Wie gebe ich denn einem User (ist schon angelegt) unter Debian11 die Rechte diese Kommandos auszuführen?
Da musst du mal schauen welche Rechte erforderlich sind.
which wg ls -la /pfad/zu/wg
-
@negalein sagte in Tester für WireGuard Adapter gesucht:
Ok, jetzt müsste mir wer weiterhelfen.
okay. Fangen wir vorne an:
Du hast einen Server (Ubuntu) und eine Workstation (Windows oder Linux)?
Wenn du auf der Workstation Linux oder Windows >= 10 hast kannst du einfach eine Konsole (Linux=Terminal, Windows=cmd/Eingabeaufforderung) öffnen und>ssh root@10.0.1.204
eingeben. Dann wird das root passwort abgefragt und du bist auf dem Ubuntu-Server.
dort kannst Du>wg show
eingeben und bekommst den Status deines WireGuard angezeigt.
Bei älterem Windows musst du dich über putty als ssh client verbinden. Da gibt es noch keinen eingebauten Konsolen ssh-client.
-
root ist im Regelfall nicht von außen via ssh erreichbar.
Bei *buntu ist der nicht mal von innen aktiv. -
@grizzelbee sagte in Tester für WireGuard Adapter gesucht:
kannst du einfach eine Konsole (Linux=Terminal, Windows=cmd/Eingabeaufforderung) öffnen und
wie gesagt, das funktioniert leider nicht
ssh: connect to host 10.0.1.204 port 22: Connection timed out
liegt es event. an der Config?
# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options override the # default value. Include /etc/ssh/sshd_config.d/*.conf #Port 22 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_ecdsa_key #HostKey /etc/ssh/ssh_host_ed25519_key # Ciphers and keying #RekeyLimit default none # Logging #SyslogFacility AUTH #LogLevel INFO # Authentication: #LoginGraceTime 2m #PermitRootLogin prohibit-password #StrictModes yes #MaxAuthTries 6 #MaxSessions 10 #PubkeyAuthentication yes # Expect .ssh/authorized_keys2 to be disregarded by default in future. #AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2 #AuthorizedPrincipalsFile none #AuthorizedKeysCommand none #AuthorizedKeysCommandUser nobody # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts #HostbasedAuthentication no # Change to yes if you don't trust ~/.ssh/known_hosts for # HostbasedAuthentication #IgnoreUserKnownHosts no # Don't read the user's ~/.rhosts and ~/.shosts files #IgnoreRhosts yes # To disable tunneled clear text passwords, change to no here! #PasswordAuthentication yes #PermitEmptyPasswords no # Change to yes to enable challenge-response passwords (beware issues with # some PAM modules and threads) ChallengeResponseAuthentication no # Kerberos options #KerberosAuthentication no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes #KerberosGetAFSToken no
-
@thomas-braun sagte in Tester für WireGuard Adapter gesucht:
/pfad/zu/wg
danke Dir. Wie bekomme ich den Pfad raus ?
/pfad/zu/wg
-
@thomas-braun sagte in Tester für WireGuard Adapter gesucht:
Da musst du mal schauen welche Rechte erforderlich sind.
Ja - Ich nutze (genau wie Du) aus bequemlichkeit auch noch root.
Bei mir (Debian 11) liegtwg
unter /usr/bin und erfordert root:root.
Das muss ich jetzt auch mal ändern - habe da aber noch keinen Plan in der Tasche. da muss ich mich auch noch reinarbeiten. Am besten dürfte es wahrscheinlich sein das wg kommando in eine eigene Gruppe zu packen und das dann alles wasserdicht zu machen. Aber wg braucht halt aufgrund seiner Natur sehr hohe Rechte.@thomas-braun sagte in Tester für WireGuard Adapter gesucht:
@grizzelbee
root ist im Regelfall nicht von außen via ssh erreichbar.
Bei *buntu ist der nicht mal von innen aktiv.Da kenne ich mich tatsächlich nicht mit aus. Ich bin debian-user.
-
@thomas-braun sagte in Tester für WireGuard Adapter gesucht:
@dslraser sagte in Tester für WireGuard Adapter gesucht:
Wie gebe ich denn einem User (ist schon angelegt) unter Debian11 die Rechte diese Kommandos auszuführen?
Da musst du mal schauen welche Rechte erforderlich sind.
which wg ls -la /pfad/zu/wg
das stet dann da bei wg
-rwxr-xr-x 1 root root 97376 Feb 25 2021 wg
-
@grizzelbee sagte in Tester für WireGuard Adapter gesucht:
Am besten dürfte es wahrscheinlich sein das wg kommando in eine eigene Gruppe zu packen und das dann alles wasserdicht zu machen.
Schau dir setuid an. Damit kann man erweiterte Rechte auch an einfache User weitergeben.
-
@thomas-braun sagte in Tester für WireGuard Adapter gesucht:
Schau dir setuid an. Damit kann man erweiterte Rechte auch an einfache User weitergeben.
Mache ich. Danke für den Tipp.
@Negalein
Ich habe mal schnell gegoogelt und habe das hier gefunden: https://linuxize.com/post/how-to-enable-ssh-on-ubuntu-20-04/
Dort steht, dass Ubuntu standartmäßig die Firewall ufw aktiv hat. Dort musst du den Zugriff über ssh noch zulassen:$ sudo ufw allow ssh
Schau bitte ggf. mal in den Artikel rein. Aber der timeout deutet schon stark auf die firewall hin.
-
@grizzelbee sagte in Tester für WireGuard Adapter gesucht:
Dort steht, dass Ubuntu standartmäßig die Firewall ufw aktiv hat.
Merci, das wars!!
Läuft und ist grün
-
@thomas-braun sagte in Tester für WireGuard Adapter gesucht:
@grizzelbee sagte in Tester für WireGuard Adapter gesucht:
Am besten dürfte es wahrscheinlich sein das wg kommando in eine eigene Gruppe zu packen und das dann alles wasserdicht zu machen.
Schau dir setuid an. Damit kann man erweiterte Rechte auch an einfache User weitergeben.
Ich habe mal für setuid Google bemüht und habe das hier gefunden und gemacht
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 ?