10.02.2022 ** EOL ** wg-dashboard ist seit 4 Jahren unmaintained! Keine Aktualisierungen, ggf. SicherheitslĂŒcken, bitte nicht mehr benutzen! gute Alternative https://github.com/donaldzou/WGDashboard
wg-dashboard ist ein schickes Webinterface, um die Einrichtung von WireGuard und Verwaltung der Clients zu vereinfachen.
Anstatt das Terminal verwenden zu mĂŒssen, kann hier (fast) alles ĂŒber das UI erledigt werden.
Ohne groĂen Aufwand erhĂ€lt man einen WireGuard VPN Server mit grafischer OberflĂ€che.
Installiert wird auf einem Raspberry Pi 3 mit frisch aufgesetztem Raspberry Pi OS Lite.
24.05.2021 - install_script aktualisiert 07.04.2021 - install_script aktualisiert 21.02.2021 - install_script aktualisiert 02.08.2020 - angepasstes install_script, damit funktioniert es wieder 31.07.2020 - WireGuard Snapshot lÀsst sich nicht mehr kompilieren
wg-dashboard installieren (angepasstes script)
Ănderungen:
-
WireGuard wird jetzt direkt aus den Sourcen kompiliert.(Ab Kernel >= 5.6 nicht mehr nötig!) - Debian und Ubuntu OS UnterstĂŒtzung entfernt, nur noch Raspbian.
- Port 3000 fĂŒr den direkten Zugriff aktiviert.
Erfolgreich mit dem Raspberry Pi OS Lite Image getestet. (Image vom 04.03.2021, Kernel 5.10)
- download script: install_wg-dashboard-rpi.sh
- view script: install_wg-dashboard-rpi.sh
Bevor das script ausgefĂŒhrt wird den Pi updaten und neu starten! (Kernel muss >= 5.6 sein.)
pi@wireguard:~ $ sudo apt-get update pi@wireguard:~ $ sudo apt-get upgrade -y pi@wireguard:~ $ sudo reboot pi@wireguard:~ $ wget https://bachmann-lan.de/projects/wg-dashboard/install_wg-dashboard_rpi.sh pi@wireguard:~ $ chmod +x install_wg-dashboard_rpi.sh pi@wireguard:~ $ sudo ./install_wg-dashboard_rpi.sh
wg-dashboard installieren (original script, funktioniert nicht mehr)
Auf dem Pi einfach das install script ausfĂŒhren. (Schaut man sich vorher mal das install_script.sh an, sieht man was installiert wird.)
pi@wireguard:~ $ curl https://raw.githubusercontent.com/wg-dashboard/wg-dashboard/master/install_script.sh | sudo bash
Nach ein paar Minuten ist alles erledigt.
==================================================================================== > Done! WireGuard and wg-dashboard have been successfully installed > You can now connect to the dashboard via ssh tunnel by visiting: http://localhost:3000 > You can open an ssh tunnel from your local machine with this command: ssh -L 3000:localhost:3000 <your_vps_user>@<your_vps_ip> > Please save this command for later, as you will need it to access the dashboard ====================================================================================
Das Webinterface ist nach der Installation nur durch einen SSH Tunnel erreichbar.
ssh -L 3000:localhost:3000 pi@raspi-ip # auf dem Client den Tunnel öffnen http://localhost:3000 # auf dem Client das Webinterface aufrufen
Um auch einen direkten Zugriff zu erhalten muss die Firewall angepasst werden.
pi@wireguard:~ $ sudo ufw allow 3000 Rule added Rule added (v6)
wg-dashboard
Neuen Admin Benutzer mit Passwort anlegen.
Server Settings
Peer Settings
Verzeichnisse und config Dateien.
/etc/wireguard/wg0.conf # WireGuard Konfiguration /opt/wg-dashboard # wg-dashboard Verzeichnis /opt/wg-dashboard/server_config.json # wg-dashboard Server Settings und Peers
Tolles Projekt, aber leider seit dem 17.09.2019 unmaintained. Hoffentlich ĂŒbernimmt das jemand!
Ich hab’s mir bisher aber nur mal zum ausprobieren installiert, hatte das System noch nicht produktiv im Einsatz.
Vielen vielen Dank Michael fĂŒr diese Anleitung.
Ich habe lange nach einer grafischen OberflĂ€che fĂŒr WireGuard auf dem Raspi gesucht. Leider funktioniert dies trotz genauem Befolgen der Anleitung bei mit nicht. Und da ich klein in Linux ein Laie bin, kann ich den Fehler auch nicht entdecken. Ich habe auf dem Raspi 3 ganz frisch die aktuelle “Raspberry Pi OS (32-bit) with desktop and recommended software” installiert und alle Updates einspielen lassen. Zum Schluss nur noch xrdp installiert. Danach habe ich sofort per RDP Deinen Befehl:
pi@wireguard:~ $ curl https://raw.githubusercontent.com/wg-dashboard/wg-dashboard/master/install_script.sh | sudo bash
im Terminal abgesetzt.
Der Rasp werkelt dann auch ganz schön rum um dann leider mit folgender Meldung zu enden:
In file included from /opt/WireGuard/src/main.c:9:
/opt/WireGuard/src/queueing.h: In function âwg_reset_packetâ:
/opt/WireGuard/src/queueing.h:100:2: error: implicit declaration of function âskb_reset_tcâ; did you mean âskb_reserveâ? [-Werror=implicit-function-declaration]
skb_reset_tc(skb);
^~~~~~~~~~~~
skb_reserve
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:266: /opt/WireGuard/src/main.o] Fehler 1
make[1]: *** [Makefile:1709: /opt/WireGuard/src] Fehler 2
make: *** [Makefile:37: module] Fehler 2
Was habe ich falsch gemacht? Wie kann das gelöst werden? Kannst Du mir helfen?
Ich bin Laie im Linux-Bereich.
Lieben Dank
Frank L.
Hallo Frank.
Habs gerade mal ausprobiert und erhalte den gleichen Fehler! :(
Raspberry Pi OS (2020-05-27)
Linux raspberrypi 5.4.51-v7+ #1327
Du hast also nix falsch gemacht!
Ich kann dir momentan aber nicht sagen was sich da geÀndert hat.
Vielen Dank fĂŒr die Antwort. Da bin ich erleichtert dass es nicht an mir lag obwohl ich nicht wirklich durchblicke. Habe ich es recht verstanden dass Wireguard voher nicht installiert werden muss, sondern es mit dem installieren des Dashboards mit installiert wird?
Zwischenzeitlich habe ich auf einem erneut frisch aufgesetztem RaspiOS Wireguard manuell installiert
(https://www.bachmann-lan.de/raspberry-pi-mit-wireguard-als-vpn-server-mit-wireguard/).
Danach habe ich versucht wg-dashboard zu installieren, leider ohne erfolg.
Das Script endete nach einigen Minuten mit der Meldung:
raspberrypi-kernel-headers ist schon die neueste Version (1.20200723-1).
libelf-dev ist schon die neueste Version (0.180-1).
libmnl-dev ist schon die neueste Version (1.0.4-3).
ufw ist schon die neueste Version (0.36-6).
Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder Incoming noch nicht verlassen haben.
Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:
Die folgenden Pakete haben unerfĂŒllte AbhĂ€ngigkeiten:
libc6-dev : BeschÀdigt: libgcc-8-dev (< 8.4.0-2~) aber 8.3.0-6+rpi1 soll installiert werden
E: Fehler: Unterbrechungen durch pkgProblemResolver::Resolve hervorgerufen; dies könnte durch zurĂŒckgehaltene Pakete verursacht worden sein.
OK, und da steige ich aus. Soviel Wissen habe ich dann nicht.
Also ein Raspi von WG und einer halbwegs brauchbare grafische OberflĂ€che wĂ€re fĂŒr mich genau das Richtige.
Nur hier bin ich fĂŒndig geworden.
FĂŒr das wg-dashboard install script darf vorher nichts installiert sein, wird alles automatisch erledigt.
Das wg-dashboard kann auch nicht ohne weiteres ĂŒber ein bestehends WireGuard System installiert werden.
LĂ€sst sich natĂŒrlich auch beides kombinieren, muss dann aber manuell konfiguriert und installiert werden.
Lassen sich die WireGuard Module nicht kompilieren, liegt es immer an der installierten Kernel Version und den WireGuard Snapshots.
Hab eine Lösung gefunden, Anleitung wurde erweitert.
Vielen Dank dafĂŒr dass du dich da reingekniet hast. Ich habe jetzt ebenfalls das aktuelle Lite Image genutzt, das Script in / kopiert,
laufen lassen und nach ein paar Minuten ist es mit einem Fehler abgebrochen.
Hier die letzten Zeilen der Ausgabe:
pi@raspberrypi:/ $ sudo bash install_script_wg-dashboard-rpi.sh
…..
Klone nach ‘wireguard-tools’ …
remote: Enumerating objects: 401, done.
remote: Counting objects: 100% (401/401), done.
remote: Compressing objects: 100% (381/381), done.
remote: Total 2757 (delta 204), reused 9 (delta 9), pack-reused 2356
Empfange Objekte: 100% (2757/2757), 600.48 KiB | 1021.00 KiB/s, Fertig.
Löse Unterschiede auf: 100% (1827/1827), Fertig.
make: Verzeichnis â/opt/wireguard-linux-compat/srcâ wird betreten
make[1]: Verzeichnis â/opt/wireguard-linux-compat/srcâ wird betreten
make[1]: *** /lib/modules/4.19.118-v7+/build: Datei oder Verzeichnis nicht gefunden. Schluss.
make[1]: Verzeichnis â/opt/wireguard-linux-compat/srcâ wird verlassen
make: *** [Makefile:26: module] Fehler 2
make: Verzeichnis â/opt/wireguard-linux-compat/srcâ wird verlassen
pi@raspberrypi:/ $
Da fehlte der reboot nach den updates.
Lösch die beiden WireGuard Verzeichnisse unter /opt und fĂŒhr das script nochmal aus.
Vielen Dank, das war es. Es funktioniert. das VPN steht :-)
Alleine hÀtte ich dies nicht hinbekommen. Das ist mir alles zu hoch als Mausschubser.
Wirklich gute Arbeit. Funktioniert perfekt.
Zwei Anregungen zur ErgÀnzung des Artikels hÀtte ich noch:
1. Hinweis zur Ănderung der peer-config, falls der wireguard-server ĂŒber dyndns erreichbar sein soll:
Endpoint manuell auf “Endpoint = IP-desdynDNS:58210” umschreiben.
2. den Befehl zum automatischen starten/laden des servers auf dem raspi angeben:
sudo systemctl enable wg-quick@wg0
Danke fĂŒr deine Infos.
Hallo Herr Bachmann.
ich hatte auf meinem pi4b bereits OMV (http:-Port 1224) und Pi-hole (Port 80) installiert .
nach der Installation von wg-dashboard (Port 3000) war beides nicht mehr erreichbar.
können diese 3 Applikationen nicht miteinander auf einem System agieren?
falls doch, wie ist die korrekte Installtions-Reihenfolge und was muss man beachten?
ich möchte meinen 4b gerne auslasten und benötige diese 3 Applikationen .
Danke und GrĂŒĂe
Neben WireGuard sollten natĂŒrlich auch noch andere Anwendungen möglich sein.
Da ich so ein Setup nicht im Einsatz habe, kann ich dazu keine Angaben machen.
Ich tippe eher mal das die nachinstallierte UFW Firewall dicht macht.
Ggf. mĂŒssen die benötigten Ports explizit wieder freigegeben werden.
sudo ufw allow PORT
Hallo. Ich hatte dann lokal mittels âip aâ nach den Netzwerkeinstellungen geschaut und gesehen das eth0 verschwunden war.
Von extern war ĂŒber ssh auch keine Verbindung mehr möglich.
Haben sie eine Idee dazu ?
Können sie das vllt mal bei sich nachstellen?
Ich wĂŒrde das Projekt gerne zu Ende bringen und wg mit website nutzen.
Vielen dank!
Nach welchen Aktionen ist den eth0 verschwunden?
System updates?
Kernel updates?
Nachdem wg-Dashboard installiert wurde nach dem Neustart.
Ich hatte es 2x probiert , also ist es reproduzierbar.
Wie gesagt zuerst omv, dann pi-hole und dann wg-Dashboard. Alles mit einem aktuellen Raspian-OS auf einem 4b mit 4gb-RAM.
Ist Euch nicht aufgefallen, dass das wg0 Interface nach dem Neustart verschwunden ist?
Das hilft:
sudo systemctl enable wg-quick@wg0.service
sudo systemctl start wg-quick@wg0.service
Danke fĂŒr das Angepasste Script. Pack das doch bitte oben hin. Ich hatte erst das “(funktioniert nicht mehr)” gemacht weil ich es ĂŒberlesen habe.
Beste GrĂŒĂe, Chris
Hallo Chris,
hab’s jetzt nach oben gepackt.
Danke fĂŒr dein Info, wg0 war nach einem reboot wirklich verschwunden!
Werde mein script mal aktualisieren, wireguard-linux-compat wird mit dem aktuellen Kernel auch nicht mehr benötigt.
GruĂ, Michael…
Ich habe mich gefreut das skript hier zu finden
zumal ich virtuelle RaspberryOS in Proxmox laufen habe (da ich keine 2-3-4-5 RaspyÂŽs laufen haben wollte
leider bekomme ich jetzt eine Fehlermeldung
Trotz RaspbianOS :-(
Sorry, your operating system is not supported !
The install script is only for the Raspberry Pi.
Was kommt denn bei dir raus, wenn du “lsb_release -is” eingibst? Das script erwartet nĂ€mlich “Raspbian” als Ausgabe.
Im script könntest du das abĂ€ndern, ob’s dann lĂ€uft ist dann die andere Frage. ;)
Mir ist bisher auch noch nicht bekannt, das sich ein Raspberry Pi OS (ARM) unter Proxmox virtualisieren lÀsst???
Was genau hast du denn da gemacht?
Ich habe mich gefreut das skript hier zu finden. Klasse Arbeit. LĂ€uft …… bis auf
could not restart wireguard: COULD_NOT_SAVE_WIREGUARD_CONFIG
wenn man auf “Save and restart” klickt.
Nach “sudo systemctl start wg-quick@wg0.service” in der console gehts wieder.
Im script hatte ich zwar den wg0.service beim starten aktiviert, aber nicht explizit gestartet.
Nach einem reboot hĂ€tte es dann spĂ€testens funktionieren mĂŒssen.
Werde ich anpassen, danke fĂŒr die Info!
nach dem reboot gehts ja, nur beim klick auf save und restart, nicht.
habs jetzt nochmal neu aufgesetzt und plötzlich gehts, versteh ich zwar auch nicht,
aber echt super Arbeit die du dir machst, toole Anleitung. Daumen hoch (alle)
Stand heute, Raspi Os lite Image vom 04.03.2021, Kernel 5.10, voll upgegradet, hĂ€ngt die Install mit einem “missing wg0.conf”:
pi@raspberrypi:~ $ sudo ./install_wg-dashboard_rpi.sh
— SNIP —
Job for wg-quick@wg0.service failed because the control process exited with error code.
See “systemctl status wg-quick@wg0.service” and “journalctl -xe” for details.
pi@raspberrypi:~ $ systemctl status wg-quick@wg0.service
â wg-quick@wg0.service – WireGuard via wg-quick(8) for wg0
Loaded: loaded (/lib/systemd/system/wg-quick@.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2021-05-24 10:44:59 WEST; 12s ago
Process: 2052 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=1/FAILURE)
Main PID: 2052 (code=exited, status=1/FAILURE)
May 24 10:44:59 raspberrypi systemd[1]: Starting WireGuard via wg-quick(8) for wg0…
May 24 10:44:59 raspberrypi wg-quick[2052]: wg-quick: `/etc/wireguard/wg0.conf’ does not exist
May 24 10:44:59 raspberrypi systemd[1]: wg-quick@wg0.service: Main process exited, code=exited, status=1
May 24 10:44:59 raspberrypi systemd[1]: wg-quick@wg0.service: Failed with result ‘exit-code’.
May 24 10:44:59 raspberrypi systemd[1]: Failed to start WireGuard via wg-quick(8) for wg0.
lines 1-17/17 (END)
Mein Fehler! :(
Der
wg-quick@wg0.service
darf nur aktiviert aber noch nicht gestartet werden, da noch keine wg0.conf existiert.Diese wird erst nach der Konfiguration der Server Settings im wg-dashboard erstellt. (Save and restart)
Danke, hab ich aus dem script rausgenommen.
Danke nochmal, jetzt ist gut!
Ihr habt Recht, eigentlich muss sogar das raus:
systemctl enable wg-quick@wg0.service
Zuerst muss nĂ€mlich im wg-dashboard die “Public Host / IP” eingetragen werden und dann auf Save and restart gedrĂŒckt werden. Erst dann kommt der wg0 hoch.
Und auch erst dann kann man den wg0.service aktivieren.
Also vielleicht lieber am Ende des Scripts einen Hinweis dazu anzeigen:
echo “Open wg-dashboard. Enter Public Host / IP. Click Save and restart.
echo “Afterwards run here: sudo systemctl enable wg-quick@wg0.service“
Gute Idee, könnte man mit in das script ĂŒbernehmen und als zusĂ€tzliche Info ausgeben lassen.
Ich glaube aber das der service vorher schon auf aktiviert gesetzt werden kann.
Man darf ihn nur nicht starten, da die wg0.conf erst nach dem speichern erstellt wird.
Werd ich bei Gelegenheit nochmal ausprobieren.
Hallo,
erstmal Danke fĂŒr das Script.
Eine Frage lÀsst sich der Port 3000 (nachtrÀglich) Àndern?
In den Config Dateien auf dem Raspi steht die 3000. Löschen öder Àndern dort hat keine Auswirkung.
Da hier der WireGuard auf einem Rasi lÀuft wo nur dieser Server drauf ist, brauche ich ja nicht unbedingt den Port.
In der server_config.json den webserver_port auf 80 Àndern.
wg-dashboard service neu starten
$ systemctl restart wg-dashboard
$ systemctl status wg-dashboard
-- SNIP --
Nov 20 20:45:41 pi-rack02-wireguard systemd[1]: Started wg-dashboard service.
Nov 20 20:45:43 pi-rack02-wireguard node[24299]: WireGuard-Dashboard listening on port 80!
Firewall Regel hinzufĂŒgen
$ ufw allow 80
Leider funktionierte das Script am Anfang nicht, Beim starten kam immer die Meldung OS wird nicht unterstĂŒtzt. Image war das aktuelle Raspberry Pi OS x64 Lite erstellt mit dem Raspberry Pi Imager.
Das Kommando lsb_release -is liefert das aber zurzeit Debian als RĂŒckgabewert.
Ich habe dann im Script Raspian durch Debian ersetzt. Und siehe da das Script funktionierte nun problemlos.
Dann hat sich da wohl jetzt der Name geÀndert.
Hast es ja hinbekommen, danke fĂŒr die Info.
Da, das GUI seit 3 Jahren nicht mehr supported wird, wÀre es Möglich das das Skript mit dem WGDashboard (der genannten Alternative) aktualisiert wird?
Meinst du ein Installskript fĂŒr WGDashboard schreiben?
Eine einfache Anleitung gibt es ja schon.
https://www.bachmann-lan.de/raspberry-pi-mit-wireguard-und-wgdashboard-webinterface/
richtig, der Link von dir enthĂ€lt doch viel selbst zu tun, das “ready to use” script ist eine super Lösung die wunderbar funktioniert hat,
wenn man das nun mit dem “neuen” WGDashboard also “Autoinstallation” aktualisieren könnte. WĂ€re damit vielen geholfen. (auch mir)
Dann probier ihn mal aus. :)