ファイアウォールとローカルホストのアドレス変換

ファイアウォールとローカルホストのアドレス変換

私は Red Hat 7.1 を搭載したサーバーを所有しており、このサーバーには 2 つの IP アドレスがあります。1 つはインターネット上のインターフェース bond1 で使用可能なパブリック IP アドレス、もう 1 つは企業 LAN 上のインターフェース bond0 で使用可能なプライベート IP アドレスです。

私はインターネット上で Web ページを提供する Apache 2.4 を持っており、同じマシンで実行されている Tomcat サーバーにいくつかのリクエストを転送するためにリバース プロキシを設定しています。この Tomcat サーバーでは 2 つのアプリケーションが実行されており、そのうちの 1 つは 127.0.0.1 からの接続のみを受け入れ、それらのリクエストは通常​​、他の Tomcat アプリケーションから送信されます。

問題は、1 つの Tomcat アプリケーションが他のアプリケーションに対して行う要求がプライベート IP アドレス (bond0 上のもの) を取得し、その結果 Tomcat によって拒否される (403 エラー コード) ことです。systemctl stop firewalld を使用して firewalld を無効にすると、すべてが期待どおりに動作します。

tomcat ログを見ると、アドレスが 127.0.0.1 から 172.30.xx.xx に変換されていることがわかります。

今のところ、Tomcat 側で何も変更できません。このアドレスを誰が、なぜ変換しているのかを知り、修正したいだけです。

ありがとう。

答え1

ここへ来た人たちにとっては、それは仮装だったのです。

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

そしてそれは機能します。

質問に記載されている構成はアクティブなものではなく、bond0とboth1の両方がゾーンpublicに追加されたため、ゾーンpublicになりました。

関連情報