Proxmox als Homeserver mit IPv6 ( Glasfaser ) und mehreren VMs ( Ports ) und Reverse-Proxy möglich?

NoFloXx

Active Member
Jun 10, 2021
54
6
28
41
Guten Abend liebe Gemeinde,

ich habe hier zu Hause einen Server stehen auf dem Proxmox läuft.
Die Internetanbindung ist über IPv6, da die Deutsche Glasfaser leider kein IPv4 bereitstellt und ich keine 10 EUR im Monat für eine IPv4 zahlen möchte.

Nun, soweit läuft der Proxmox-Host und meine Container bzw. VMs laufen ebenfalls und sind auch von außen erreichbar.
Gelöst habe ich das Problem einfach mit VPS-Servern von IONOS, da diese 'nur' 1 EUR im Monat kosten und eine IPv4 haben.
Diese stellen per Wireguard einen Tunnel zur VM her und leiten den gesamten Traffic einfach per 'socat' an die entsprechende VM auf dem Proxmox weiter. Das klappt soweit hervorragend.
In der FRITZ!Box 7590 ist für jede VM eine Route eingetragen ( 172.31.0.1, 255.255.255.255, 192.168.1.47 und eine weitere Route 172.31.0.3, 255.255.255.255, 192.168.1.48 ) und die VMs können sich untereinander finden und ich kann sie auch anpingen.
Da aber langsam aber sicher doch mehr VMs kommen und ich nicht für jede neue VM einen VPS von IONOS bezahlen möchte, stellt sich mir die Frage, ob man das Problem der Ports mit einem ReverseProxy lösen könnte?

Beispiel:
Aktuell habe ich 2x Windows Server 2019 laufen, auf einem ist Plesk installiert, über den meine Webseite läuft.
Dort ist also z.B. Port 80 und 443 besetzt - dafür ist dann der eine VPS zuständig ( der ja auch nur 1x Port 80 und 1x Port 443 weiterreichen kann ).
Eine zweite Windows Server 2019 VM habe ich laufen, auf der ebenfalls Port 80 und 443 benutzt wird ( eMail-Server ) und das Selbe natürlich auf dem 2. VPS auch.

Nun stelle ich mir die Frage, ob ich nicht durch einen ReverseProxy das so lösen könnte, dass durch das Matchen der ( Sub- ) Domains die Ports und VMs so erreichtbar werden, ohne dass ich immer wieder neue VPS für jede VM haben muss?

Ich hoffe, ihr versteht mein Problem und mein Vorhaben.
Bei Fragen, einfach gerne melden. Ich versuche es dann zu beantworten.
Da ich Proxmox genial finde und gerne dran festhalten möchte, hoffe ich, dass jemand mein Problem versteht und evtl. eine Lösung kennt.
Ich wäre für jede Hilfe dankbar und wenn möglich, bitte recht einfach erklärbar, da ich nicht wirklich große Ahnung habe und schon sehr stolz bin, dass alles soweit läuft bisher. Mich stört einfach nur, dass ich quasi für jede VM, die von außen erreichbar sein soll, ein VPS her muss mit IPv4 wegen der Ports.
Bei HAProxy habe ich z.B. mal gelesen, dass dieser die Ports dann per Match auf die ( Sub- ) Domain verwalten kann und man somit nur einen Port 80 und einen Port 443 von einem VPS benötigt und nicht für jede VM einen VPS. :)


Liebe Grüße,
Christian ;)
 
Hallo,

ich habe das mit IONOS so gelöst:
  • Wireguard Server auf dem IONOS
  • Wildcard Domain auf die IP Adresse des IONOS gelegt
  • In jedem Proxmox LXC oder VM ein Wireguard Client mit Ziel zum IONOS
  • Docker auf dem IONOS mit NGINX Proxy Manager - Port 80 + 443 auf Wireguard Client-IP und Port weiterleiten.
  • Im PC/Smartphone/Raspi usw. auch WG-Client zum IONOS
Damit kann über den Reversproxy und einer SUB-Domain jede Wireguard IP bzw. die Anwendung dazu erreicht werden. So richtig Spaß machen die CAM Apps auf dem Smartphone, die über eine sub-Domain/Wireguard und dem Reversproxy direkt aus dem Internet erreichbar sind.

Viel Spaß damit.

Gerhard
 
Last edited:
  • Like
Reactions: KaiS
Danke für die schnelle Antwort.
Habe sie leider erst heute lesen können.
Könntest du mir vielleicht eine Anleitung schreiben, wie ich das mache?
Meine Domain liegt leider noch über 6 Monate bei Strato...

Ansonsten hört sich deine Lösung ganz gut an.
Danke schon mal. :)
 
Hallo,

wie Wireguard funktioniert solltest du aufgrund deiner Anfrage schon wissen.
Deine Domain bei Strato hat damit erstmal nichts zu tun. A-Record sollte bei jedem Domainhoster einstellbar sein.
Wie man Docker und Nginx installiert hängt von deinem Linux bei Ionos ab - da gibt es extrem viele Anleitungen.

... und mehr ist es nicht.
 
Ich muss also auf dem IONOS Docker installieren, danach NGINX und dann per Wireguard vom IONOS auf meinen Proxmox-Host, richtig?
Vom Proxmox-Host dann für jede VM einen Wireguard auf den IONOS und im NGINX dann für jede VM einen Eintrag hinterlegen, korrekt?
Da ich ja zu Hause keine öffentliche IPv4 habe, sondern nur IPv6, dank Deutsche Glasfaser.
 
Last edited:
Hallo, wie schon geschrieben, es ist der "NGINX Proxy Manager" und nicht der NGINX Container. Vielleicht hilft es dir wenn du dir eine Skizze machst wie die Kommunikation laufen soll. Das Problem hat man nicht nur mit der Deutschen Glasfaser - jedes Gerät im Mobilfunknetz oder über einen WiFi Hotspot hat eine private IPv4.
dann per Wireguard vom IONOS auf meinen Proxmox-Host
Alle Wireguard Verbindungen werden vom Client (LXC/VM/Proxmox/Windows) zum Server (IONOS) aufgebaut. IONOS kann über Wireguard jeden VPN Client über eine FIXE PRIVATE Wireguard IPv4 erreichen.
 
Last edited:
Ich hab hier mal was 'gemalt', wie es aktuell ist. Ich hoffe, ihr könnt da was erkennen...
Was ich noch nicht erwähnt habe, in der FritzBox sind zwei IPv4-Routen drin, einmal von 172.31.0.1 zur VM auf dem Proxmox und einmal eine Route 172.31.0.3 zur 2. VM auf dem Proxmox.
https://ibb.co/4gwDhZn

Pingen kann ich vom IONOS auf die Wireguard-IP, aber die anderen IPs im Netzwerk findet er nicht.
 
Last edited:
Habe es mittlerweile hinbekommen.
Falls Interesse an der Lösung besteht, gerne melden. :)
 
  • Like
Reactions: KaiS
Hallo liebe Freunde,
bitte entschuldigt, dass ich mich so lange nicht habe blicken lassen.
Entschuldigt, falls diese Anleitung 'für Dummies' ist, aber ich denke, so kann jeder gut damit arbeiten und ggf. mal was nachlesen.
Musste mir auch einige Sachen von Grund auf anlesen und fand dann solche Schritt-für-Schritt-Anleitungen ist meine Rettung! :)

Ich hoffe euch mit meiner Anleitung helfen zu können, wie ich es zum Laufen bekommen habe.
Kleine Info am Rande: Ich habe den kleinsten VPS-Server von IONOS genommen, der monatlich gerade mal 1 EUR kostet. Dieser hat eine 400MBit-Anbindung, was normaler Weise dicke ausreicht und eben keine Drosselung hat, also Traffic-Flat.
Außerdem habe ich die Firewall des VPS komplett geöffnet. Ob dies so schlau ist, weiß ich nicht, aber bisher läuft alles.
Als Betriebssystem habe ich Debian 10 genommen, ihr könnt aber auch Debian 11 nehmen, sollte genauso gut klappen.

Als Erstes habe ich natürlich den VPS auf den neuesten Stand gebracht mit 'sudo apt update && apt upgrade -y'.
Ggf. müsst ihr sudo noch installieren ( 'apt install sudo -y' ).

Anschließend habe ich Wireguard nach dieser Anleitung installiert:
https://schroederdennis.de/tutorial-howto/wireguard-vpn-server-installieren-client-to-server/
( WICHTIG: Schritt 4 & 5 müssten getauscht werden, sonst klappt das nicht! )

Hier die Screenshots meiner Configs:
VPS-Server: https://abload.de/img/server6bjhb.jpg
Client: https://abload.de/img/clientkskjq.jpg

Der andere Wireguard-Client läuft auf meinem Proxmox, ebenfalls mit Debian.
( WICHTIG: In der FRITZ!Box habe ich eine IPv4-Route hinzugefügt, sonst klappt das alles nicht! )
Die Routing-Tabelle findet ihr hier: Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> IPv4-Routen.
Hier der Screenshot: https://abload.de/img/screenshoteekvw.png
Die IPs müssen natürlich mit den eurer Clienten übereinstimmen.
Zur Sicherheit habe ich den VPS und den Clienten einmal neu gestartet und dann mit 'wg' sichergestellt, dass eine Verbindung aufgebaut wird.
Dies kann ggf. bis zu 1 Minute nach dem Booten dauern.
Ihr solltet dann auch in der Lage sein, alle anderen PCs vom VPS aus anzupingen, die im selben Netzwerk sind.
Beachtet aber hierbei, dass es auch hier bis zu 1 Minute dauern kann, bis eine PING-Antwort kommt. Funktionieren sollte es aber!

Ebenfalls wichtig ist noch, dass eure ( Sub- ) Domain auf die IP des VPS zeigen muss. Diese Umstellung kann u.U. je nach Provider bis zu 24h dauern!

Weiter gehts auf dem VPS dann mit 'socat'.
Installieren könnt ihr diesen mit 'apt install socat -y'.
Meine socat.sh-Datei sieht so aus: https://abload.de/img/socate4ks9.jpg
Die Ports, die ihr durchreichen wollt, müsst ihr einmal links hinter dem 'TCP4-LISTEN:PORT' und rechts hinter der internen IP-Adresse anpassen 'TCP4:IP:PORT'.
Wichtig ist noch, die socat.sh-Datei ausführbar zu machen, sonst klappt das nicht.
Ich habe die socat.sh-Datei im Home-Verzeichnis abgelegt, daher müsst ihr in das Home-Verzeichnis wechseln und die socat.sh ausführbar machen: 'chmod u+x socat.sh'. Dies geht nur aus dem Home-Verzeichnis heraus!
Zum Abschluss muss diese noch zum Autostart hinzugefügt werden, falls euer VPS mal rebootet, sich aufhängt oder sonst was.
Dies macht ihr mit diesem Befehl: 'crontab -e'.
Und so sieht meine crontab aus: https://abload.de/img/crontab1vknk.jpg

Als letzten Schritt brauchen wir noch den Nginx Reverse-Proxy und Docker bzw. Docker-Compose auf dem VPS.
Dies habe ich einfach nach dieser Anleitung installiert:
https://nginxproxymanager.com/guide/

Das wars im Grunde.
Sollte es trotzdem nicht klappen, lasst es mich wissen.
Dann schaue ich gerne noch mal genauer nach, ob bzw. was ich vergessen habe. :)
 
Hallo liebe Freunde,
bitte entschuldigt, dass ich mich so lange nicht habe blicken lassen.
Entschuldigt, falls diese Anleitung 'für Dummies' ist, aber ich denke, so kann jeder gut damit arbeiten und ggf. mal was nachlesen.
Musste mir auch einige Sachen von Grund auf anlesen und fand dann solche Schritt-für-Schritt-Anleitungen ist meine Rettung! :)
Ich weiß das es nicht so toll ist so alte Post aus der Versenkung zu holen.
Aber ich finde Deine Anleitung sehr gut geschrieben.
Leider gibt des den Bilder Server (abload.de) auf dem Du deine Bilder hochgeladen hast nicht mehr.
Evtl hast Du die Screenshots noch und kannst die Link aktualisieren.

Grüße
 
Ich weiß das es nicht so toll ist so alte Post aus der Versenkung zu holen.
Aber ich finde Deine Anleitung sehr gut geschrieben.
Leider gibt des den Bilder Server (abload.de) auf dem Du deine Bilder hochgeladen hast nicht mehr.
Evtl hast Du die Screenshots noch und kannst die Link aktualisieren.

Grüße
Hallöchen.
Also erstmal ist es eigl. egal, wie alt der Post ist. Ich habe gar nicht mehr dran gedacht, dass Abload.de ja dicht ist...
Die Screenshots habe ich leider nicht mehr. :(
Mittlerweile habe ich mein Setup aber auch geändert, die FritzBox ist rausgeflogen und ich habe alles in der OPNsense konfiguriert.
Wenn daran Interesse besteht, kann ich das gerne posten.

Bei der FritzBox weiß ich noch, dass unter Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> IPv4-Routen die Route 192.168.1.0 im /24 Netz hinzugefügt werden musste.
Vielleicht hilft dir das schon?!

Die Server- und Clienten-Konfigs von meinem VPS kann ich gerne noch mal posten, die ändern sich ja nicht.
Selbes gilt für die socat.sh-Datei, die habe ich ja auch noch aktiv.

Also, falls da noch Interesse besteht, einfach melden. :)
 
Hallöchen.
Also erstmal ist es eigl. egal, wie alt der Post ist. Ich habe gar nicht mehr dran gedacht, dass Abload.de ja dicht ist...
Die Screenshots habe ich leider nicht mehr. :(
Mittlerweile habe ich mein Setup aber auch geändert, die FritzBox ist rausgeflogen und ich habe alles in der OPNsense konfiguriert.
Wenn daran Interesse besteht, kann ich das gerne posten.

Bei der FritzBox weiß ich noch, dass unter Heimnetz -> Netzwerk -> Netzwerkeinstellungen -> IPv4-Routen die Route 192.168.1.0 im /24 Netz hinzugefügt werden musste.
Vielleicht hilft dir das schon?!

Die Server- und Clienten-Konfigs von meinem VPS kann ich gerne noch mal posten, die ändern sich ja nicht.
Selbes gilt für die socat.sh-Datei, die habe ich ja auch noch aktiv.

Also, falls da noch Interesse besteht, einfach melden. :)
Moin,
vielen Dank für die schnelle Antwort.
Würde mich sehr über weitere Informationen freuen.
Hab es bei mir zwar auch schon am laufen, aber evtl. kann ich ja noch ein paar Verbesserungen vornehmen ;-)
Ich arbeite noch mit einer FB. Dort hab ich den Eintrag wie Du es beschreiben hast, nicht gemacht.
Auch eine server und Client Einstellung würden mich mal interessieren.

Viele Grüße.
 
Moin,
vielen Dank für die schnelle Antwort.
Würde mich sehr über weitere Informationen freuen.
Hab es bei mir zwar auch schon am laufen, aber evtl. kann ich ja noch ein paar Verbesserungen vornehmen ;-)
Ich arbeite noch mit einer FB. Dort hab ich den Eintrag wie Du es beschreiben hast, nicht gemacht.
Auch eine server und Client Einstellung würden mich mal interessieren.

Viele Grüße.
Was meinst du jetzt genau mit Server- und Clienteinstellung?
Meine Config, oder wie? Weil ich habe ja jetzt alles in der OPNsense laufen...

Der Eintrag mit der FritzBox war, soweit ich noch weiss, damit der Reverse Proxy die Geräte im Homelab auch findet.
Du kannst ja mal testen, ob du vom VPS aus deine Geräte mit der internen IP anpingen kannst. Das ging bei mir nämlich nicht ohne diesen FB-Eintrag.
Der Socat-Dienst läuft nur für den Mailpiler, also der ist eigl. nicht wichtig.
 
  • Like
Reactions: Johannes S
Ich hab es zur Zeit so laufen.
Ein LXC wo Wireguard installiert ist.
Hab ein kleinen V-Server mit Domain gemietet.
Dort ist auch Wireguard und NGIN Reverse Proxy.
Der LXC baut eine Verbindung zum V Server auf.
In der FB hab ich nichts weiter eingestellt.
So komme ich auf die im RP eingestellten Verbindungen, auf meine Server zuhause.
 
Okay, das freut mich!
Und du kannst von dem vServer auch deine internen IPs anpingen?
Weil wenn das geht, ist der Eintrag in der FritzBox wohl unnötig. :)
Wichtig ist, dass du die Pings natürlich von dem vServer aus machst, sonst macht das keinen Sinn. :)
 
Ich hab mich gerade per SSH auf dem vServer angemeldet und dort per Ping mal zwei IP Adressen aus meinem Heimnetzwerk angepingt.
Das hat soweit geklappt

PING 192.168.1.110 (192.168.1.110) 56(84) bytes of data.
64 bytes from 192.168.1.110: icmp_seq=1 ttl=63 time=29.7 ms
 
Perfekt, so soll es ja sein.
Dann weiß ich nicht, warum ich damals die Route in den Fritzbox eingetragen hatte bzw. eintragen musste.
Aber hab den vServer eh neu aufgesetzt und jetzt gehts auch ohne die Route. :)