Hallo,
vielleicht hat hier jemand eine Idee. Ich komme nicht mehr weiter. Deshalb, hier sind die Netzwerk (iptables) Experten gefragt!
Ich habe meinen Home-Server über VPN mit meinem Internet-Server (eigene public IP + Domain) verbunden und das Routing klappt einwandfrei!
Code:
Internet-Server -> VPN -> Home-Server
public IP xxx.xxx.xxx.xxx -> private Net 192.168.1.0/24 -> WAN VPN IP 192.168.1.20 / LAN IP 192.168.5.20
Dieses funktioniert ohne Probleme schon lange und das ist auch nicht mein Problem.
Der Home-Server liegt hier auch noch mit einem anderem Server in einem LAN (Net 192.168.5.0/24) und ich will jetzt vom Home-Server einen Port (80) auf den im LAN liegenden Server weiter leiten. Soweit so gut, dachte ich!
Also einfach per DNAT/SNAT den Port (80) vom Home-Server (WAN IP 192.168.1.20 / LAN IP 192.168.5.20) auf den anderen Server (IP 192.168.5.25) geroutet. IP Forwarding ist auf dem Home-Server aktiviert und die Pakete werden auch weiter geleitet!
Code:
Chain PREROUTING (policy ACCEPT 6554 packets, 660548 bytes)
pkts bytes target prot opt in out source destination
16 960 DNAT tcp -- * * 0.0.0.0/0 192.168.1.20 tcp dpt:80 to:192.168.5.25
Auf dem Server im LAN (IP 192.168.5.25) kommen die Pakete auch an (per tcpdump getestet), aber in tcpdump wird als Absender IP die IP des original Clients aus dem Internet angezeigt!
Dies dürfte ja eigentlich nicht sein, denn durch das DNAT müsste auf dem Ziel-Server im LAN (IP 192.168.5.25) die Absender IP des Home-Server (IP 192.168.5.20) erscheinen.
Aber irgend wo läuft da etwas falsch und DNAT funktioniert in dem Fall nicht mehr.
Hat jemand eine Idee, wo mein Denkfehler liegen könnte?
Danke!
Gruß
Robert
EDIT:
Hat sich gerade von selber erledigt. Bin auf die Lösung gekommen. SNAT scheint nicht funktioniert zu haben, also habe ich es mit MASQUERADE für Port 80 probiert und siehe da, es klappt!
Lesezeichen