NEWS
[Anleitung] WireGuard mit WireGuard-UI auf Proxmox
-
@moonsorrox
Hast Du es mit IPv6 hinbekommen? Dann versuche ich das vieleicht auch mal... -
@CrunkFX
Hast Du vielleicht eine Idee, woran mein Problem liegen könnte? -
@flybywire Hast du denn den port angepasst auf dem neuen system? Es können nicht 2 wireguard Instanzen über den selben port Laufen.
-
@flybywire said in [Anleitung] WireGuard mit WireGuard-UI auf Proxmox:
@moonsorrox
Hast Du es mit IPv6 hinbekommen? Dann versuche ich das vieleicht auch mal...ja, ich habe es mit einer VM auf Proxmox gemacht, weil LXC wohl Probleme macht, war ne Geburt.
Was mir noch nicht gefällt ist das im Moment das gesamte lokale LAN erreichbar ist, was aber auf meinem iPhone und iPad OK ist.
Aber ich möchte noch 2-3 Clients für nur eine IP einrichten und das werde ich die Tage angehen.
Das Video zur Wireguard Einrichtung ist dieses https://www.youtube.com/watch?v=eD4ihEF_pkQAuf dem Proxmox in der Wireguard Einrichtung gibt es eine wg0.conf und noch eine params Datei die man bearbeiten muss. Weil diese immer als Grundlage für den Client genommen wird.
Mein hauptsächlichste Problem war eigentlich die Endpoint IPv6, ich hatte immer den DNS Namen drin was aber nicht funktionierte, soll aber laut der Experten die mir im Discord geholfen haben auch gehen. Aber so lasse ich es jetzt erst einmal alles da ich über Weihnachten unterwegs bin und es war mir wichtig das ich ins lokale LAN komme.
-
@crunkfx
Ja, der Port auf der "alten" Instanz ist ein anderer. -
@moonsorrox said in [Anleitung] WireGuard mit WireGuard-UI auf Proxmox:
Das Video zur Wireguard Einrichtung ist dieses https://www.youtube.com/watch?v=eD4ihEF_pkQ
Danke, dann werd ich das mal probieren. Hoffe das klappt. Mit dem LXC komme ich einfach nicht weiter.
-
Das ist grundsätzlich keine große Sache, versuch mal folgendes:
-
Erstelle dir 2 Container mit Ubuntu 22.04 und gib bei beiden eine feste IP. Starte sie aber noch nicht.
-
Auf dem Proxmox Host fügst du in die Config (/etc/pve/lxc/[ID-LXC].conf) der beiden LXCs folgendes am Ende ein:
lxc.cgroup.devices.allow: c 10:200 rwm lxc.mount.entry: /dev/net dev/net none bind,create=dir
- Folgenden Befehl auf dem Proxmox Host ausführen
chown 100000:100000 /dev/net/tun
-
Die LXCs starten
-
Über das WebUI von Proxmox in die LXCs einloggen und aktualisieren
apt update && apt upgrade -y
- Wireguard hiermit installieren (du kannst alle Fragen des Skriptes einfach mit Enter bestätigen)
wget https://git.io/wireguard -O wireguard-install.sh && bash wireguard-install.sh
- Wireguard stoppen
wg-quick down wg0
- Die durch das Skript angelegte Konfiguation kannst du löschen
rm /etc/wireguard/wg0.conf
- Erstelle dir deine Keys/Konfiguration für Wireguard, am einfachsten z.B. über einen Generator
https://www.wireguardconfig.com
-
Bei LXC1 fügst die erstelle Konfiguration für den Server in die /etc/wireguard/wg0.conf ein, bei LXC2 die für Client 1 (siehe Ausgabe des Generators). In der wg0.conf des Clients musst die noch die IP-Adresse deines erstes LXCs bei Endpoint eintragen
-
Danach beide LXCs neustarten
-
Der Tunnel sollte nach dem Reboot nun zwischen den beiden LXCs aufgebaut sein
Das kannst du mit
wg
überprüfen (bei transfer & received sind Daten geflossen):
peer: fvm5vXVxiywkREMQEH89Z3IFa0rI9OLmzP0glKyy1xs= endpoint: 10.4.0.202:51820 allowed ips: 10.0.0.2/32 latest handshake: 11 minutes, 42 seconds ago transfer: 2.68 KiB received, 13.10 KiB sent
Soviel erstmal Grundsätzlich für Verständnis. Natürlich macht das zwischen 2 LXCs eher wenig Sinn - aber zum üben passt das erstmal ;). Danach kannst du es auf deine Umgebung adaptieren, z.B. Port-Weiterleitung deines Routers an den LXC1 und die Config des LXC2 für ein mobiles Endgerät verwenden (dann aber auch die Endpoint IP auf deine öffentliche IP / DDNS setzen.
Die Schritte 5-12 müssen in beiden LXCs ausgeführt werden.
PS: Nach einer Installation eines LXC gibt es erstmal nur root als Benutzer, daher habe ich die Befehle auch ohne sudo angegeben. Einen Benutzer kannst du dir nach Schritt 5 wie folgt anlegen:
adduser DEIN-BENUTZERNAME usermod -aG sudo DEIN-BENUTZERNAME reboot
Dann kannst du mit 6. und unter deinem Benutzer weitermachen, dafür dann aber auch sudo verwenden.
Hoffe ich habe nichts vergessen, viel Spaß beim ausprobieren
PS2: Es gibt auch eine Variante ohne Portweiterleitung im lokalen Netz, dafür brauchst dann nur einen kleinen VServer mit einer öffentlichen IP der als VPN-Gateway fungiert
-
-
@darkiop said in [Anleitung] WireGuard mit WireGuard-UI auf Proxmox:
lxc.cgroup.devices.allow: c 10:200 rwm
Ich werde das mal versuchen. Kurze Frage dazu. Ist das so korrekt? Oben steht ja, dass es bei Proxmox 7 "lxc.cgroup2.devices.allow: c 10:200 rwm" heißen muß?!
-
Ja - meine Doku war hier noch veraltet.
Aber ... hier läuft mein produktiver LXC mit Wireguard auch noch mit der alten Option
-
@darkiop said in [Anleitung] WireGuard mit WireGuard-UI auf Proxmox:
Bei LXC1 fügst die erstelle Konfiguration für den Server in die /etc/wireguard/wg0.conf ein
Nochmal ne doofe Frage, wo(mit) erstelle ich die Konfiguration für den Server?
-
Da gibt es mehrere Möglichkeiten.
Die einfachste wäre:
- Auf der WebUI in den Container einloggen
- Die Config-Datei des LXCs mit einem Editor öffnen (hier im Beispiel nano)
nano /etc/pve/lxc/ID-DES-LXC.conf
Änderungen vornehmen, und mit STRG + X und dann Y beenden/speichern.
-
super Zusammenstellung, ich habe das mal nachgestellt. Bekomme aber zwischen beiden LXCs keine Verbindung.
Habe auch extra Ubuntu genommen, da ich sonst Debian 11 genutzt hatte, macht aber kein Unterschied.Was mich immer noch beschäftigt ist die Netzwerkschnittstelle wenn man sie auf dem Proxmox abfragt bekommt man immer eine eth0@if199 mit weiteren Zeichen dahinter, die sich aber hinter dem @ immer wieder ändert. Will damit nur sagen ob es evtl. deshalb nicht geht da ja eine eth0 eingetragen ist..? Hatte dann wg0 ausprobiert geht auch nicht.
Keine Ahnung, also ich habe mit LXCs keine Verbindung.
-
Das ist auch richrtig so, siehe hier meine des Servers:
2: eth0@if354: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether d2:e0:50:88:13:c6 brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 10.4.0.201/24 brd 10.4.0.255 scope global eth0 valid_lft forever preferred_lft forever inet6 2a00:6020:508e:effe::a5/128 scope global dynamic noprefixroute valid_lft 86254sec preferred_lft 86254sec inet6 2a00:6020:508e:effe:d0e0:50ff:fe88:13c6/64 scope global dynamic mngtmpaddr noprefixroute valid_lft 5704sec preferred_lft 2104sec inet6 fe80::d0e0:50ff:fe88:13c6/64 scope link valid_lft forever preferred_lft forever 3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
Und hier meine wg0.conf des Clients:
[Interface] Address = 10.0.0.2/24 ListenPort = 51820 PrivateKey = aGBcwL/MX4PvM17wtjJnUi7IFFJju8+Bym5a0r21K2E= [Peer] PublicKey = IGR7fS4wKg2DDzuuTu+SKsrbVuGC0hBrnF9fZYnpJxk= AllowedIPs = 0.0.0.0/0, ::/0 Endpoint = 10.4.0.201:51820
PS: Das sollte auch mit Debian 11 genau so laufen Ich stells morgen mal nach.
-
ich denek es wird dann mit Debian auch laufen, aber bei mir geht es irgendwie nicht.
Werde mal die Tage nochmal probieren. Irgendwie mag ich noch nicht aufgeben, aber heute erstmal schon -
@darkiop said in [Anleitung] WireGuard mit WireGuard-UI auf Proxmox:
Da gibt es mehrere Möglichkeiten.
Die einfachste wäre:
- Auf der WebUI in den Container einloggen
- Die Config-Datei des LXCs mit einem Editor öffnen (hier im Beispiel nano)
nano /etc/pve/lxc/ID-DES-LXC.conf
Änderungen vornehmen, und mit STRG + X und dann Y beenden/speichern.
Das verstehe ich, da kommt
lxc.cgroup.devices.allow: c 10:200 rwm lxc.mount.entry: /dev/net dev/net none bind,create=dir
hin. Aber
- Die durch das Skript angelegte Konfiguation kannst du löschen
rm /etc/wireguard/wg0.conf
und
- Bei LXC1 fügst die erstelle Konfiguration für den Server in die /etc/wireguard/wg0.conf ein
verstehe ich nicht. Wie erstelle ich die wg0.conf für den server?
-
@flybywire
du kannst auch die wg0.conf behalten, öffnen und den Inhalt löschen und dann kopierst du die Server Geschichten da hinein.
Oder eben löschen dann mit nano öffnen und die ist leer und dann den Inhalt dort rein kopieren... wie rum ist es egal -
@darkiop said in [Anleitung] WireGuard mit WireGuard-UI auf Proxmox:
wget https://git.io/wireguard -O wireguard-install.sh && bash wireguard-install.sh
Erstmal vielen Dank, dass Du Dir die Zeit nimmst zu helfen!
Ich habe das ganze jetzt nach Deiner Anleitung gemacht, glaube aber auch das funktioniert bei mir nicht. Jedenfalls sehe ich keinen handshake?!
Server:
Client:
-
@flybywire
ist bei mir ganz genauso, es gibt auch kein handshake, aber du hast wenigstens noch die transfer Meldung unten im Client, die hatte ich nicht.Was ich aber komisch finde, ich habe nichts an der Konfig geändert und laufen lasse und siehe da heute nun funktioniert es.
-
@moonsorrox
Ich glaub ich bin zu blöd dafür. In meinem Test gestern hatte ich als Endpoint versehentlich meine WAN IP eingetragen. Nun habe ich das grade geändert, und in der client config die lokale IP des WG server eingetragen. Dann kommt aber das:
Muss ich im Router, auch für den lokalen Test, ein Port forwarding eintragen? -
@flybywire
nein ist ja alles lokal, du routest ja von einer IP zur anderen IP. Den Port brauchst du nur wenn du von aussen rein kommst