There was a problem loading the comments.

WireGuard mit WireGuard-UI auf AlmaLinux 8 installieren

Support Portal  »  Knowledgebase  »  Viewing Article

  Print

In dieser Anleitung erklären wir euch, wir Ihr WireGuard + Webinterface (WireGuard-UI) unter AlmaLinux 8 installieren könnt. Für AlmaLinux 9 stehen derzeit noch keine Pakete für WireGuard zur Verfügung.

 

1. Damit WireGuard unter AlmaLinux 8 installiert werden kann, wird das Epel & Elrepo benötigt. Sofern du einen vServer bei uns gemietet hast und unser AlmaLinux 8 Template verwendest, musst du nur noch das Elrepo wie folgt nachinstallieren:

 

dnf install elrepo-release

 

Das Epel-Repo ist in unseren Templates bereits vorinstalliert und muss daher nicht installiert werden.

 

2. Wir installieren nun die nötigen Pakete für WireGuard mit nachfolgendem Befehl:

 

dnf install kmod-wireguard wireguard-tools

 

3. IP Forwarding einrichten

 

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p

 

4. NAT-Regeln erstellen

 

Damit später auch über die zugeteilte IPv6-Adresse gesurft werden kann oder auch das Interne Netzwerk unserer VPS über den WireGuard erreichbar ist, sind noch Einstellungen unter /etc/sysconfig/ in der Datei nftables.conf vorzunehmen:

 

table ip nat {
        chain postrouting {
                type nat hook postrouting priority 100; policy accept;
                ip saddr 172.16.0.0/24 oif "eth0" snat to VSERVER-IPv4-HIER
        }
} table ip6 nat {
        chain postrouting {
                type nat hook postrouting priority 100; policy accept;
                ip6 saddr fd8f:d4dc:9de9::/64  oif "eth0" snat to VSERVER-IPv6-HIER
        }
}

 

Habt Ihr noch eine Lokale IP gebucht, muss das ganze so aussehen:
 
table ip nat {
        chain postrouting {
                type nat hook postrouting priority 100; policy accept;
                ip saddr 172.16.0.0/24 oif "eth0" snat to VSERVER-IPv4-HIER
        }
} table ip nat {
        chain postrouting {
                type nat hook postrouting priority 100; policy accept;
                ip saddr 172.16.0.0/24 oif "eth1" snat to LOKALE-VSERVER-IPv4-HIER
        }
} table ip6 nat {
        chain postrouting {
                type nat hook postrouting priority 100; policy accept;
                ip6 saddr fd8f:d4dc:9de9::/64  oif "eth0" snat to VSERVER-IPv6-HIER
        }
}
 
Ihr Tragt jeweils an den entsprechenden stellen die euch zugeteilten IP-Adressen ein. Nun noch folgendes ausführen:
 
systemctl enable --now nftables

5. WireGuard UI Startscript unter /etc/wireguard/ erstellen (Quelle: adminforge.de / https://github.com/ngoduykhanh/wireguard-ui)

 

cat <<EOF > /etc/wireguard/start-wgui.sh
#!/bin/bash
 
cd /etc/wireguard
./wireguard-ui -bind-address 0.0.0.0:5000
EOF

 

Hinweis: Das Webinterface ist damit über die öffentliche IP-Adresse für jeden erreichbar. Aus Sicherheitsgründen sollte der Teil "0.0.0.0" später gegen die Lokale-IP des WireGuard-Server ersetzt werden sodass, dass Webinterface später nur über den VPN zu erreichen ist.

 

Dem Script noch die nötigen Rechte geben:

 

chmod +x /etc/wireguard/start-wgui.sh

 

6. WireGuard UI daemon (Quelle: adminforge.de / https://github.com/ngoduykhanh/wireguard-ui)

 

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

 

7. WireGuard UI Download und Update Script (Quelle: adminforge.de / https://github.com/ngoduykhanh/wireguard-ui)

 

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

 

Zuerst werden dem Scipt noch die nötigen Schreibrechte gewährt und danach kann es ausgeführt werden:

chmod +x /etc/wireguard/update.sh
cd /etc/wireguard; ./update.sh

 

Der Download und das Webinterface starten automatisch.

 

8. WireGuard Konfigurationsdatei von Systemd überwachen lassen (Quelle: adminforge.de / https://github.com/ngoduykhanh/wireguard-ui)

 

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

 

9. Nun können wir alles 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}

 

10. WireGuard UI Webinterface öffnen und Einloggen

 

Unter der URL:

 

http://<VPS-IP>:5000

 

kann das Webinterface geöffnet werden (<VPS-IP> ist durch die IP des vServer zu ersetzen).

 

Der Login erfolgt mit folgenden Daten:

 

Benutzer: admin
Passwort: admin

 

11. Einstellungen vornehmen

 

Zuerst klickst du auf "Wireguard Server" und entfernst unter "Server Interface Addresses" das dort hinterlegte Netz:

 

10.252.1.0/24

 

trage nun dort das Netz

 

172.16.0.0/24

 

und

 

fd8f:d4dc:9de9::/64

 

ein. Unter Post Up Script / Post Down Script trage noch folgendes ein:

 

Post Up Script: iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Post Down Script: iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

 

speichere das ganze unten mit Klick auf den Button Save.

 

Klicke danach auf Global Settings. Hier löscht du nun unter DNS Servers den folgenden Eintrag:

 

1.1.1.1

 

und trägst dort die IP-Adressen ein, die dir mit

 

cat /etc/resolv.conf

 

angezeigt werden. Danach speicherst du das ganze wieder mit klick auf Save.

 

11. Client anlegen

 

Unter dem Punkt Wireguard Clients kannst du dir nun deinen ersten Benutzer anlegen. Fülle alle Felder aus und füge bei Allowed IPs noch folgendes hinzu:

 

::/0

 

Unter IP Allocation legt WireGuard die IPv6-Adresse für den Clienten mit /128:

 

fd8f:d4dc:9de9::1/128

 

an.

 

Lösche die Adresse und trage Sie mit /64

 

fd8f:d4dc:9de9::1/64

 

ein.

 

Ansonsten klappt die Verbindung über IPv6 nicht. Nun sollte dein WireGuard VPN Ready sein und auch über deine IPv6-Adresse surfen können.

 

Hinweis: Vergesse nicht sobald die Verbindung funktioniert, die IP-Adresse auf die Lokale-IP des Wireguard-Server (siehe Punkt 5.) zu ändern.

 

 Zusätzlich kann noch in der Datei /etc/wireguard/db/server/users.json der Benutzer (admin) und das Passwort (admin) geändert werden.


Share via
Did you find this article useful?  

Related Articles

Tags

© 1fire Hosting