Mit dem Update des neuen WG-Easy WireGuard bin ich nicht mehr auf meine Web GUI gekommen. Dies lag daran, das ein Passwort im Docker Run Befehl enthalten war. Dies muss in ein Passwort Hash ausgetauscht werden. Zeit für mich WireGuard komplett neu in einem LXC zu installieren.
LXC Anlegen
Ich habe mich hier für Ubuntu entschieden und da natürlich für das aktuellste System. Der LXC läuft bei mir in meiner Proxmox Umgebung.
Installation
Installation von curl, Docker und Docker-Compose
# System Updaten und neu starten
apt update && apt upgrade -y && apt autoremove -y && reboot
# Installation von Curl, Docker und Docker-Compose
apt install curl -y
curl -sSL https://get.docker.com | sh
apt install docker-compose -y
# Optional kann man Portainer oder Dockge nutzen, allerdings beides kein muss. Für mich gerade angenehmer. Ich ahbe mich für Dockge entschieden. Es ist schlanker.
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml
nano compose.yaml
# Ich habe die compose.yaml Datei noch angepasst indem ich container_name und hostname hinterlegt habe
dockge:
container_name: dockge
hostname: dockge
Nun noch Dockge starten mit der Ip:5001 und ein User und Passwort für Dockge erstellen.
Installation von WireGuard
In Dockge auf Compose klicken und ganz Rechts folgendes Skript einfügen und auf dich Anpassten an den Stellen wo ein # hinterlegt ist.
version: "3.3"
services:
wg-easy:
container_name: wg-easy
environment:
- WG_HOST=wg.dns.de #hier deine DNS Adresse eintragen.
- WG_DEFAULT_DNS=192.168.2.43 #hier dein PiHole oder auskommentieren mit Raute
- LANG=de
volumes:
- ~/.wg-easy:/etc/wireguard
ports:
- 51820:51820/udp
- 51821:51821/tcp
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv4.ip_forward=1
restart: unless-stopped
image: ghcr.io/wg-easy/wg-easy
networks: {}
Nun auf Deployen klicken.
WireGuard läuft nun. Das Problem ist nur, dass die Web GUI kein Login Passwort besitzt und dies ein Sicherheitsrisiko beinhaltet. Um ein Passwort zu hinterlegen links deinen Container anklicken (wg-easy) und dann steht unter Container >_Bash
, da einmal drauf klicken. Hier erstellen wir nun ein Passwort Hash mit dem Befehl
wgpw sicheres Passwort
Es erscheint ein PASSWORD_HASH=$5g$34$eqvfgdshnxmewkfvdwadsfucv
. Dies einmal Kopieren und wieder in unseren wg-easy Container. Die compose.yaml
Datei nun Bearbeiten und unter environment
dein gerade erstelltes PASSWORD_HASH=$5g$34$eqvfgdshnxmewkfvdwadsfucv einfügen. Wichtig jetzt, die Anführungsstriche im Hash entfernen und das $ in $$ erweitern. So sollte das Skript dann aussehen:
version: "3.3"
services:
wg-easy:
container_name: wg-easy
environment:
- WG_HOST=wg.dns.de #hier deine DNS Adresse eintragen.
- WG_DEFAULT_DNS=192.168.2.43 #hier dein PiHole oder aukommentieren mit Raute
- PASSWORD_HASH=$$5g$$34$$eqvfgdshnxmewkfvdwadsfucv
- LANG=de
volumes:
- ~/.wg-easy:/etc/wireguard
ports:
- 51820:51820/udp
- 51821:51821/tcp
cap_add:
- NET_ADMIN
- SYS_MODULE
sysctls:
- net.ipv4.conf.all.src_valid_mark=1
- net.ipv4.ip_forward=1
restart: unless-stopped
image: ghcr.io/wg-easy/wg-easy
networks: {}
Speichern und Container neu Starten. Nun hat die WireGuard Web GUI wieder ein Passwort.
Auf die Web GUI kommst du mit http://IP:51821.
Ggf. noch Anpassen
Ggf. muss in deiner Fritzbox noch der Post 51820 freigaben werden. Solltest du also keine VPN aufbauen, liegt das Problem da dran.