трансляция адресов firewalld и localhost

трансляция адресов firewalld и localhost

У меня есть сервер с Red Hat 7.1, который имеет два IP-адреса: публичный, доступный в Интернете на интерфейсе bond1, и частный в корпоративной локальной сети на интерфейсе bond0.

У меня есть Apache 2.4, предлагающий веб-страницы в Интернете, и обратный прокси-сервер, настроенный на нем для пересылки некоторых запросов на сервер Tomcat, работающий на той же машине. На этом сервере Tomcat запущены два приложения, и одно из них принимает соединения только с 127.0.0.1, и эти запросы обычно поступают от другого приложения Tomcat.

Проблема в том, что запросы, которые одно приложение tomcat делает другим, получают частный IP-адрес (тот, что на bond0) и, таким образом, отклоняются tomcat (код ошибки 403). Если я отключаю firewalld с помощью systemctl stop firewalld, все работает так, как и ожидалось.

Я знаю, что адрес преобразуется из 127.0.0.1 в 172.30.xx.xx, потому что я вижу это в логах Tomcat.

Теперь я не могу ничего изменить на стороне tomcat, я просто хочу узнать, кто и зачем переводит этот адрес, и исправить это.

Спасибо.

решение1

Для тех из вас, кто сюда приходит, это был маскарад.

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

и это работает.

Зона public, поскольку конфигурация, описанная в вопросе, не была активной, и bond0 и both1 были добавлены в зону public

Связанный контент