WireGuard® ist ein extrem einfaches, aber dennoch schnelles und modernes VPN, das modernste Kryptographie nutzt. Es zielt darauf ab, schneller, einfacher, schlanker und nützlicher als IPsec zu sein, während es die massiven Kopfschmerzen vermeidet. Es soll wesentlich leistungsfähiger sein als OpenVPN. WireGuard ist als Allzweck-VPN konzipiert, das sowohl auf eingebetteten Schnittstellen als auch auf Supercomputern läuft und für viele verschiedene Umstände geeignet ist. Ursprünglich für den Linux-Kernel veröffentlicht, ist es jetzt plattformübergreifend (Windows, macOS, BSD, iOS, Android) und weit verbreitet. Es wird derzeit intensiv weiterentwickelt, kann aber schon jetzt als die sicherste, benutzerfreundlichste und einfachste VPN-Lösung in der Branche angesehen werden.
Wenn du deine Services zu Hause nutzen möchtest, egal wo du bist, sind folgende Schritte erforderlich.
Wenn du keine statische IP von deinem Internet Service Provider (ISP) hast, ist ein dynamisches DNS (DDNS) erforderlich.
Du musst also ein Konto bei einem der unten aufgeführten Anbieter einrichten:
Installiere ddclient
und suche nach dem von dir gewählten Anbieter und gib dort deine Anmeldedaten ein.
pacman -S ddclient nano /etc/ddclient/ddclient.conf
systemctl enable --now ddclient.service
Wir werden Wireguard verwenden, um über das Internet auf deinen Server zuzugreifen. Dazu musst du einen Port in deinem Router öffnen und ihn an deinen Server weiterleiten.
Der Wireguard-Port wird standardmäßig auf 51820
verwaltet. Wenn du dies ändern möchtest, musst du den Port auf die von dir gewählte Nummer umleiten und das Tutorial entsprechend anpassen.
Das folgende Beispiel basiert auf OPNsense, ist aber im Grunde auch für andere Geräte geeignet.
Das Beispiel unten hat auch einen anderen Zielport (1212). Wenn du diesen ebenfalls ändern möchtest, musst du Endpoint = <server public IP or domain>:1212
unter clients ebenfalls ändern:
Mach alles mit root.
su
pacman -S wireguard-tools
cd /etc/wireguard/ umask 077; wg genkey | tee privatekey | wg pubkey > publickey
Kopiere den privaten Schlüssel und füge ihn unter PrivateKey =
ein.
cat privatekey
nano wg0.conf
[Interface] PrivateKey = <Private Key> Address = 10.0.0.1/24 ListenPort = 51820
cat /etc/wireguard/clients/phones/pinephone/publickey cat /etc/wireguard/clients/phones/pinephone/presharedkey
nano /etc/wireguard/wg0.conf
[Peer] # pinephone PublicKey = <client public key> PresharedKey = <preshared key> AllowedIPs = 10.0.0.2/32
Erstelle Clients für laptop, desktop, phone und so weiter. Wofür auch immer du es brauchst.
mkdir -p /etc/wireguard/clients/phones/pinephone/
cd /etc/wireguard/clients/phones/pinephone/ umask 077; wg genkey | tee privatekey | wg pubkey > publickey | wg genpsk > presharedkey
cat privatekey && cat /etc/wireguard/publickey && cat presharedkey
nano pinephone.conf
[Interface] PrivateKey = <pinephones-privatekey> Address = 10.0.0.2/24 [Peer] PublicKey = <server public key> PresharedKey = <preshared key> Endpoint = <server public IP or domain>:51820 AllowedIPs = 0.0.0.0/0
[Interface]
einen weiteren DNS-Server hinzu, z.B. wenn du nicht den DNS-Server deines Providers verwenden willst.
DNS = `dns server`
Setze die richtigen Berechtigungen.
chmod -R 600 /etc/wireguard/clients/
Kopiere deine Datei .conf
auf dein Gerät.
scp pinephone.conf USER@IP:~/
Du kannst auch einen QR-Code erstellen.
pacman -S qrencode
qrencode -t ansiutf8 < pinephone.conf
Wenn du mehr Clients brauchst, folge einfach wieder dem clients-Prozess und füge den peer zu deinem Server zwischen deinen anderen Clients hinzu.
systemctl stop wg-quick@wg0.service
systemctl enable --now wg-quick@wg0.service
Basierend auf firewalld.
wireguard
)wg0
interface” zu deiner neuen wireguard zone hinzu
Du kannst die Verbindungen deiner Clients mit dem Befehl wg
auf deinem Wireguard-Server überprüfen. Es wird Folgendes angezeigt:
latest handshake: 1 minute, 52 seconds ago transfer: 1.22 MiB received, 3.80 MiB sent
Überprüfe auch die IP-Adresse deiner Clients, zum Beispiel mit https://dnsleaktest.com, die die IP-Adresse deines Zuhauses sein sollte, und klicke auf die Schaltfläche Extended test für den DNS-Server, den du verwendest, der auf deinem Android-Gerät anders sein kann, wenn DNS nicht auf der Clients-Seite eingestellt ist.