In diesem Artikel möchte ich teilen, wie ich eine VPN-Verbindung über WireGuard zwischen meinem MikroTik Router und meinem Android-Telefon eingerichtet habe. Diese VPN-Verbindung ermöglicht es mir, von überall auf der Welt sicher auf mein Heimnetzwerk zuzugreifen. Für diese Anleitung habe ich die MikroTik-Dokumentation verwendet.
Einrichtung eines WireGuard-VPNs auf dem MikroTik-Router
a) Schnell & einfach (ohne eigene Domain)
In dieser schnellen und einfachen Einrichtung wird der eigene DDNS (Dynamic DNS) Service von MikroTik verwendet. Dieser kann im Terminal aktiviert werden (Quelle):
Aktiviere DDNS
/ip cloud set ddns-enabled=yes
Um die benötigten Details zu erhalten, nutzt man im Terminal den Befehl:
/ip cloud print
ddns-enabled: yes
ddns-update-interval: none
update-time: yes
public-address: 105.142.169.100
public-address-ipv6: 2a02:610:7501:1000::2
dns-name: 420.m12345678969.sn.mynetname.net
status: updated
Erstellen der WireGuard-Schnittstelle
Erstelle eine neue WireGuard-Schnittstelle:
/interface wireguard
add listen-port=13231 name=wireguard1
/ip address
add address=192.168.100.1/24 interface=wireguard1
Das erstellt automatisch ein Schlüsselpaar aus privatem und öffentlichem Schlüssel. Für die weitere Konfiguration wird der öffentliche Schlüssel benötigt. Um diesen anzuzeigen, den folgenden Befehl im Terminal eingeben:
/interface wireguard print
Flags: X - disabled;
R - running 0 R name="wireguard1" mtu=1420 listen-port=13231
private-key="random-string-not-needed-for-configuration"
public-key="this-is-the-public-key-you-need-to-copy"
Für den nächsten Schritt benötigt man den öffentlichen Schlüssel des Remote-Geräts. Hier weitermachen mit Einrichtung der WireGuard-Verbindung auf einem Android-Telefon
Erstelle WireGuard Peers
/interface wireguard peers
add allowed-address=192.168.100.10/32 interface=wireguard1 public-key="paste-public-key-from-remote-device"
Firewall Einstellungen
Option a)
Wenn eine Standard- oder strenge Firewall konfiguriert ist, muss dem Remote-Gerät erlaubt werden, die WireGuard-Verbindung zum Router herzustellen.
/ip firewall filter
add action=accept chain=input comment="allow WireGuard" dst-port=13231 protocol=udp place-before=1
Um dem Remote-Gerät Zugriff auf Services des Routers (zum Beispiel DNS) zu erlauben, muss das WireGuard Subnetz in der input chain zugelassen werden.
/ip firewall filter
add action=accept chain=input comment="allow WireGuard traffic" src-address=192.168.100.0/24 place-before=1
Option b)
Oder einfach die WireGuard-Schnittstelle zur LAN Schnittstelle hinzufügen
/interface list member
add interface=wireguard1 list=LAN
Weiter mit der Konfiguration auf dem Remote-Gerät mit Abschließende Konfiguration auf dem Remote-Gerät
b) Konfiguration mit eigener Domain
Noch in Bearbeitung ;-)
Einrichtung der WireGuard-Verbindung auf einem Android-Telefon
Für diese Einrichtung nutze ich die WireGuard-App for Android.
Erstellen einer neuen WireGuard-Verbindung
Über das “+” Symbol eine neue Verbindung erstellen und “Neu erstellen” auswählen. Im nächsten Schritt einen Namen für die Verbindung wählen und die weiteren Felder, wie im Screenshot befüllen. Wenn schon bekannt, kann hier direkt die IP-Adresse eingegeben werden. Über das entsprechende Symbol ein Schlüsselpaar generieren lassen und den öffentlichen Schlüssel notieren und mit der Konfiguration am Router weiter fortfahren - Erstelle WireGuard Peers.
Abschließende Konfiguration auf dem Remote-Gerät
Die neu erstellte Verbindung überarbeiten und einen neuen “Gegenüber” (Peer) erstellen und die Felder, wie im Screenshot gezeigt, befüllen: Speichern und testen der Verbindung.
Fehlerbehebung
Überprüfen der IP-Adressen:
- WireGuard-Schnittstelle: 192.168.100.1/24
- WireGuard-Peer: 192.168.100.10/32 (ebenfalls in der Android-Konfiguration benutzt)
- IP Firewall Filter: 192.168.100.0/24
Überprüfen des DDNS
- IP Cloud DDNS aktiviert?
- DNS Name muss in der Android-App eingegeben werden
Firewall