Installation des Servers unter Debian
Teil 1. Installation im Terminal
Abbhängikeiten installieren.
apt update && apt install -y wireguard curl tar
Falls die ufw Firewall aktiv ist, bei dieser folgenden UDP Port öffnen 51820, wenn nicht überspringen
ufw allow 51820/udp
Nun in der Systemctl Portforwarding aktivieren
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p
Nun das Startscript für den Wireguard WEBGUI erstellen.
In dem Systemstart wird das Programm so eingestellt das es die Datenbank zum Wireguard Server in/etc/wireguard/db/ ableget
cat <<EOF > /etc/wireguard/start-wgui.sh
#!/bin/bash
cd /etc/wireguard
./wireguard-ui -bind-address 0.0.0.0:5000
EOF
ACHTUNG: Die -bind-address 0.0.0.0:5000 sollte aus Sicherheitsgründen, sobald der erste Tunnel steht, gegen die WireGuard Server IP-Adresse 10.252.1.0 ausgetauscht werden!
Nun das Script ausführbar machen.
chmod +x /etc/wireguard/start-wgui.sh
Nun die Systemdienste anlegen
cat <<EOF > /etc/systemd/system/wgui-web.service
[Unit]
Description=WireGuard UI
[Service]
Type=simple
ExecStart=/etc/wireguard/start-wgui.sh
[Install]
WantedBy=multi-user.target
EOF
Nun das Install / Update script erstellen, damit können wir immer die aktuellste Version downloaden.
cat <<EOF > /etc/wireguard/update.sh
#!/bin/bash
VER=\$(curl -sI https://github.com/ngoduykhanh/wireguard-ui/releases/latest | grep "location:" | cut -d "/" -f8 | tr -d '\r')
echo "downloading wireguard-ui \$VER"
curl -sL "https://github.com/ngoduykhanh/wireguard-ui/releases/download/\$VER/wireguard-ui-\$VER-linux-amd64.tar.gz" -o wireguard-ui-\$VER-linux-amd64.tar.gz
echo -n "extracting "; tar xvf wireguard-ui-\$VER-linux-amd64.tar.gz
echo "restarting wgui-web.service"
systemctl restart wgui-web.service
EOF
Das Script ausführbar machen und starten
chmod +x /etc/wireguard/update.sh
cd /etc/wireguard; ./update.sh
Es erscheinen folgende fehler in der Ausgabe, aber es wird trotzdem korrekt installiert
Ausgabe
/update.sh: Zeile 2: : Kommando nicht gefunden.
./update.sh: Zeile 4: : Kommando nicht gefunden.
downloading wireguard-ui v0.3.7
./update.sh: Zeile 7: : Kommando nicht gefunden.
extracting wireguard-ui
./update.sh: Zeile 9: : Kommando nicht gefunden.
restarting wgui-web.service
Wireguard conf von Systemd überwachen lassen und bei Änderung wiregaurd neustartenneustarten.
Dienst 1
cat <<EOF > /etc/systemd/system/wgui.service
[Unit]
Description=Restart WireGuard
After=network.target
[Service]
Type=oneshot
ExecStart=/bin/systemctl restart wg-quick@wg0.service
[Install]
RequiredBy=wgui.path
EOF
Dienst 2
cat <<EOF > /etc/systemd/system/wgui.path
[Unit]
Description=Watch /etc/wireguard/wg0.conf for changes
[Path]
PathModified=/etc/wireguard/wg0.conf
[Install]
WantedBy=multi-user.target
EOF
Nun Dienste aktivieren und starten
touch /etc/wireguard/wg0.conf
systemctl enable wgui.{path,service} wg-quick@wg0.service wgui-web.service
systemctl start wgui.{path,service}
Nun können wir auf den Wireguard Server über die Weboberfläche zugreifen.
Standard Anmeldedaten :
Benutzername : admin
Kennwort : admin
Diese ändern wir ab in der Datei /etc/wireguard/db/server/users.json
nano /etc/wireguard/db/server/users.json
Inhalt, einfach neues Passwort setzten
{
"username": "admin",
"password": "<neues passwort>"
}
Teil 2. Weiter in der Webgui
Nach dem einloggen