Mit WireGuard Easy hast Du einen einfachen Weg, WireGuard VPN auf jedem Linux-Host zu installieren und mit einer grafischen Oberfläche zu verwalten !
Inhaltsverzeichnis
Vorteile
- Alles in Einem: WireGuard + Web UI.
- Einfache Installation, einfach zu bedienen.
- Kunden auflisten, erstellen, bearbeiten, löschen, aktivieren und deaktivieren.
- Zeigen Sie den QR-Code eines Clients an.
- Herunterladen der Konfigurationsdatei eines Clients.
- Statistik, welche Clients verbunden sind.
- Tx/Rx-Diagramme für jeden verbundenen Client.
- Gravatar-Unterstützung.
Systemvoraussetzungen
- Ein Host mit einem Kernel, der WireGuard unterstützt (alle modernen Kernel). Ich benutze hier Ubuntu 22.04
- Ein Host, auf dem Docker installiert ist.
Installation
sudo-Benutzer einrichten
Ich empfehle dir dringend, einen sudo-Benutzer für die Verwaltung deines Servers zu erstellen, anstatt den Standard-Root-Benutzer zu verwenden, um die Serversicherheit zu erhöhen. Führe den folgenden Befehl aus, um einen Benutzer zu erstellen. Ersetze „username“ durch deinen bevorzugten Benutzernamen.
adduser username
Füge den Benutzer dann zur sudo-Gruppe hinzu:
adduser username sudo
Wechsle zum neuen Benutzer:
su - username
Docker installieren
Wenn du Docker noch nicht installiert hast, installiere es, indem du folgenden Befehl ausführst:
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $(whoami)
exit
Und melde dich erneut an.
Führe WireGuard Easy aus
Um wg-easy automatisch zu installieren und auszuführen, führe einfach folgenden Befehl aus:
docker run -d \
--name=wg-easy \
-e WG_HOST=DEINE_SERVER_IP \
-e PASSWORD=DEIN_ADMIN_KENNWOR \
-v ~/.wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
ghcr.io/wg-easy/wg-easy
💡 Ersetze DEINE_SERVER_IP durch deine WAN-IP oder einen Dynamic DNS Hostnamen.
💡 Ersetze DEIN_ADMIN_KENNWOR durch ein Passwort, um dich auf der Web-Benutzeroberfläche anzumelden.
Die Web-Benutzeroberfläche wird nun unter http://<DEINE_SERVER_IP>:51821 verfügbar sein.
💡 Deine Konfigurationsdateien werden in ~/.wg-easy gespeichert.
HTTPS (SSL) aktivieren
Um den HTTP-Verkehr zu verschlüsseln, können wir HTTPS aktivieren, indem wir ein kostenloses TLS-Zertifikat von Let’s Encrypt installieren. Führe den folgenden Befehl aus, um den Let’s Encrypt-Client (certbot) auf dem Ubuntu 22.04-Server zu installieren.
Wenn Du Certbot noch nicht installiert hast, dann mache das mit folgendem Befehl:
sudo apt install certbot python3-certbot-nginx
Erstelle einen Nginx Server Block
Erstelle die Datei mit folgenden Befehl:
sudo nano /etc/nginx/conf.d/wg-easy.conf
und kopiere folgenden Code rein:
server {
server_name wg-easy.domain.de;
location / {
proxy_pass http://DEINE_SERVER_IP:51821/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
}
}
💡 Ersetze wg-easy.domain.de durch deine Domain.
🚨 Ersetze DEINE_SERVER_IP durch die IP des Servers.
Jetzt erstelle mit Certbot das Zertifikat:
sudo certbot --nginx --non-interactive --agree-tos -m <DEINE_EMAIL> -d <wg-easy.domain.de>
💡 Ersetze <DEINE_EMAIL> durch deine E-Mail Adresse und <wg-easy.domain.de> durch Deine Domain wie in wg-easy.conf.
Danach nginx noch neustarten:
sudo nginx -s reload
Jetzt kannst Du durch aufrufen Deiner Domain <wg-easy.domain.de> die GUI von WireGuard öffnen und anfangen Zugänge einzurichten.