Direkt zum Hauptinhalt

Installation des Servers unter Debian

Teil 1. Installation im Terminal


Abbhängikeiten installieren.

apt update && apt install -y wireguard curl tar iptables

Falls die ufw Firewall aktiv ist, bei dieser folgenden UDP Port öffnen 51820, wenn nicht überspringen

ufw allow 51820/udp


!!Sollte der Wireguard Server hinter einem Router stehen das NAT Portforwarding UDP 51820 nicht vergessen einzurichten!!

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/ abgelegt

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 alle 3 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


In der alten version über die Datei!!!!
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>"
}


In der neuen Version endlich über GUI.
Auf User Setting und dann Edit.
Endlich können auch mehrere Benutzer erstellt werden ;-)
Über den Button new user oben rechts

01.png

Nun neues Passwort vergeben und auf save klicken

02.png

Teil 2. Weiter in der Webgui

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


Nach dem Einloggen 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 auf 8.8.8.8 setzen und MTU rauslöschen.und auf save klicken

Bildschirmfoto vom 2022-12-01 09-45-43.png


und dann apply Config klicken

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


Dann sehe das ganze so aus als Beispiel

Auswahl_277.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 save

Bildschirmfoto vom 2022-12-01 09-45-43.png

und 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