openvpn + duckdns

Änderungsstand: 2020-09-14

DUCKDNS:

Zuerst richte ich DuckDNS als Dockeranwendung ein. Somit verzichte ich auf eine DYNDNS-Konfiguration meines Routers. Dafür wird ein vorhandenes DuckDNS-Konto benötigt. Folgenden Befehl gebe ich, komplett in einem Ruck, ins Terminal ein:

docker run -d \
  --name=duckdns \
  -e PUID=1000 \
  -e PGID=100 \
  -e TZ=Europe/Berlin \
  -e SUBDOMAINS=knilix,troubadix \
  -e TOKEN=fh65r72z-957a-7d5h-f93g-h623k7395l93 \
  -v /var/lib/DuckdnsConfig:/config \
  --restart unless-stopped \
  linuxserver/duckdns

Das Dockerimage wird geladen und der Docker gestartet.

Zur Erklärung:

In Zeile 6 werden die SubDomains, mit Komma getrennt (ohne Leerzeichen) angegeben. Meine erstellten Domains für diesen Guide sind knilix und troubadix. Ich benötige aber nur knilix. troubadix dient nur für Informationszwecke, wie die Zeile 6 aussehen kann. In Zeile 7 kommt das Token hinein, welches auf der DuckDNS-Login-Seite ersichtlich ist. Zeile 8 beinhaltet das Config-Verzeichnis. Ich verwende dafür meist /var/lib/.

Wurde der Docker ohne Fehlermeldung gestartet, ist auch schon die erste Syncronisierung zu DuckDNS erfolgt und die IP-Adresse ist abgeglichen.

OPENVPN-AS:

Vorher muss noch eine Portfreigabe für den Port 1194 im Router gesetzt werden. Wie die Portfreigabe in einer FritzBox! 7590 funktioniert, steht hier. Man muss nur in der Anwendung Portfreigabe auf „Andere Anwendung“ gehen, einen Namen eingeben (openVPN), UDP wählen und die Ports an Gerät 1194: bis Port 1194: Port extern 1194 eintragen. Wenn erledigt, zurück ins Terminal. Folgenden Befehl gebe ich, komplett in einem Ruck, ein:

docker run -d \
  --name=openvpn-as \
  --cap-add=NET_ADMIN \
  -e PUID=1000 \
  -e PGID=100 \
  -e TZ=Europe/Berlin \
  -p 943:943 \
  -p 9443:9443 \
  -p 1194:1194/udp \
  -v /var/lib/OpenvpnConfig:/config \
  --restart unless-stopped \
  linuxserver/openvpn-as

Das Dockerimage wird geladen und der Docker gestartet.

Zur Erklärung:

Zeilen 7-9 sind die verwendeten Ports. Zeile 10 beinhaltet das Config-Verzeichnis. Ich verwende dafür meist /var/lib/.

Wurde der Docker ohne Fehlermeldung gestartet, ist auch schon das Benutzermenu im Browser abrufbar:

http s://Server-IP:943/admin

Erster Login:

Benutzername: admin

Passwort: password

Jetzt wird zuerst das Netzwerk eingerichtet.

  • Configuration
    • Network Settings
      • Hostname or IP-Adress: die DuckDNS-Adresse eingeben (z.B. knilix.duckdns.org)
      • Protocol: UDP
      • Port Number: 1194
      • Save Settings
      • Update Running Server klicken
  • Browserfenster aktualisieren und Login
  • Configuration
    • VPN Settings
      • Routing
        • Specify the private subnets to which all clients should be given access (one per line): als zweite Zeile hinzufügen 192.168.178.0/24 (bei mir: Subnet/24 (24 wäre bei Subnetmask 255.255.255.0, was auch die Meisten nutzen)
        • Save Settings
        • Update Running Server klicken
  • User Management
    • User Permissions
      • Username erstellen (ich verwende für mein Beispiel Klaus 🙂 ) mit „Admin“ & „Allow Auto-Login“ und dann „More Settings“ klicken
      • Passwort vergeben
      • Save Settings
      • Update Running Server klicken
  • User Management
    • User Permissions
      • admin – More Settings
        • Passwort ändern!
        • Save Settings
        • Update Running Server klicken
  • Logout

http s://Server-IP:943 (ohne /admin) eingeben und mit dem erstellten User einloggen.

Es kann der Client für die benötigte Plattform heruntergeladen werden. Einfach auf das benötigte Symbol klicken. Nach der Installation des Clienten, einfach „OpenVPN Connect“ öffnen und das Profil starten. Fertig.

Man kann auch die „Yourself (autologin profile)“ herunterladen und in das jeweilige OpenVPN-Programm importieren. Auf, z.B. Android, muss dann die „client“-Datei auf das Handy kopiert werden und man kann mittels OpenVPN-App die Einstellungen importieren. Man sollte nur nicht vergessen, die Datei anschließend wieder zu Löschen. Achtung! Es handelt sich um eine versteckte Datei!

Wurde die Verbindung hergestellt, sieht das etwa so aus:

Achtung! Mit OpenVPN-AS sind nur 2 Verbindungen gleichzeitig möglich!