Direkt zum Hauptinhalt

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.

http://ipadresse:5000

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

Bildschirmfoto vom 2022-12-01 09-07-44.png

 

Nach dem einloggenEinloggen links auf den Menüpunkt Global Settings.

Bildschirmfoto vom 2022-12-01 09-08-00.png

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

Bildschirmfoto vom 2022-12-01 09-20-42.png

 

Dann sehe das ganze so aus als Beispiel

Bildschirmfoto vom 2022-12-01 09-18-40.png

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

Bildschirmfoto vom 2022-12-01 09-20-42.png

Dann sieht das ganze so aus.

Bildschirmfoto vom 2022-12-01 09-28-34.png

Damit ist die Installation abgeschlossen