de:server:services:wireguard

WireGuard

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:

DDClient

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

Was ist das?

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

Interface

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

Peer

  1. Gehe zuerst zu clients und befolge die Anweisungen.
  2. Kopiere den publickey und den presharedkey von deinem client.
cat /etc/wireguard/clients/phones/pinephone/publickey
cat /etc/wireguard/clients/phones/pinephone/presharedkey
  1. Füge den peer hinzu
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

Setze die richtigen Berechtigungen.

chmod -R 600 /etc/wireguard/clients/

Kopiere deine Datei .conf auf dein Gerät.

scp pinephone.conf USER@IP:~/

Generiere einen QR Code

Du kannst auch einen QR-Code erstellen.

pacman -S qrencode
qrencode -t ansiutf8 < pinephone.conf

Click  

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 enable --now wg-quick@wg0.service

Basierend auf firewalld.

  1. Erstelle eine neue zone (nenne es: wireguard)
  2. füge “wg0 interface” zu deiner neuen wireguard zone hinzu
  3. füge/öffne wireguards service (port 51820) zu deiner home zone
  4. füge/öffne https service (port 443) zu deiner wireguard zone (um deine Services zu erreichen, die auf ssl basieren)
  5. füge masquerade zu deiner home zone hinzu
  6. und erstelle eine neue policy für den Zugang zum Internet und zu deinen Services

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.

  • de/server/services/wireguard.txt
  • Last modified: 2024/05/01 20:56
  • by dan