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
Please also mark the comments that contributed to the solution of the article
Content-Key: 348729
Url: https://administrator.de/contentid/348729
Printed on: April 26, 2024 at 18:04 o'clock
3 Comments
Latest comment
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