VPN mit Wireguard, DS-Lite und Proxmox LXC

Soll ich mir noch keine Lösung hatte wie ich mit einer IP V4 Adresse eine VPN Verbindung in mein Netzwerk aufbauen konnte habe ich mich diesem Thema mal wieder angenommen. Zur Erklärung: ich hänge hier an einem DS-lite Anschluss bei dem ich nur eine öffentliche IP V6 Adresse habe. Zum Einsatz kommt jetzt hier dynDNS, ddclient Wireguard und ein externer Server um die Umsetzung von IPV4 auf IP V6 zu machen. Der externe Server ist ein billiger V Server von 1Fire. Der VPN Zugang wird auf einem Ubuntu 20.4 Server laufen der in einem Proxmox Container installiert ist.

Zuerst besorgen wir uns einen DynDNS der auch IP V6 unterstützt. Eine schöne kostenlose Variante habe ich beim ddnss.de gefunden.

Nachdem wir den Container installiert und mit apt update &&apt upgrade aktualisiert haben, installieren wir mit apt install curl ddclient noch die benötigten pakete.

Der Hostname den ich mir bei ddnsss besorgt habe ist tollerhost.ddnss.ch wir passen jetzt die /etc/ddclient.conf wie folgt an:

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf

protocol=dyndns2
usev6=if, if=eth0
if-skip=Scope:Link
server=ddnss.de
login=<dein login>
password='<deinpasswort>'
tollerhost.ddnss.ch

Als Nächstes installieren wir Wireguard und müssen dafür erst einmal die Containerkonfiguration in Proxmox anpassen da wir ein TUN Interface brauchen. Dazu machen wir folgendes auf dem Proxmox Host

#### Install WireGuard in Proxmox LXC ####


## edit LXC conf ##
nano /etc/pve/lxc/123.conf

add:

lxc.cgroup.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net dev/net none bind,create=dir

## adjust access rights ##
chown 100000:100000 /dev/net/tun

## reboot/start lxc ##

Jetzt geht es in dem Container weiter



## install wireguard using skript ##
wget git.io/wireguard -O wireguard-install.sh && bash wireguard-install.sh

Ihr tragt ihr dann bei der HostAdresse eure gewählte DynDNS Adresse an.

Damit ist euer Netzwerk schon einmal per IP V6 mit Wireguard erreichbar. IPv4 erreichbar zu machen benötigt ihr einen Server im internet der eine IPV4 und eine IPV6 Adresse hat. Auf diesem führt ihr folgende Befehle aus

sudo apt install socat
sudo socat UDP4-LISTEN:1194,fork,su=nobody UDP6:tollerhost.ddnss.ch:1194

Den Part müsst ihr natürlich anpassen. Jetzt könnt ihr zumindest schon einmal testen ob euer Netzwerk auf vier erreichbar ist. Und das ganze dauerhaft auf dem Server einzurichten ist noch etwas Arbeit nötig: folgender Eintrag musst in der crontab erledigt werden

sudo crontab -e
@reboot	socat UDP4-LISTEN:1194,fork,su=nobody UDP6:<DYNDNS>:1194
0     5       *       *       *       /sbin/reboot

Auch hier gilt natürlich wieder anpassen auf eure Bedürfnisse. Der Reboot ist bei mir mit dabei da es mit einem Boot pro Tag deutlich stabiler läuft. Ich danke an der Stelle noch einmal Applecast und Helmut Karger für Ihre ganz hervorragende Vorarbeit.

Quellen:

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.