Hi,
ich habe einen Router, im localen Netz (192.168.5.x) einen Heimserver und auf dem Server mehrere VMs (über kvm) in einem internen Netz (192.168.122.x).
Nun möchte ich eine VM (192.168.122.153) über openVPN per NAT erreichen können. Dazu habe ich folgende iptables Regeln aufgestellt:
Normalerweise gehe ich mit dem PC über ein tap interface rein, für mein Handy brauche ich allerdings das tun interface und komme dann ins netz 10.135.28.x
Von meinem PC im lokalen Netz (192.168.5.3) klappt beides, per tun und per tap, wenn ich mich über lokal anmelde. Von außerhalb über dynDNS komme ich jedoch nicht rein. Im Router stehen die netsprechenden PortForward Regeln, damit anfragen auf port 25908 an mein Server weitergereicht werden, der dann nach oben stehenden NAT Regeln an die VM weiterreichen soll.
Ich kenne mich mit NAT leider noch nicht so aus, denke jedoch, dass es daran liegen muss. Kann ich sein das noch eine sourceNAT Regel rein muss? Wie müsste die heißen? destinationNAT kann ich mir vorstellen, alle Pakete an der Server, mit dem Zielport 25908 werden so modifiziert, dass die Zieladresse in die der VM umgeschrieben wird. Aber destinationNAT kann ich nicht mehr durchsteigen. Von den Paketen die zurückkommen weiß ich doch weder den Ursprungsport , noch den Zielport noch die Zieladresse. Wie kann ich die also in meiner Regel identifizieren?
Vielen Dank für eure Hilfe
ich habe einen Router, im localen Netz (192.168.5.x) einen Heimserver und auf dem Server mehrere VMs (über kvm) in einem internen Netz (192.168.122.x).
Nun möchte ich eine VM (192.168.122.153) über openVPN per NAT erreichen können. Dazu habe ich folgende iptables Regeln aufgestellt:
Code:
iptables -A PREROUTING -t nat -p udp -m udp --dport 25908 -j DNAT --to 192.168.122.153:25908
iptables -I FORWARD -p udp -m udp -s 192.168.5.0/24 -d 192.168.122.153 --dport 25908 -j ACCEPT
iptables -I FORWARD -p udp -m udp -s 10.135.28.0/24 -d 192.168.122.153 --dport 25908 -j ACCEPT
iptables -A PREROUTING -t nat -p udp -m udp --dport 26908 -j DNAT --to 192.168.122.153:26908
iptables -I FORWARD -p udp -m udp -s 192.168.5.0/24 -d 192.168.122.153 --dport 26908 -j ACCEPT
iptables -I FORWARD -p udp -m udp -s 10.135.28.0/24 -d 192.168.122.153 --dport 26908 -j ACCEPT
Normalerweise gehe ich mit dem PC über ein tap interface rein, für mein Handy brauche ich allerdings das tun interface und komme dann ins netz 10.135.28.x
Von meinem PC im lokalen Netz (192.168.5.3) klappt beides, per tun und per tap, wenn ich mich über lokal anmelde. Von außerhalb über dynDNS komme ich jedoch nicht rein. Im Router stehen die netsprechenden PortForward Regeln, damit anfragen auf port 25908 an mein Server weitergereicht werden, der dann nach oben stehenden NAT Regeln an die VM weiterreichen soll.
Ich kenne mich mit NAT leider noch nicht so aus, denke jedoch, dass es daran liegen muss. Kann ich sein das noch eine sourceNAT Regel rein muss? Wie müsste die heißen? destinationNAT kann ich mir vorstellen, alle Pakete an der Server, mit dem Zielport 25908 werden so modifiziert, dass die Zieladresse in die der VM umgeschrieben wird. Aber destinationNAT kann ich nicht mehr durchsteigen. Von den Paketen die zurückkommen weiß ich doch weder den Ursprungsport , noch den Zielport noch die Zieladresse. Wie kann ich die also in meiner Regel identifizieren?
Vielen Dank für eure Hilfe