(1) Ddclient Installation auf Server (IPv6) # apt install curl -y # apt install ddclient -y Abfrage: > Anbieter des dynamischen dns-Dienstes : anderer > Dynamischer DNS-Server: xxx.xxx.io > Protokoll für dynamische DNS-Aktualisierung: dyndns2 > Benutzername ...: xxx.xxx.io > Passwort: *** > Wiederholung: *** > Netzwerkschnittstelle: enp3s0 > Vollqualifizierte DYN-DNS Domainnamen: xxx.xxx.io > ddclient ausführen: Nein > ddclient als daemon starten: Ja > Intervall: 300 # nano /etc/ddclient.conf > protocol=dyndns2 usev6=if, if=enp3s0 ssl=yes use=cmd, cmd='curl https://checkipv6.dedyn.io/' server=update6.dedyn.io login=xxx.xxx.io password='***' xxx.xxx.io ? # nano /etc/default/ddclient > ... run_dhclient="false" ... run_ipup="false" ... run_daemon="true" ... daemon_interval="300" # service ddclient restart # ddclient -force # funktioniert! (2) Wireguard Installation # nano /etc/apt/sources.list.d/unstable.list > deb http://deb.debian.org/debian/ unstable main # nano /etc/apt/preferences.d/limit-unstable > Package: * Pin: release a=unstable Pin-Priority: 90 # apt update # apt install wireguard --dry-run (etwas über 60 Pakete sollten es sein; dann:) # apt install wireguard -y (3) Schlüssel erzeugen für Server-Konfiguration und den ersten Client Server-Schlüssel: Geheim: # cd /etc/wireguard # umask 077 # wg genkey > server.key # erstellen # cat /etc/wireguard/server.key # anzeigen Öffentlich: # cat /etc/wireguard/server.key | wg pubkey # anzeigen, muss nicht eigens erstellt werden Client-Schlüssel: Geheim: # wg genkey | tee /etc/wireguard/client1.key # erstellen # cat /etc/wireguard/client1.key # anzeigen Öffentlich: # cat /etc/wireguard/client1.key | wg pubkey # anzeigen, muss nicht eigen erstellt werden (5) Erstellen der Server- und Clientkonfigfiles Anfang: Server-Konfiguration auf Server # cat /etc/wireguard/server.key > angezeigten privaten Server-Schlüssel kopieren # touch /etc/wireguard/wg0.conf # nano /etc/wireguard/wg0.conf > [Interface] Address = 10.66.66.1/24, fd42:42:42::1/64 PostUp = iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE; ip6tables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE PostDown = iptables -t nat -D POSTROUTING -o enp3s0 -j MASQUERADE; ip6tables -t nat -D POSTROUTING -o enp3s0 -j MASQUERADE ListenPort = 53 # mögliche Ports; z. B.: 13401, 1194, 40404, 51820 PrivateKey = >privater Server-Schlüssel hier eintragen< Client-Konfiguration auf Server: # mkdir /etc/wireguard/clients # touch /etc/wireguard/clients/client1.conf # cat /etc/wireguard/client1.key # cat /etc/wireguard/server.key | wg pubkey # nano /etc/wireguard/clients/client1.conf > [Interface] PrivateKey = >privater Client-Schlüssel< Address = 10.66.66.2/24, fd42:42:42::2/64 # DNS = 176.103.130.130,176.103.130.131 [Peer] PublicKey = >öffentlicher Server-Schlüssel< Endpoint = mysrv6.dedyn.io:53 # der Port, der gewählt wurde (s.o.) AllowedIPs = 0.0.0.0/0, ::/0 Abschluss: Server-Konfiguration auf Server # nano /etc/wireguard/wg0.conf > # unter [Interface] einfügen [Peer] PublicKey = >öffentlicher Client-Schlüssel< AllowedIPs = 10.66.66.2/32, fd42:42:42::2/128 (5) Wireguard-Konfiguration starten und Start automatisieren # wg-quick up wg0 # wg-quick down wg0 # systemctl start wg-quick@wg0 # systemctl status wg-quick@wg0 # systemctl enable wg-quick@wg0 ODER: chown -v root:root /etc/wireguard/wg0.conf chmod -v 600 /etc/wireguard/wg0.conf wg-quick up wg0 systemctl enable wg-quick@wg0.service ANMERKUNG: Ab jetzt vor jeder Konfiguration: # wg-quick down wg0 Nach jeder Konfiguration: # wg-quick up wg0 (6) Forwarding auf Server konfigurieren # touch /etc/sysctl.d/wireguard.conf # nano /etc/sysctl.d/wireguard.conf > net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1 # sysctl -p /etc/sysctl.d/wireguard.conf # sysctl --system [Die folgenden Zeilen, die bereit oben in /etc/wireguard/wg0.conf eingefügt wurden sind für ein forwarding notwendig: PostUp = iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE; ip6tables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE PostDown = iptables -t nat -D POSTROUTING -o enp3s0 -j MASQUERADE; ip6tables -t nat -D POSTROUTING -o enp3s0 -j MASQUERADE] (7) QR-Coder für Smartphone-Client erzeugen # apt install qrencode -y # cat /etc/wireguard/clients/client1.conf | qrencode -t ansiutf8 > Nach der Wireguard-App Installation kann man den QR-Code scannen