Frage zu iptables
Hallo!
Ich habe das Problem, dass mein Provider mit keine fixe IP-Adresse geben will/kann. Da ich meine Daten/Seiten jedoch gerne zuhause hoste, habe ich mir einen vServer gemietet, mit welchen ich via openvpn verbunden bin. Den Traffic, welche am vServer rein kommt, leite ich dann über den vpn-Tunnel auf meinen Web-Server zuhause mit iptables um:
iptables -i ens3 -A FORWARD -j ACCEPT -p tcp --dport 80 --sport 1024:65535 -d $IP_webserver -m state --state NEW
iptables -t nat -A PREROUTING -i ens3 -p tcp --dport 80 -j DNAT --to-destination ${IP_webserver}:${80}
Das ganze funktioniert sehr gut - habe so gut wie keinen Wartungsaufwand. Das Einzige was mich stört ist, dass am Web-Server die IP des openvpn-Interfaces vom vServer am Webserver angezeigt wird und somit keine sinnvollen Auswertungen durchgeführt werden können. Hat zufällig jemand eine Idee dazu, wie ist das lösen kann? Reverse-Proxy ist keine Option, da ich nicht für jede Seite einen zusätzlichen virtualHost am vServer anlegen möchte.
LG. Dextha
Ich habe das Problem, dass mein Provider mit keine fixe IP-Adresse geben will/kann. Da ich meine Daten/Seiten jedoch gerne zuhause hoste, habe ich mir einen vServer gemietet, mit welchen ich via openvpn verbunden bin. Den Traffic, welche am vServer rein kommt, leite ich dann über den vpn-Tunnel auf meinen Web-Server zuhause mit iptables um:
iptables -i ens3 -A FORWARD -j ACCEPT -p tcp --dport 80 --sport 1024:65535 -d $IP_webserver -m state --state NEW
iptables -t nat -A PREROUTING -i ens3 -p tcp --dport 80 -j DNAT --to-destination ${IP_webserver}:${80}
Das ganze funktioniert sehr gut - habe so gut wie keinen Wartungsaufwand. Das Einzige was mich stört ist, dass am Web-Server die IP des openvpn-Interfaces vom vServer am Webserver angezeigt wird und somit keine sinnvollen Auswertungen durchgeführt werden können. Hat zufällig jemand eine Idee dazu, wie ist das lösen kann? Reverse-Proxy ist keine Option, da ich nicht für jede Seite einen zusätzlichen virtualHost am vServer anlegen möchte.
LG. Dextha
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 348729
Url: https://administrator.de/contentid/348729
Ausgedruckt am: 22.11.2024 um 05:11 Uhr
3 Kommentare
Neuester Kommentar
Moin,
du machst nunmal ein NAT - damit _soll_ dein Server ja die IP verschleiern...
Du könntest z.B. gucken ob du ein "X_FORWARD_FOR" siehst, aber eine sichere Methode ist das auch nicht (wird eigentlich eher bei Proxys verwendet). Oder du nimmst das NAT raus... Allerdings: Ich würde einfach an deinem Router zuhause ein Forward einstellen, einen dyn. Hostnamen wählen und einfach darauf re-directen. Das ist auf jeden Fall zuverlässiger als das rum-genatte... Und funktioniert sogar mit HTTPS wenn du dir nen Zertifikat besorgst / selbst erstellst...
du machst nunmal ein NAT - damit _soll_ dein Server ja die IP verschleiern...
Du könntest z.B. gucken ob du ein "X_FORWARD_FOR" siehst, aber eine sichere Methode ist das auch nicht (wird eigentlich eher bei Proxys verwendet). Oder du nimmst das NAT raus... Allerdings: Ich würde einfach an deinem Router zuhause ein Forward einstellen, einen dyn. Hostnamen wählen und einfach darauf re-directen. Das ist auf jeden Fall zuverlässiger als das rum-genatte... Und funktioniert sogar mit HTTPS wenn du dir nen Zertifikat besorgst / selbst erstellst...
Zitat von @Dextha:
iptables -t nat -A PREROUTING -i ens3 -p tcp --dport 80 -j DNAT --to-destination ${IP_webserver}:${80}
iptables -t nat -A PREROUTING -i ens3 -p tcp --dport 80 -j DNAT --to-destination ${IP_webserver}:${80}
Hätte ich jetzt auch in dieser Form eingetragen, ein einfaches "Destionation NAT", in der nur die Ziel-Adresse umgeschrieben wird. Bist Du sicher, das die Quell-IP an deinem vServer umgeschrieben wird?
MfG