, ,

WireGuard mit Web GUI

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.


Avatar von Sascha

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert