VPN Wireguard
von scriptorius- SNIPPET_TEXT:
-
- (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:
- 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
- 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
Quellcode
Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN