WireGuard -> wg0 existiert bereits
Re: WireGuard -> wg0 existiert bereits
Auf dem WG-Server selbst (die Debian 12 Maschine) hab ich keinen Duckdns Client laufen.
Re: WireGuard -> wg0 existiert bereits
Meine Leitung kann lt FB Geschwindigkeit: ↓ 105,5 Mbit/s ↑ 42,2 Mbit/s
Schnellere Maschinen - schnellere Übertragung?
Re: WireGuard -> wg0 existiert bereits
Befinden sich die Windows-Rechner auch an dem Internetanschluss/Router, wie der WG-Server und wenn ja, sind diese auch 24/7 online?uan hat geschrieben:01.06.2024 12:24:25Ja, ich habe auf beiden Windows Rechnern den Duckdns client laufen und die funken sofort, wenn sich die IP ändert.
Doppelt hält besser und wenn der ddclient mit deinem dyndns-Provider kompatibel/verträglich ist, könntest Du ddclient auf deinem debian 12 installiern und benutzen:uan hat geschrieben:01.06.2024 12:24:25Auf dem WG-Server selbst (die Debian 12 Maschine) hab ich keinen Duckdns Client laufen.
Code: Alles auswählen
apt show ddclient
Re: WireGuard -> wg0 existiert bereits
So genau weiß ich das nicht, aber wenn man VPN bneutzt muss man m. E. auch mit "wenig" zufrieden sein.uan hat geschrieben:01.06.2024 12:27:08Hab gerade mal ne DB via Tunnel kopiert, der schafft so 1,7MB/s. Ist das ein okayer Wert?

Re: WireGuard -> wg0 existiert bereits
Da könnte ich eine Subdomain anlegen, der eine feste IP verpassen. Könnte das die Sache nicht vereinfachen?
Ich hab mich jetzt auch ein wenig eingelesen - Thematik SSH-Zugriff auf den WG-Server mit Public-Key-Authentifizierung. Im Moment melde ich mich mit
Code: Alles auswählen
ssh benutzer@ip-wgserver
Diese IP ist eine Adresse vom Netz, was die FB aufspannt, also 192.168etc.
Wenn dieser Server im lokalen Netz ist, glaube ich das zu verstehen. Aber was muss ich tun, um den von aussen erreichbar zu machen?
Re: WireGuard -> wg0 existiert bereits
Weil ich VPN Verbindung zum Server hatte, hab ich ein Putty aufgemacht und den duckdns - client incl crontab Eintrag auf dem WG-Server direkt installiert.mat6937 hat geschrieben:01.06.2024 12:30:02Befinden sich die Windows-Rechner auch an dem Internetanschluss/Router, wie der WG-Server und wenn ja, sind diese auch 24/7 online?uan hat geschrieben:01.06.2024 12:24:25Ja, ich habe auf beiden Windows Rechnern den Duckdns client laufen und die funken sofort, wenn sich die IP ändert.
Doppelt hält besser und wenn der ddclient mit deinem dyndns-Provider kompatibel/verträglich ist, könntest Du ddclient auf deinem debian 12 installiern und benutzen:uan hat geschrieben:01.06.2024 12:24:25Auf dem WG-Server selbst (die Debian 12 Maschine) hab ich keinen Duckdns Client laufen.Wenn nicht, dann einen gleichwertigen dyndns-Client benutzen.Code: Alles auswählen
apt show ddclient
Ich glaube, jetzt heißts nur noch abwarten
Re: WireGuard -> wg0 existiert bereits
Hast Du es auch manuell (aus der Kommandozeile) auf dem WG-Server getestet? Muss dieser Web-Aufruf für duckdns mit curl(?), von root oder durch den normalen user gemacht werden. In welche crontab auf dem WG-Server hast Du den Eintrag und wie, gemacht? Poste mal das was Du (als cronjob) eingetragen hast?uan hat geschrieben:01.06.2024 13:44:19...duckdns - client incl crontab Eintrag auf dem WG-Server direkt installiert.
Ich glaube, jetzt heißts nur noch abwarten
EDIT:
Als normaler user: Eine Anleitung für duckdns unter Linux: https://www.bitblokes.de/fernzugriff-au ... ckdns-org/
Re: WireGuard -> wg0 existiert bereits
wenn Du den sshd bzw. die pub-key-authentication richtig konfiguriert hast, musst Du in deiner FritzBox (Router) eine Portweiterleitung zum lauschenden Port des sshd machen.uan hat geschrieben:01.06.2024 13:07:24Aber was muss ich tun, um den von aussen erreichbar zu machen?
Re: WireGuard -> wg0 existiert bereits
Jepp, alles von der Kommandozeile aus. Da ist ne prima Anleitung auf duckdns zu dem Thema und das hat einwandfrei funktioniert.mat6937 hat geschrieben:01.06.2024 15:13:35Hast Du es auch manuell (aus der Kommandozeile) auf dem WG-Server getestet? Muss dieser Web-Aufruf für duckdns mit curl(?), von root oder durch den normalen user gemacht werden. In welche crontab auf dem WG-Server hast Du den Eintrag und wie, gemacht? Poste mal das was Du (als cronjob) eingetragen hast?uan hat geschrieben:01.06.2024 13:44:19...duckdns - client incl crontab Eintrag auf dem WG-Server direkt installiert.
Ich glaube, jetzt heißts nur noch abwarten
...
Code: Alles auswählen
/etc/crontab
Code: Alles auswählen
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/>
47 6 * * 7 root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/>
52 6 1 * * root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/>
*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1
#
Re: WireGuard -> wg0 existiert bereits
uan hat geschrieben:01.06.2024 16:20:51mat6937 hat geschrieben:01.06.2024 15:13:35OK, aber wenn Du schon nicht eine user-crontab benutzt, dann musst Du den user in der systemweiten crontab eintragen und btw. der absolute Pfad kann auch nicht schaden (statt ~). Der normale user muss dann aber auch die Rechte haben, dieses Script dort im Verzeichnis, auszuführen.uan hat geschrieben:01.06.2024 13:44:19...duckdns - client incl crontab Eintrag auf dem WG-Server direkt installiert.
Ich glaube, jetzt heißts nur noch abwarten
Jepp, alles von der Kommandozeile aus. Da ist ne prima Anleitung auf duckdns zu dem Thema und das hat einwandfrei funktioniert.Code: Alles auswählen
/etc/crontab
Code: Alles auswählen
# /etc/crontab: system-wide crontab */5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1 #
Re: WireGuard -> wg0 existiert bereits
Code: Alles auswählen
*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1
#
Code: Alles auswählen
*/5 * * * * root /root/duckdns/duck.sh >/dev/null 2>&1
Re: WireGuard -> wg0 existiert bereits
Die Server-IP ist doch eine wesentliche, das zentrale System betreffende Größe - gehört die nicht in root-Hände?
Re: WireGuard -> wg0 existiert bereits
Der absolute Pfad sollte nicht "/root/duckdns" sein. Du kannst z. B. das Script "duck.sh" in das Verzeichnis "/usr/local/bin" verschieben/kopieren und als root:uan hat geschrieben:01.06.2024 18:19:08Das heißt dann, der Eintrag muss/sollte von
nachCode: Alles auswählen
*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1 #
weil der sollte die Recht haben - oder?Code: Alles auswählen
*/5 * * * * root /root/duckdns/duck.sh >/dev/null 2>&1
Code: Alles auswählen
chmod 755 /usr/local/bin/duck.sh
Code: Alles auswählen
*/5 * * * * <user> /home/<user>/bin/duckdns/duck.sh > /dev/null 2>&1
Code: Alles auswählen
*/5 * * * * /home/<user>/bin/duckdns/duck.sh > /dev/null 2>&1
Testen kannst Du den cronjob, über ca. 20 Minuten auf dem Server mit:
Code: Alles auswählen
tcpdump -c 30 -vvveni <Interface> dst host 3.96.91.14 and dst port 443
Re: WireGuard -> wg0 existiert bereits
Es ist ja nicht die Server-IP (bei IPv4) sondern die externe/öffentliche IP4 vom "border device" und auf das was dort passiert oder passieren kann, hast Du keinen Einfluss, wenn Du z. B. eine (nicht modifizierte) FritzBox (oder gleichwertig, evtl. sogar providereigener Router/Modem) benutzt.uan hat geschrieben:01.06.2024 18:23:23Die Server-IP ist doch eine wesentliche, das zentrale System betreffende Größe - gehört die nicht in root-Hände?
Re: WireGuard -> wg0 existiert bereits
Das habe ich gemacht.mat6937 hat geschrieben:01.06.2024 19:43:49...
Der absolute Pfad sollte nicht "/root/duckdns" sein. Du kannst z. B. das Script "duck.sh" in das Verzeichnis "/usr/local/bin" verschieben/kopieren und als root:ausführen.Code: Alles auswählen
chmod 755 /usr/local/bin/duck.sh
...
Re: WireGuard -> wg0 existiert bereits
OK, dann poste jetzt die Ausgaben von:
Code: Alles auswählen
ls -la /usr/local/bin/duck.sh
head -n 1 /usr/local/bin/duck.sh
crontab -l
whoami
Re: WireGuard -> wg0 existiert bereits
ls -la /usr/local/bin/duck.sh-rwxr-xr-x 1 root root 141 1. Jun 19:48 /usr/local/bin/duck.sh
Code: Alles auswählen
head -n 1 /usr/local/bin/duck.sh
Code: Alles auswählen
echo url="https://www.duckdns.org/update?domains=xxx&token=wertdestoken" | curl -k -o ~/duckdns/duck.log -K -
Code: Alles auswählen
crontab -l
Code: Alles auswählen
# Edit this file to introduce tasks to be run by cron.
#
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
#
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
#
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
#
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
*/5 * * * * ~/duckdns/duck.sh >/dev/null 2>&1
Code: Alles auswählen
whoami
Code: Alles auswählen
root
Re: WireGuard -> wg0 existiert bereits
D. h. das Script hat keine shebang, aber OK, Hauptsache es funktioniert.
Warum hast Du eine root-crontab und keine user-crontab erstellt und warum willst Du keine absolute Pfade in der crontab benutzen?
Hast Du den cronjob in der systemweiten crontab auch gelöscht?
Re: WireGuard -> wg0 existiert bereits
in der
Code: Alles auswählen
/etc/crontab
Code: Alles auswählen
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.daily; }
47 6 * * 7 root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.weekly; }
52 6 1 * * root test -x /usr/sbin/anacron || { cd / && run-parts --report /etc/cron.monthly; }
*/5 * * * * root /usr/local/bin/duck.sh >/dev/null 2>&1
#
Re: WireGuard -> wg0 existiert bereits
Wenn ein normaler user etwas erledigen kann, dann musst Du es nicht von root machen lassen. Wenn Du einen user-cronjob anlegen willst, aber der user diesen cronjob nicht ändern/löschen soll, dann kannst Du als root, diesen user-cronjob in der systemweiten crontab anlegen. Es gibt (freie) OSs, die kennen/haben keine systemweite crontab. Statt cronjob kannst Du auch eine service-unit mit timer-unit benutzen. In anderen Foren hätte es schon Widerspruch zu den hier besprochenen cronjobs gegeben und einen Hinweis auf die timer-unit.uan hat geschrieben:01.06.2024 21:53:37Um ehrlich zu sein, weil ich bis heute nicht mal wusste, was ne crontab ist. Geschweige denn, die Unterschiede zwischen systemweiter, user-crontab und root-crontab und wann man besser welche nimmt...

Zwei identische cronjobs (root-crontab und systemweite crontab) brauchst Du nicht.
Re: WireGuard -> wg0 existiert bereits
Da ohnehin nur ich in dem System rumwurschtele, fege ich den mit der Tilde raus.
Re: WireGuard -> wg0 existiert bereits
Führe jetzt mal:
Code: Alles auswählen
exit
Code: Alles auswählen
whoami
pwd
Re: WireGuard -> wg0 existiert bereits
Code: Alles auswählen
whoami
Code: Alles auswählen
uan
Code: Alles auswählen
pwd
Code: Alles auswählen
/home/uan
Re: WireGuard -> wg0 existiert bereits
Dann kannst Du in der systemweiten crontab, die Zeile:
Code: Alles auswählen
*/5 * * * * root /usr/local/bin/duck.sh >/dev/null 2>&1
Code: Alles auswählen
*/5 * * * * uan /usr/local/bin/duck.sh >/dev/null 2>&1
Re: WireGuard -> wg0 existiert bereits
Dann kannst Du in der systemweiten crontab, die Zeile:
Code: Alles auswählen
*/5 * * * * root /usr/local/bin/duck.sh >/dev/null 2>&1
Das mache ich!
Heute morgen geguckt, die IP hatte sich geändert (hab ich auf duckdns.org gesehen) - Tunnel funktioniert immer noch. Juhuuu!
Gestern abend hab ich noch ein wenig rumgespielt, diese Verbindung ist genau das, was ich wollte.
Dann sind noch zwei offene Punkte - nämlich:
No 1
ich möchte auf beiden Haupt-PCs, auf beiden läuft (noch) Windows 10, die SSH Verbindung zu WG-Server und WG-Client unabhängig von der VPN Verbindung konfigurieren, das ich beide von überall erreichen kann. Da werde ich mich ein wenig reinfuchsen...
No 2
Auf meinem PC in der Praxis habe ich MailStore-Server laufen. Das ist eine Windows Client-Server Anwendung zur Sicherung der eMails. Die läuft schon sehr lange, völlig ohne Zicken, ist schnell und einfach zu bedienen. Kinke: es läuft nicht unter Unix dasselbe gilt für meine Praxissoftware, auch ein altes Hündchen, auch ausschließlich Windows. Außerdem bin ich großer Fan der Affinity Software, die auch nur unter Windows und MacOS laufen. So wäre es schön, wenn ich eine Möglichkeit hätte, den Praxisrechner quasi fernzubedienen, und zwar ohne das jemand dort vor Ort sein muss, der den Zugriff freigibt, so dass ich auch von daheim auf das eMail-Archiv zugreifen könnte? Gut, ich könnte das über ein Notebook lösen, aber dann schleppe ich wieder was mit mir rum.