Dies ist eine alte Version des Dokuments!
Wireguard
Wichtig: Wireguard ist ein peer-to-peer VPN!
Quelle: https://www.linux-community.de/ausgaben/linuxuser/2018/11/tunnelbauer/
Schlüsselpaar erzeugen
cd /etc/wireguard umask 077 sudo wg genkey > private.key sudo wg pubkey > public.key < private.key # alternativ auf einem Client sudo wg genpsk > psk.key
wg zeigt die Konfiguration
locutus:/etc/wireguard # wg interface: wg0 public key: LgHjmEbTBoIyG5jSvZ0ArG2pB9XPax0NqfZGu+JiXS8= private key: (hidden) listening port: 33060
Schnittstelle und Netzwerk erzeugen
listen port frei wählbar, hier 33060. Netzwerk:
# Client1 sudo ip link add wg0 type wireguard sudo ip addr add 10.0.01/24 dev wg0 sudo wg set wg0 private-key ./private.key # Bei Bedarf zusätzlich sudo wg set wg0 listen-port 33060 # Client2 sudo ip link add wg0 type wireguard sudo ip addr add 10.0.02/24 dev wg0 sudo wg set wg0 private-key ./private.key
Beide Clients gegenseitig bekanntmachen
sudo wg set wg0 peer //Public Key von Client2// persistent-keepalive 25 preshared-key //Preshared Key von Client1 und Client2// allowed-ips 10.0.0.2/24 endpoint 192.168.178.25:44234
Notebook: als allowed-ips
darf der String 0.0.0.0/0
stehen. Das bedeutet, Sie vertrauen dem Server, das gesamte Internet zu tunneln. Bei endpoint
hinterlegen Sie die reale interne IP-Adresse von Client2
und dem von Ihnen oder dem System dafür vergebenen Port. Bei Client1
mussten wir anstatt der IP-Adresse die Domain angeben. Sollten Sie also mit der IP-Adresse eine Meldung bekommen, sie sei unbekannt, so klappt es mit dem Domain-Namen.
Masquerading zwischen den beiden Clients
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward