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 neustarten.
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 einloggenEinloggen links auf den Menüpunkt Global Settings.
Die Endpoint Address mit dem DNS namen oder Public ip tauschen.
um die Public IP rauszubekommen, im Terminal.
curl ifconfig.me
DNS Server löschen.und auf apply Config klicken
Dann sehe das ganze so aus als Beispiel
Nun auf den Menüpunkt links Wireguard Server.
Nun mittels terminal und ip a herausfinden welche Netzwerkkarte für lan es gibt.
Ausgabe
ip a
ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 2a:xx:xxx:xx:85 brd ff:ff:ff:ff:ff:ff
altname enp0s18
Nun bei Postup folgendes eintragen (die ens18 durch eure Netzwerkkarte erstezen)
iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j
ACCEPT; iptables -t nat -A POSTROUTING -o ens18 -j MASQUERADE
Nun bei Postdown folgendes eintragen (die ens18 durch eure Netzwerkkarte erstezen)
iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o
%i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens18 -j MASQUERADE
Nun auf apply config klicken
Dann sieht das ganze so aus.
Damit ist die Installation abgeschlossen




