Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Wireguard VPN auf Ubuntu Server mit Android / I OS Client

Osprey

Moderator
Teammitglied
Registriert
30. Dezember 2011
Beiträge
16.006
Lösungen
8
Reaktionspunkte
17.423
Punkte
1.093
Ort
Im wilden Süden
Einsicherer Zugriff nach Hause über eine sichere schnelle Verbindung die einfach zu configurieren ist? Das ist Wireguard.
Hier wird beschrieben wir man eine externe Verbindung in das Heimnetz aufbaut mit Android oder I OS.
Für Android:
Für IOS:

Wir installieren Wireguard auf unserem Ubuntu 20.04 Server und ziehen uns auch gleich ein Script um die VPN Clients anzulegen.
Code:
apt update && apt install wireguard-dkms wireguard-tools mawk grep iproute2 qrencode
umask 077
echo "wireguard" | sudo tee -a /etc/modules
modprobe wireguard
systemctl enable wg-quick@wg0.service
cd /etc/wireguard
wget https://raw.githubusercontent.com/burghardt/easy-wg-quick/master/easy-wg-quick
chmod +x easy-wg-quick
./easy-wg-quick # das entpackt das Script und erstellt eine Mustreconfig
Wir brauchen aber erstmal ein symlink wghub.conf zu wg0.conf
Code:
ln -s wghub.conf wg0.conf

Jetzt erstellen wir ein VPN Zugang für das Android Handy.
Dazu überschreibt ihr die Datei extnetip.txt mit der interne ip mit eurer DynDNS
Code:
nano extnetip.txt
das.ist.meine.dyndns
und erstellt euch einen Client. Ich nenne es wie mein Handy
Code:
./easy-wg-quick AndroidS9
sieht dann ungefähr so aus:
Code:
root@ubuntu:/etc/wireguard# ./easy-wg-quick AndroidS9
Looks like you have IPv6 available. Enabling IPv6 in tunnels!
No wgclient_AndroidS9.conf... creating one!
█████████████████████████████████████████████████████████████████████████████
█████████████████████████████████████████████████████████████████████████████
████ ▄▄▄▄▄ █▀▄█▀▄  █▄█▄▄ ▀█ ██▄▄█ ▀█▄█▀▄▄▄█▄▄▄▄▀▄▀▀ ▀▄▀█ ▀▄▀█ ▄▄▄█ ▄▄▄▄▄ ████
████ █   █ █▀█▀▀▄▀██▀ ▄▄▄█▄█▄██▀▄▄▀ █▀▀▄▀██▀    ▀▄▀▄█████▀▄▄▀▀▄█▀█ █   █ ████
████ █▄▄▄█ █▀▀ ▄ ▀█ ▄▄▀█▄▄▀▄█ ▄▄▄▀▀▀ ▄▄▄ ▀█▄█▄▄ ▀█▄▀ █ ▄██ ██▀ █▄█ █▄▄▄█ ████
████▄▄▄▄▄▄▄█▄▀▄▀ █▄█▄█ ▀▄▀ █ █ █▄▀ █ █▄█ █▄█ ▀ █ █▄█▄▀▄█▄▀ █ ▀▄▀▄█▄▄▄▄▄▄▄████
████▄ ▄ ▄█▄   ▄▀▀ █▀ ██ ▀▀▄▄ █  █ ▄▀ ▄▄ ▄▀▄▀█▄ █▄ ▄▄▄▄  ▄   ██▄█▀ █▄▀▄▀▄█████
████▄█▄█▄ ▄ ▀█ █▄▀ ▄▀   █▀█▄  ▀▀▄▄▀▀▄▀▀  █▄▀██▄▀█▄█▄▀ ██▀▀█▀  █▄▄▀▄▄▀█▄█▀████
█████ █ ▀█▄██  ▀█▀  ██  █ ▀▀▄▀▀▀██  █ ▄▀█▀  █▀▄█▀▄▄█▄▀ █▄▄▄▄ ▀▄█ ▀▄███▀▀█████
████▄  ▄▄ ▄▀ ▀ ▄▀ ▄▄▄▀ ██ █▀▀██▄▄ ▄▀██▄█▄ ▄██▄▀▄▀██▀ █ ▀ █ ▀█ ██▀▀█  █ █ ████
████▀▄▄▄ █▄▀▀█▀▀ ▀▀█ ▀ ▄█  █ ▀▀▀▄█▀▀▄█▄ ▄█▀▀▀  ▄▀█▄▄  █▀▀▄▀▀▀ █▄▀▀█▀▀▄██▀████
████▄▀▀▀▀█▄▄▀▄  ██ ▀█ ▄▄█▀▀▄▀▀▀ █▀▄▀▄██▀▄▄ ███▀█▀▀▄  ▀▄ ▀█▀███ ▄▀▄▄█▄▄ ▀▀████
████▄▀█▀▀▄▄█▄▄ ▀ ▄█▄▄██ █▄▀█ ▀▀   ▄▀▄▄█▄▄█▄▄█▄██▀ ▄▄▄▄█ ▄▀█▀▀▄█  ▄▀▀▀█ ▀█████
█████▀▄▀  ▄▀   ▄▄██ ▄   █▄██▄▄█▄▄█ ▄ ▀▀█ ▀█▀▀▀ ▀█ ▀▄▄▀█ ▀▀▄▄  █▄ ███▀ █  ████
████ █ ▀ ▄▄▄██▀████▀██ █▄▄█▀▄▄ ▀█▄▄██▄▄█▄ █▀█▄▀  ▄▄ ▄▄█ ▀▀▀▄█▀▄▄▀▀ ▀▀  ▀█████
████▄▄▀▀▀▀▄▀▀█▄▀ █▀▀█ ▄ ▄▀▄▀█ ████▄▀▄▄▀ ▄ ▄▀████▀██▄▀▀▄▀█▄▀▄▄▀▄▄▀ ▄▀██ ▀ ████
████▄██▄██▄▄███▄▄▄█▀▀  ██▄▄▄▄█ ▀█▄█▄ ▄▄█ ▄█ █▄▀█▄▀  ▄▀▄ █▀█▀▀▄  ▄█▀▄▄▄  ▀████
█████▄█ ▀▀▄▀▀ █▄▄▄█▄▄▄█▄▄ █▀ █▀▀▄▄▄▄█▄██▄ █▀ ▄▀ ▀▀█  ▀█▄▀▀ ▀▀▄ ▄▀▄█ ▀▄ ▄▀████
████  ██ ▄▄▄ ▄▀▀██▀▀▄▄▀▀▀   ▄▀▀ ▄ ▄  ▄▄▄ ▀▄▄▀ ▀ █▀ █▀▀█▀█▄▄█  ▄▄ ▄▄▄ ▄▀█▀████
█████  █ █▄█  ▄▄▄▄█▄▄▀ ▀ ▀▀▀▀█▀██  █ █▄█ ▄▀██▀▀ ▀▀█▄  █▀█▄ ▀█ ▄▀ █▄█  ▄▀▀████
████▀▀▀ ▄ ▄▄ ▀▄ ▄ ██▄▄▄█▄▀▄ █▀█▀██▄▄▄  ▄ ▀▄▄▀▀██▀▄▄ ▄▄▄▄▀█▀██▀ ▀▄▄ ▄▄█▀ ▄████
████ ▀█▀ ▄▄▄▀█ ▄▄█  █ ▄▀▄▀ ▀▀ ▀█▄▀  ▄▄██▄▄█▀▀▀▀ █▀ ▄▄▀▄▄█▀ █▀▄██ ▄▀▀██▀▀█████
████▀ █▄▀▄▄▀▀█ ▄▀▀▀▄▀   █▀▄▄ █▄▄█▄▄▀▀██ ▀ ▄██▀▀ ██▄ ▄ ▄▀ ▀  ▀  █▀▀▄█▄▀  █████
████▀▄ ▄ █▄▀ █▄▀▀▄▄▄ ▀▄▀▄▄▄▄ ▄█▄█ █  ▀▀█▀ ▄▄▀▄▄ ▀ ██▄ █▀█ ▄█▀▀▄██ ▀█▄▀█▄▀████
████▄▄██▄▄▄█▀ ▄  ▀█ ▄  ██  ▄▀▄  ██▄█▀▀█ ▄▄████▄▀▀ ▄▄█▄▄██ ▀▄ ▀▄█▄ █ ▀█ ▄▀████
█████▀█ ▄▄▄▀ ▀█▄▀█▄▄▄▀ ████   █ █▀▄█▀█▀ ▀ ▄▄█▀ ▄▀ █▄ ██ ▀ ▀█▀ ██ ▄█▀▄▄ █▀████
████▀▀▀  █▄▀ ▀  ██▀▀▀▀ ▄█▄ ▀ ██▄▄█▀▀▄█▀█▀▄  ▀  ▄█  █▀▄▄▀▀▄▄ ▀▄█▀  ██▄▄█▀▀████
████ █ ▀█ ▄▀██▄▄ ▀█▄▄█ ▄██▀▄▀█ ▄▄  ▀▀██ ▄▄█▀▀   ▀▀    ▄█ █▀██▀ ▀███▀▀▄ ██████
████ ██ ▀▄▄▀ ▄█▄██  ██▀█▄▀█▄ ▀▄  ▄ ▀ ▀▀▄▀▀█  █▄  ███▄█ ▀ ▄█▀▀█▀█▄  ▄██ █▀████
████▀ ▄██▀▄██▄▀█▄ █ █▄▄▀▄▄██ █▀▄█▄▀█▀ ████▄▀█▀ █ ▀▀▄▄▄█▄█▀██ ██▀▄▄▀ ████ ████
████  ▄ ▄█▄  ██▄█ ▄▀██▄ █▄█▀▄▀ ██▄▄▀▄▄▀▀ ▄▄▀▀▄▀█ ██▄▄ ▄▀▄ ▀ ▀▀ █▀▀██  ▀ ▀████
████ █▄█▄▄▄█▄█ ███▄▀█▀▄▀▄ █▀█ ████▄█▀▀█▄▀▀▄ ▄ ▀▄█ ▄ ▀ █▀██▄▄█ █ ▄█▄▄▄▀██▄████
████▄██▄▄█▄█▀ ▀▀▄ ▄█▄     █ ▀▄█ ██▄▀ ▄▄▄ ▄█▄▀█▀█▀█ ██▀ ▄ █▀▀▀▄ ▀ ▄▄▄ █▄ █████
████ ▄▄▄▄▄ █▄▄▄▀  ▄▀▄▄█ ▄██  █  ▄▄▄  █▄█ ▄▄▀█ ▄▀▀██▄▄▄   ▀ ▀▀▄▄█ █▄█ █▀▄█████
████ █   █ █   ██▄▀▄▀▄▀▀▀ █▀ ███▄▀██ ▄▄▄ █▄  ▄ ▄▀▀▀▄ ▄███▄█ ▀█▄ ▄▄▄ ▄█▀█▄████
████ █▄▄▄█ █  ██▄█▄▄▄▀▀▀ ██  ▀▄▀▀ ▄  ▄▄▀▄▀█▀▀▀ ▄▄██▄▄▀▄ ▀█  ▀ ▄▀▄▄▄██▄▄██████
████▄▄▄▄▄▄▄█▄█▄█▄▄▄▄▄█▄█▄▄█▄▄███▄█▄▄█▄▄▄▄▄███▄▄▄▄▄█▄▄▄▄▄▄▄██▄▄█▄▄▄████▄▄█████
█████████████████████████████████████████████████████████████████████████████
█████████████████████████████████████████████████████████████████████████████
Scan QR code with your phone or use "wgclient_AndroidS9.conf" file.
Updating wghub.conf... done!

Important: Deploy updated wghub.conf configuration to wireguard with wg-quick:
  sudo wg-quick down ./wghub.conf # if already configured
  sudo wg-quick up ./wghub.conf
  sudo wg show # to check status
Jetzt öffnet ihr die App am Handy und scannt den QR Code ab.
Du musst Regestriert sein, um das angehängte Bild zusehen.
Zum steuern von Wireguard könnt ihr diese Befehle eingeben:
Code:
systemctl start wg-quick@wg0.service
systemctl status wg-quick@wg0.service
systemctl stop wg-quick@wg0.service
Wireguard starten mit systemctl start wg-quick@wg0.service und mit wg show schauen welcher Port am Router geöffnet werden muss.
Code:
root@ubuntu:/etc/wireguard# wg show
interface: wg0
  public key: PO1o8kvZj+++++++vLsj1iqFZxT+yEv8vlOgBFOv4XDA=
  private key: (hidden)
  listening port: 34317

peer: S05N44G************wl7I4p+DLnj4=
  preshared key: (hidden)
  allowed ips: 10.194.207.10/32, fd28:5431:8680:9439::10/128

peer: 2P/YiqupQ3**************HvtVlYnW1c=
  preshared key: (hidden)
  allowed ips: 10.194.207.11/32, fd28:5431:8680:9439::11/128
root@ubuntu:/etc/wireguard#


Bei mir ist es UDP Port 34317 und der muss an der Fritzbox geöffnet werden.
Du musst Regestriert sein, um das angehängte Bild zusehen.

Wenn ihr alles eingerichtet habt, geht mal mit dem Handy auf Mobilfunkverbindung und startet Wireguard - somit seit ihr schon im Heimnetzwerk.
Du musst Regestriert sein, um das angehängte Bild zusehen.
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Zuletzt bearbeitet:
Hi, Ich versuche gerade das hier umzusetzen, aber leider klappt das nicht bei mir.
Als Server habe ich einen VPS von IONOS angemietet und würde jetzt gerne von unterwegs auf mein heimisches Netz zugreifen.
Wenn ich das richtig verstanden habe brauche ich dann zuhause z.B. einen Pi der als client für die VPN Verbindung dient, richtig? Aber das bekomme ich keine Verbindung zum Server.
Kann mir da vielleicht jemand weiterhelfen?
Gruß
Johnny
 
Hi Johnny, willkommen im DEB. Hast Du ein Client erstellt für den Pi? Hast du bei IONOS den Port für WG geöffnet? Habe auch bei IONOS meinen WG Server und den Pi als WG Gateway zuhause.
UDP Port vom Wireguard bei IONOS freigeschalten:
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Zuletzt bearbeitet:
Hi Osprey, Client hab ich auf einem Pi erstellt und IONOS den eingestellten Port freigegeben. Auf der Fritzbox habe ich dann auch noch eine statische Route eingerichtet.
Bekomme aber keine Verbindung zum Server
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Das wäre ja auch eigentlich mein Vorhaben. Wie mache ich das am besten?
Wenn ich mit easy-wg-quick eine config für den pi erstelle, die dann auf den pi rüberkopieren?
 
Hi,
wenn ich die Beschreibung oben richtig verstehe, dann wird diese Konstellation beschrieben:
Du musst Regestriert sein, um das angehängte Bild zusehen.

Ist der VPN-Server nicht direkt im heimischen Netz, sondern auf einem VPS, dann könnte das Routing zu den heimischen Rechnern etwas aufwendiger werden. Aus meiner Sicht ist der VPS überflüssig.
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Zuletzt bearbeitet:
Super, vielen Dank. Echt klasse von Dir. Bis später

Ist bei dem Punkt hier die IP des ionos-Servers gemeint oder dyndns bei der Fritzbox

Dazu überschreibt ihr die Datei extnetip.txt mit der interne ip mit eurer DynDNS
Code:
nano extnetip.txt
das.ist.meine.dyndns
 
Die ip des VPS IONOS. Da sollte aber schon die richtige stehen.
iptables auf dem VPS:
Code:
apt-get update && apt-get install iptables-persistent
sed -i '/net.ipv4.ip_forward=1/s/^#//g' /etc/sysctl.conf
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE
iptables -A FORWARD -i wg0 -o enp1s0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i enp1s0 -o wg0 -j ACCEPT
netfilter-persistent save

das enp1s0 hat an deinem VPS evtl. eine andere Bezeichnung.

Das gleiche machst du auch am Pi als Client damit der als Gateway dient.
 
Erstmal vielen Dank für die Unterstützung hier. Sorry, hat etwas gedauert.
Also die Verbindung zwischen Handy -> Server -> Raspberry klappt laut ping schonmal. Leider habe ich aber keinen Zugriff auf mein Privates Netz.
Also ich habe zuhause 192.168.122.0/24 Netz und da komme ich mit dem Handy nicht drauf.
hier mal meine Config am Client (Raspberry). Der soll ja as GW für mein internes Netz dienen.
Und dann noch die Ausgaben für wg-show und wg-quick.
Fehlt da noch was in der Config?

Gruß
Johnny
Du musst Regestriert sein, um das angehängte Bild zusehen.
Du musst Regestriert sein, um das angehängte Bild zusehen.
Du musst Regestriert sein, um das angehängte Bild zusehen.
Du musst Regestriert sein, um das angehängte Bild zusehen.
Du musst Regestriert sein, um das angehängte Bild zusehen.
 

Anhänge

Du musst angemeldet sein, um die Anhangsliste zu sehen.
Fritzbox Freigabe brauchst du nicht.
in der /etc/wireguard/wg0.conf auf dem VPS trägst du noch die Subnetip deines Heimwerks ein
Code:
# Hub configuration created on localhost on Fri Jul 31 03:56:01 UTC 2020
[Interface]
Address = 10.208.205.1/24
ListenPort = 33725
PrivateKey = yKM/Sl9S***********************XuPTCdE0g=
SaveConfig = false
PostUp = iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o ens192 -j TCPMSS --clamp-mss-to-pmtu
PostUp = ip6tables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o ens192 -j TCPMSS --clamp-mss-to-pmtu
PostUp = iptables -t nat -A POSTROUTING -o ens192 -j MASQUERADE
PostUp = iptables -A FORWARD -i %i -j ACCEPT
PostUp = ip6tables -A FORWARD -i %i -j ACCEPT
PostDown = iptables -D FORWARD -i %i -j ACCEPT
PostDown = ip6tables -D FORWARD -i %i -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o ens192 -j MASQUERADE
PostDown = iptables -t mangle -D POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o ens192 -j TCPMSS --clamp-mss-to-pmtu
PostDown = ip6tables -t mangle -D POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o ens192 -j TCPMSS --clamp-mss-to-pmtu
PostUp = sysctl -q -w net.ipv4.ip_forward=1
PostUp = sysctl -q -w net.ipv6.conf.all.forwarding=1
PostDown = sysctl -q -w net.ipv4.ip_forward=0
PostDown = sysctl -q -w net.ipv6.conf.all.forwarding=0

# 10: 10 > wgclient_10.conf
[Peer]
PublicKey = Hy2A**********************TZqFhFdgQ=
PresharedKey = ksaaAL0YZ********************vEVXAyYtT0=
AllowedIPs = 10.208.205.10/32

# 11: windows > wgclient_windows.conf
[Peer]
PublicKey = lx4znm1G5******************NTYamw=
PresharedKey = ksaa***********************AyYtT0=
AllowedIPs = 10.208.205.11/32

# 12: enigma2 > wgclient_enigma2.conf
[Peer]
PublicKey = RzEwcIytSi******************pbgzfFc=
PresharedKey = ksaaAL0YZ0**********************/OvEVXAyYtT0=
AllowedIPs = 10.208.205.12/32

# 13: tablet > wgclient_tablet.conf
[Peer]
PublicKey = OftYgRO+4********************PYCzB+nRGs=
PresharedKey = ksaaAL0*********************EVXAyYtT0=
AllowedIPs = 10.208.205.13/32

# 14: thin > wgclient_thin.conf
[Peer]
PublicKey = s/pLkMo85RM********************jEsO+9qsHQVw=
PresharedKey = ksaaAL0Y********************XAyYtT0=
AllowedIPs = 10.208.205.14/32, 192.168.1.0/24
Schau mal bei #14 AllowedIPs da trägst du das Subnetz des Pi ein
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben