Firewalld- und Localhost-Adressübersetzung

Firewalld- und Localhost-Adressübersetzung

Ich habe einen Server mit Red Hat 7.1, der über zwei IP-Adressen verfügt, eine öffentliche, die im Internet auf der Schnittstelle Bond1 verfügbar ist, und eine private im Firmen-LAN auf der Schnittstelle Bond0.

Ich habe Apache 2.4, das Webseiten im Internet anbietet, und einen darauf konfigurierten Reverse-Proxy, der einige Anfragen an einen Tomcat-Server weiterleitet, der auf derselben Maschine läuft. Auf diesem Tomcat-Server laufen zwei Anwendungen, und eine davon akzeptiert nur Verbindungen von 127.0.0.1, und diese Anfragen kommen normalerweise von der anderen Tomcat-Anwendung.

Das Problem besteht darin, dass die Anfragen, die eine Tomcat-Anwendung an die anderen stellt, die private IP-Adresse (die auf Bond0) erhalten und daher von Tomcat abgelehnt werden (Fehlercode 403). Wenn ich Firewalld mit systemctl stop firewalld deaktiviere, funktioniert alles wie erwartet.

Ich weiß, dass die Adresse von 127.0.0.1 in 172.30.xx.xx übersetzt wird, weil ich es aus den Tomcat-Protokollen sehe.

Jetzt kann ich auf der Tomcat-Seite nichts ändern, ich möchte nur wissen, wer und warum diese Adresse übersetzt und das Problem beheben.

Danke schön.

Antwort1

für diejenigen unter Ihnen, die hierher kommen: es war die Maskerade.

firewall-cmd --zone=public --remove-masquerade

und es funktioniert.

Zone öffentlich, da die in der Frage beschriebene Konfiguration nicht die aktive war und sowohl bond0 als auch both1 zur Zone öffentlich hinzugefügt wurden

verwandte Informationen