[gelöst] Port Forwarding in OpenVPN-Tunnel

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
TomL

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von TomL » 23.10.2019 15:19:48

scriptorius hat geschrieben: ↑ zum Beitrag ↑
23.10.2019 07:12:33
Kannst Du dazu praxisorientiert noch etwas "verbessern" oder beitragen?
Nur als Anregung... vielleicht kannst Du darüber das eine oder andere ableiten oder übernehmen ... :roll: ... es ist allerdings anders, weil ich das Road-Warrior-Konzept verfolge ... guck einfach mal hier nach ... schädlich wirds nicht sein. Auf einer weiteren Seite habe ich das auch mit dem Paketfilter und weiteren Sicherheitsüberlegungen tiefergehend betrachtet. Vielleicht hilft das ja auch irgendwie weiter.

scriptorius
Beiträge: 180
Registriert: 20.02.2004 18:52:14

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von scriptorius » 23.10.2019 17:57:04

Vielen Dank,
ja, das erschwert die Sache zusätzlich, dass es wohl ziemlich viele Ansätze gibt. Gleichzeitig ist es nicht einfach, eine praxisorientierte Schritt für Schritt Anleitung im Netz zu finden.
Es scheint sich bei OpenVPN in der letzten Zeit auch etwas hinsichtlich der Konfiguration geändert zu haben.
Ich meine, diese Anleitung im Netz kommt dem hier eingeschlagenem Weg am nächsten:

https://palitechsociety.blogspot.com/20 ... 0.html?m=1

... zumindest werden hier die Variablen passend konfiguriert.

scriptorius
Beiträge: 180
Registriert: 20.02.2004 18:52:14

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von scriptorius » 25.10.2019 08:08:05

Hallo TomL,
ich möchte mich noch mal für die ausführliche Anleitung bedanken.
Das war sicherlich sehr viel Arbeit.
Du solltest ein Buch zu dem Thema veröffentlichtlichen.

Jetzt am Wochenende werde ich mich mal einlesen. Sicherlich werde ich da einiges über nehmen können.

@andydid
Bist Du denn schon weiter gekommen?

andydld
Beiträge: 35
Registriert: 26.10.2017 17:47:58

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von andydld » 28.10.2019 10:36:31

Leider bin ich noch nicht weiter dazugekommen.
Ein Supporter lies mich wissen, das unklar wäre, wie lange es nftables noch geben wird, da es mit BPF bereits einen Nachfolger gibt.

TomL

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von TomL » 28.10.2019 11:00:14

andydld hat geschrieben: ↑ zum Beitrag ↑
28.10.2019 10:36:31
Ein Supporter lies mich wissen, das unklar wäre, wie lange es nftables noch geben wird, da es mit BPF bereits einen Nachfolger gibt.
Nein, gibt es nicht.... zumindest auf Jahre hinaus noch nicht. Das ist meines Wissens nach in einem total frühen Entwicklungsstadium, noch weit entfernt von wirklicher Inbetriebnahme. Darüber hinaus wird das wohl auch nur die Kernelmodule betreffen und soll auf die Frontends im Userspace mit iptables und nftables keinen Einfluss haben.

Stand heute sind im Kernel die alten statischen iptables-Tabellen durch die flexibleren nftables-Module ausgetauscht, das alte Frontend 'iptables' wurde gegen ein neues Frontend 'nftables' ausgetauscht.... ipstables-Statements funktioneren aber trotzdem immer noch, sie werden halt nur durch einen Parser/Generator in nftables-Syntax übersetzt. Das bedeutet, sogar die iptables-Syntax lebt heute immer noch weiter. Wobei ich das heute gar nicht mehr nutze, die nftables-Syntax ist deutlich besser zu handhaben.

BTW, welcher Supporter war das, an welcher Stelle kann man das nachlesen?

andydld
Beiträge: 35
Registriert: 26.10.2017 17:47:58

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von andydld » 28.10.2019 11:19:52

Ein Kollege von Heinlein Support hat mir das mitgeteilt, ich hatte dort eine Support-Anfrage zu diesem Thema gestellt. Das ist schon eine Weile/Wochen her und heute kam eben diese Antwort. Man habe dort zudem keine Erfahrung mit nftables und nutze nach wie vor iptables. Wird aber vmtl. so sein wie von dir beschrieben, das es automatisch "übersetzt" wird.

Benutzeravatar
MSfree
Beiträge: 10774
Registriert: 25.09.2007 19:59:30

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von MSfree » 28.10.2019 11:20:40

TomL hat geschrieben: ↑ zum Beitrag ↑
28.10.2019 11:00:14
Nein, gibt es nicht....
BPF ist doch der Berkeley Paket Filter, also eigentlich BSD-Unix. Bist du sicher, daß der überhaupt jemals in Linux Einzug halten wird?

TomL

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von TomL » 28.10.2019 11:28:37

Ich habe echt keine Ahnung, wie da die Zukunft aussieht. Ich habe nur gelesen, dass man resp. die Entwickler sich davon gravierende Performance-Vorteile versprechen.... was man da irgendwie aus den vagen Meldungen so herauslesen kann. Allerdings vermute ich auch, dass wir hier selbst mit Bullseye noch nichts davon sehen werden.... aber wie gesagt, alles nur raterei. Für mich war der Wechsel von iptables auf nftables tatsächlich eine ähnlich positive Erfahrung, wie damals der Wechsel von sysv nach systemd. Deswegen hoffe ich für mich, dass nftables noch lange Zeit so bleibt. :wink:

andydld
Beiträge: 35
Registriert: 26.10.2017 17:47:58

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von andydld » 28.10.2019 11:30:13

Gute Frage. Habe gerade mal auf die Schnelle gesucht, dazu bspw. das hier gefunden:

https://www.admin-magazin.de/Das-Heft/2 ... rn-mit-XDP

Wenn dann geht's wohl eher um eBPF.

Doku gibt's zudem auf der Kernel-Seite:

http://man7.org/linux/man-pages/man2/bpf.2.html

TomL

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von TomL » 28.10.2019 11:37:52

andydld hat geschrieben: ↑ zum Beitrag ↑
28.10.2019 11:19:52
Ein Kollege von Heinlein Support hat mir das mitgeteilt, ich hatte dort eine Support-Anfrage zu diesem Thema gestellt. .... Man habe dort zudem keine Erfahrung mit nftables und nutze nach wie vor iptables.
Nuja, das ist aber auch ein bisschen so, als frage man den Berliner Konditor nach dem Rezept für "Rheinischer Sauerbraten". :mrgreen: Besser wäre es, wenn Du diese Frage in der nftables-Mailing-Liste stellen würdest. Wobei ich vermute, dass es selbst von da keine abschließende Antwort gibt.

andydld
Beiträge: 35
Registriert: 26.10.2017 17:47:58

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von andydld » 28.10.2019 12:10:45

Tilt. Den Vergleich verstehe ich nun nicht.

Das Thema ist ja "Port Forwarding in OpenVPN-Tunnel" und nicht ob nftables durch bpf(ilfter) etc. ersetzt werden wird.
Trotz vorhandener Glaskugel konnte man im Vorfeld ja nicht wissen, wer mit was welche Erfahrung hat.

Bei Heinlein Support hatte ich zum Thema (s.o.) eine Frage gestellt, das war glaub ich seinerzeit noch bevor es diesen Thread gab und zudem aus positiver Erfahrung heraus bei einer anderen Sache.

TomL

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von TomL » 28.10.2019 12:25:24

andydld hat geschrieben: ↑ zum Beitrag ↑
28.10.2019 12:10:45
Den Vergleich verstehe ich nun nicht.
Die Antwort hat Heinlein ja selber gegeben: "Man habe dort zudem keine Erfahrung mit nftables und nutze nach wie vor iptables."
Heinlein ist ein Dovecot- und Postfix-Guru, und genau dabei ohne jeden Zweifel eine absolute Kapazität.... aber eben nicht für OpenVPN oder gar den Paketfilter. Und wenn man sich an OpenVPN-Spezialisten wenden will, gibts auch dafür eine Mailing-Liste. In den Listen trifft man dann auf Leute wie Florian Westphal beim Paketfilter, oder für OpenVPN z.B. auf Keijser und Döring... die dort jeweils ebenfalls die Gurus sind.

scriptorius
Beiträge: 180
Registriert: 20.02.2004 18:52:14

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von scriptorius » 28.10.2019 12:41:52

Hallo,
mir ist es gelungen diesen ssh-Tunnel nach Anleitung des ct-Berichtes zu bauen.
https://www.heise.de/select/ct/2018/2/1515452696423264

Wenn man sich ein wenig einliest und -denkt, ist das gut zu schaffen.
Das scheint mit sicherer zu sein, als mit 6tunnel zu arbeiten. Liege ich da richtig?

Natürlich hätte ich am liebsten die Lösung mit OpenVPN, aber das Thema scheint mir jedoch sehr komplex.
Leider sind hier jetzt auch die Herbstferien vorbei.
Das Thema OpenVPN nehme ich mir für die Weihnachtsferien vor.

@TomL
Wenn es recht ist, würde ich mich dann noch mal mit Fragen melden,
Deine Seite habe ich runtergeladen. Die ist wirklich sehr gut :)

Vielen Dank für die Hilfe und, dass Ihr Euer Wissen hier teilt ...

P.S.: Ich habe einen Internetanschluss der Deutschen-Glasfaser und einen VServer bei IONOS gemietet für dauerhaft 1,-€ (VPS S
) im Monat :)

andydld
Beiträge: 35
Registriert: 26.10.2017 17:47:58

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von andydld » 28.10.2019 14:02:28

@TomL:

Auf deren Homepage ist generell von Linux zu lesen, das ist natürlich ein sehr weites Feld.
Jetzt mal überspitzt ausgedrückt steht da nichts von "Dovecot-/Postfix-only".
Das ist soweit jetzt ja auch nichts das Thema.
Man hat halt gefragt, man bekam eine Antwort, alles gut.

@scriptorius:

> Das scheint mit sicherer zu sein, als mit 6tunnel zu arbeiten. Liege ich da richtig?

Imho ja. 6tunnel leitet ja nur weiter bzw. um, ohne selbst (nochmal) irgendwie zu verschlüsseln.
Inwiefern das dann relevant ist, hängt davon ab, was man weiterleitet.

> P.S.: Ich habe einen Internetanschluss der Deutschen-Glasfaser

Das ist ein Grund, warum ich mir das gerade ansehe. Bei uns läuft aktuell die Nachfragebündelung, von persönlicher Neugierde mal ganz abgesehen.

scriptorius
Beiträge: 180
Registriert: 20.02.2004 18:52:14

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von scriptorius » 28.10.2019 14:40:13

Sehr verkürzt habe ich den Artikel so umgesetzt:

# Server-Umleitung mit einem ssh-Tunnel
> entsprechende Ports für Heimserver und vServer freigeben:

Auf dem root-Server (vServer)
• # nano /etc/ssh/sshd_config
>
PermitRootLogin without-password
GatewayPorts yes
ClientAliveInterval 10
ClientAliveCountMax 3

• # cd /root/
• # ssh-keygen -t ed25519 -N "" -f .ssh/example-root
• # cd /root/.ssh
• # cp example-root.pub authorized_keys
• # nano /root/.ssh/authorized_keys
> ganz am Anfang der Schlüsselzeile, also als erstes:
command="/bin/false"
• # chmod 600 /root/.ssh/authorized_keys
Die Datei /root/.ssh/example-root muss zum Heimserver kopiert werden
• # scp /root/.ssh/example-root [...]

Auf dem Heimserver
• # mv /home/>USER</example-root /home/>USER</.ssh/
• # chmod 600 /home/>USER</.ssh/example-root

Auf dem Heimserver > Aufbau des Tunnels:
temporärer Versuch:
• # ssh -R 80:hostname:80 -i /home/>user</.ssh/example-root -N root@ip-Adresse-vServer
Anmerkung: hostname des Heimservers > # hostname -f

Ein Script erstellen, dass den Tunnel automatisch startet:
Auf dem Heimserver
• # touch /root/ssh_tunnel.sh
• # nano /root/ssh_tunnel.sh
>
#!/bin/bash
while true
do
ssh -N -R 80:hostname:80 -i /home/>USER</.ssh/example-root -o ServerAliveInterval=10 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes root@IP-Adresse-vServer
sleep 1
done
• # chmod +x /root/ssh_tunnel.sh
• # crontab -e
>
@reboot /root/ssh_tunnel.sh

... wenn man den Artikel daneben legt, wird vieles klar. Den kann man da für 1,50€ runter laden.
https://shop.heise.de/zeitschriften/ct/ ... -t-02-2018
(S. 138)

scriptorius
Beiträge: 180
Registriert: 20.02.2004 18:52:14

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von scriptorius » 29.10.2019 08:01:17

Ich habe noch eine Verständnisfrage bez. letsencrypt:

Meine Situation ist ja nun die, dass ich über den vServer per SSH-Tunnel auf meinen Heimserver zugreife.
Letsenrypt verlangt ja nach einer "Domain".
Eine Subdomain zeigt nun auf den vServer,
Wenn ich bei der Einrichtung von letsencrypt die "Subdomain-Adresse" eingebe, die auf den vServer zeigt, scheint das nicht zu reichen.

Muss ich auf dem vServer noch einen dyn-Dienst mittels ddclient einrichten und die "dyn-Adresse" in der fritzbox angeben?
Oder wie wäre hier der richtige Weg?

andydld
Beiträge: 35
Registriert: 26.10.2017 17:47:58

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von andydld » 29.10.2019 08:31:05

Die Ports 80 und 443 weitergeleitet?

Dieses Szenario mit LE habe ich noch nicht getestet, steht aber auf der ToDo-Liste.

Wenn die (Sub-)Domain auf die IP-Adresse des vServer zeigt passt das soweit.
Was anderes macht man ja bei "vollwertigen" Internetzugängen mit fester IP ja auch nicht.

Wie sieht denn die Fehlermeldung von Let's Encrypt aus?
Was sagt den das Log des Webservers, evtl. kommt irgendein Zugriff nicht an.

scriptorius
Beiträge: 180
Registriert: 20.02.2004 18:52:14

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von scriptorius » 29.10.2019 08:52:28

Ja, an die Ports 80, 443 habe ich gedacht.
Was die Auswertung der logs betrifft, das kann ich heute Abend erst machen.

Bei der Installation von nextcloud auf meinem "Heimserver", bin ich der Anleitung von Carsten Rieger gefolgt.
Auf seiner Hompage steht auch ein Anleitung zu Installation eines dyn-Dienstes beschrieben:

https://www.c-rieger.de/desec-dyndns-for-nextcloud/

Am Ende dieser Anleitung schreibt er:
"Now you are able to request certificates from let’s encrypt for your new dyndns-address."

Daher komme ich auf den dyn-Dienst, anscheinend ist das eine Voraussetzung?
Ich habe mal nextcloud auf dem "Heimserver" installiert ohne vorher den dyn-Dienst zu installieren, das klappte dann auch nicht.
Erst, sobald ich Einrichtung vorgenommen hatte ...

andydld
Beiträge: 35
Registriert: 26.10.2017 17:47:58

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von andydld » 29.10.2019 09:07:09

> Daher komme ich auf den dyn-Dienst, anscheinend ist das eine Voraussetzung?

Nein.
Habe bei Kunden und im eigenen Haus diverse Server mit und ohne feste IP und (Sub-)Domains mit und ohne DDNS und Let's Encrypt am Laufen.

> Ich habe mal nextcloud auf dem "Heimserver" installiert ohne vorher den dyn-Dienst zu installieren, das klappte dann auch nicht.

Was genau klappte dann nich?

Nextcloud setzt kein DDNS voraus. Das "hängt" dann eher an der Anleitung oder der Herangehensweise.

Mal abgesehen davon, das der Einsatz von DDNS jetzt den Sinn und Zweck des Konstrukts mit vServer, Tunnel und DS-Lite irgendwie unterlaufen bzw. aushebeln würde.

scriptorius
Beiträge: 180
Registriert: 20.02.2004 18:52:14

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von scriptorius » 29.10.2019 11:34:10

Ja, gerade noch mal versucht, folgende Fehlermeldung:

>meine subdomain<:Verify error:Invalid response from http://>meine subdomain</.well-known/acme-challenge/3Em2-zY6kA_4atV5YFi2taGlKHbGhbtInO6SocGfy1c [2001:8d8:100f:f000::20f]: 204
[Di 29. Okt 11:14:58 CET 2019] Please add '--debug' or '--log' to check more details.
[Di 29. Okt 11:14:58 CET 2019] See: https://github.com/Neilpang/acme.sh/wik ... ug-acme.sh

ein Auszug
# nano /home/acmeuser/.acme.sh/acme.sh.log
[Di 29. Okt 11:15:26 CET 2019] ok, let's start to verify
[Di 29. Okt 11:15:26 CET 2019] Verifying: >meine subdomain<
[Di 29. Okt 11:15:26 CET 2019] d=>meine subdomain<
[Di 29. Okt 11:15:26 CET 2019] keyauthorization='vRkV4GhvZZUaVngjAOxNefIXmgjxVdUaRO4QsMi9SFs.K-EsybvDpCVBQjDII5jtdiSrCsmll1NqZgq8FaCNG3o'
[Di 29. Okt 11:15:26 CET 2019] uri='https://acme-v02.api.letsencrypt.org/ac ... 943/89qbJA'
[Di 29. Okt 11:15:26 CET 2019] _currentRoot='/var/www/letsencrypt'
[Di 29. Okt 11:15:26 CET 2019] wellknown_path='/var/www/letsencrypt/.well-known/acme-challenge'
[Di 29. Okt 11:15:26 CET 2019] writing token:vRkV4GhvZZUaVngjAOxNefIXmgjxVdUaRO4QsMi9SFs to /var/www/letsencrypt/.well-known/acme-challenge/vRkV$
[Di 29. Okt 11:15:26 CET 2019] Changing owner/group of .well-known to www-data:www-data
[Di 29. Okt 11:15:26 CET 2019] chown: der Eigentümer von '/var/www/letsencrypt/.well-known/acme-challenge/vRkV4GhvZZUaVngjAOxNefIXmgjxVdUaRO4QsM$
chown: der Eigentümer von '/var/www/letsencrypt/.well-known/acme-challenge' wird geändert: Die Operation ist nicht erlaubt
chown: der Eigentümer von '/var/www/letsencrypt/.well-known' wird geändert: Die Operation ist nicht erlaubt
[Di 29. Okt 11:15:26 CET 2019] chown: der Eigentümer von '/var/www/letsencrypt/.well-known/acme-challenge/vRkV4GhvZZUaVngjAOxNefIXmgjxVdUaRO4QsM$
chown: der Eigentümer von '/var/www/letsencrypt/.well-known/acme-challenge' wird geändert: Die Operation ist nicht erlaubt
chown: der Eigentümer von '/var/www/letsencrypt/.well-known' wird geändert: Die Operation ist nicht erlaubt
[Di 29. Okt 11:15:26 CET 2019] url='https://acme-v02.api.letsencrypt.org/ac ... 943/89qbJA'
[Di 29. Okt 11:15:26 CET 2019] payload='{}'
[Di 29. Okt 11:15:26 CET 2019] POST
[Di 29. Okt 11:15:26 CET 2019] _post_url='https://acme-v02.api.letsencrypt.org/ac ... 943/89qbJA'
[Di 29. Okt 11:15:26 CET 2019] _CURL='curl -L --silent --dump-header /home/acmeuser/.acme.sh/http.header -g '
[Di 29. Okt 11:15:27 CET 2019] _ret='0'
[Di 29. Okt 11:15:27 CET 2019] code='200'
[Di 29. Okt 11:15:27 CET 2019] trigger validation code: 200
[Di 29. Okt 11:15:27 CET 2019] sleep 2 secs to verify
[Di 29. Okt 11:15:29 CET 2019] checking
[Di 29. Okt 11:15:29 CET 2019] url='https://acme-v02.api.letsencrypt.org/ac ... 943/89qbJA'
[Di 29. Okt 11:15:29 CET 2019] payload
[Di 29. Okt 11:15:29 CET 2019] POST
[Di 29. Okt 11:15:29 CET 2019] _post_url='https://acme-v02.api.letsencrypt.org/ac ... 943/89qbJA'
[Di 29. Okt 11:15:29 CET 2019] _CURL='curl -L --silent --dump-header /home/acmeuser/.acme.sh/http.header -g '

andydld
Beiträge: 35
Registriert: 26.10.2017 17:47:58

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von andydld » 29.10.2019 12:32:45

[Di 29. Okt 11:15:26 CET 2019] Changing owner/group of .well-known to www-data:www-data
[Di 29. Okt 11:15:26 CET 2019] chown: der Eigentümer von '/var/www/letsencrypt/.well-known/acme-challenge/vRkV4GhvZZUaVngjAOxNefIXmgjxVdUaRO4QsM$
chown: der Eigentümer von '/var/www/letsencrypt/.well-known/acme-challenge' wird geändert: Die Operation ist nicht erlaubt
chown: der Eigentümer von '/var/www/letsencrypt/.well-known' wird geändert: Die Operation ist nicht erlaubt
Offensichtlich ein Rechte/Besitzer-Problem.

Da sollte man mal schauen, wer der aktuelle Besitzer ist und diesen wohl, laut log, auf "www-data" ändern.

scriptorius
Beiträge: 180
Registriert: 20.02.2004 18:52:14

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von scriptorius » 29.10.2019 12:47:52

... das wird vorher gemacht:

# chmod -R 775 /var/www/letsencrypt /etc/letsencrypt && chown -R www-data:www-data /var/www/ /etc/letsencrypt

andydld
Beiträge: 35
Registriert: 26.10.2017 17:47:58

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von andydld » 29.10.2019 14:05:27

Wenn alles passen würde, käme ja die Meldung nicht.

scriptorius
Beiträge: 180
Registriert: 20.02.2004 18:52:14

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von scriptorius » 02.11.2019 21:49:23

Ich musste doch die Einstellungen für den DNS-Dienst auf dem vServer vornehmen.
Ich bin dieser Anleitung gefolgt:
https://www.c-rieger.de/desec-dyndns-for-nextcloud/
In der fritzbox habe ich ebenfalls mit den Angaben den DNS-Dienst aktiviert.
Die Erstellung eines letsencypt-Zertifikates klappt dann.

Aber natürlich tut sich schon wieder das nächste Problem auf:
fail2ban installiert auf dem Heimserver "greift" nicht für die dort installierte Nextcloud.
Momentan gebe ich mich mit der brute-force protection von Nextcloud zufrieden.
Bis ich eine Lösung gefunden habe.
Hat jemand einen Tipp?

andydld
Beiträge: 35
Registriert: 26.10.2017 17:47:58

Re: Port Forwarding in OpenVPN-Tunnel

Beitrag von andydld » 17.06.2020 11:27:13

Wenn auch viel zu spät (sorry), so ist jetzt die erste öffentliche Fassung des Blog-Beitrags online:

https://www.andysblog.de/oeffentliche-i ... shared-key

Die Variante mit PKI/Zertifikaten (und weitere) soll noch folgen.

Antworten