Hallo zusammen!
Ich brauche mal Hilfe bei einem Portforwarding. Ehrlicherweise bin ich nicht sicher, ob das Problem mit der Virtualisierung zusammenhängt. Vielleicht hat trotzdem jemand eine Idee. Ich sitze schon seit fast zwei Wochen dran, bekomme es aber einfach nicht ans Laufen.
Vorbemerkung:
Ich habe einen DSlite Anschluss weshalb ich leider so ohne Weiteres keine Ports freigeben kann. Daher habe ich bei Inos einen VServer gemietet.
Aufgabe
Die App (PINode), die ich benutzen möchte, läuft unter Windows und benutzt Docker, um in einem Container einen Task laufen zu lassen, der wiederum die freigegebenen Ports braucht (31400-31409). Deshalb der "Umweg" per Wireguard auf den VServer bei Ionos um über die fixe IP die Ports forwarden zu können.
Setup Server::
Auf dem Ionos Server sind die Ports 31400-31409 freigegeben.
Folgendes Routing:
Wireguard "server"
Die wg0.conf:
Client::
Win10Pc als VM in Proxmox 8.2.3
Firewall der VM mit Portfreigabe (denke unnötig?)
Windows Firewall 10 Ports für ein- und ausgehenden Verkehr freigegeben
Wireguard client1 läuft
Die client1.conf:
Docker in der Standardkonfiguration. WSL unter Windows installiert.
Die App und der Docker container laufen, aber das Portforwarding funktioniert nicht:
Manchmal kommt ein connect zustande, aber die Portnummern passen nie. Es sind zwei verschiedene Versuche, daher die unterschiedlichen PID.
Ich habe leider nur begrenzt Ahnung von der Materie. Daher haben meine bisherigen Lösungsversuche bedauerlicherweise nichts gebracht. Ich vermute, das Ganze hängt am ehesten mit der Routing Tabelle auf dem VServer zusammen. Die habe ich auch nur kopiert und kann nicht sicher sagen, ob das alles so korrekt ist.
Bin für jeden Tipp dankbar!
Ich brauche mal Hilfe bei einem Portforwarding. Ehrlicherweise bin ich nicht sicher, ob das Problem mit der Virtualisierung zusammenhängt. Vielleicht hat trotzdem jemand eine Idee. Ich sitze schon seit fast zwei Wochen dran, bekomme es aber einfach nicht ans Laufen.
Vorbemerkung:
Ich habe einen DSlite Anschluss weshalb ich leider so ohne Weiteres keine Ports freigeben kann. Daher habe ich bei Inos einen VServer gemietet.
Aufgabe
Die App (PINode), die ich benutzen möchte, läuft unter Windows und benutzt Docker, um in einem Container einen Task laufen zu lassen, der wiederum die freigegebenen Ports braucht (31400-31409). Deshalb der "Umweg" per Wireguard auf den VServer bei Ionos um über die fixe IP die Ports forwarden zu können.
Setup Server::
Auf dem Ionos Server sind die Ports 31400-31409 freigegeben.
Folgendes Routing:
Bash:
#!/bin/bash
echo "###################"
echo "Erstelle IPTables INPUT Regeln"
echo "###################"
iptables -A INPUT -i ens6 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i ens6 -p udp --dport 51820 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -P INPUT DROP
echo "###################"
echo "Erstelle IPTables NAT Regeln"
echo "###################"
iptables -t nat -A PREROUTING -i ens6 -p tcp -m multiport --dport 31400,31401,31402,31403,31404,31405,31406,31407,31408,31409 -j DNAT --to-destination 192.168.200.2
iptables -t nat -A POSTROUTING -o wg0 -p tcp -m multiport --dport 31400,31401,31402,31403,31404,31405,31406,31407,31408,31409 -d 192.168.200.2 -j SNAT --to-source 192.168.200.1
echo "###################"
echo "Erstelle Forward Regeln"
echo "###################"
iptables -P FORWARD DROP
iptables -A FORWARD -i ens6 -o wg0 -p tcp -m multiport --dport 31400,31401,31402,31403,31404,31405,31406,31407,31408,31409 -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
Wireguard "server"
Die wg0.conf:
Code:
[Interface]
Address = 192.168.200.1/24
ListenPort = 51820
PrivateKey =
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens6 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens6 -j MASQUERADE
# Client1
[Peer]
PublicKey =
AllowedIPs = 192.168.200.2/32
Client::
Win10Pc als VM in Proxmox 8.2.3
Firewall der VM mit Portfreigabe (denke unnötig?)
Windows Firewall 10 Ports für ein- und ausgehenden Verkehr freigegeben
Wireguard client1 läuft
Die client1.conf:
Code:
[Interface]
PrivateKey =
Address = 192.168.200.2
DNS = 8.8.8.8
[Peer]
PublicKey =
Endpoint = Meine.Ionos.Server.IP
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25
Die App und der Docker container laufen, aber das Portforwarding funktioniert nicht:
Manchmal kommt ein connect zustande, aber die Portnummern passen nie. Es sind zwei verschiedene Versuche, daher die unterschiedlichen PID.
Ich habe leider nur begrenzt Ahnung von der Materie. Daher haben meine bisherigen Lösungsversuche bedauerlicherweise nichts gebracht. Ich vermute, das Ganze hängt am ehesten mit der Routing Tabelle auf dem VServer zusammen. Die habe ich auch nur kopiert und kann nicht sicher sagen, ob das alles so korrekt ist.
Bin für jeden Tipp dankbar!