Я настраиваю систему из серверов приложений и баз данных, работающих в частной локальной сети. Доступ к серверам приложений осуществляется через HTTP-сервер обратного прокси Nginx, а доступ к серверам баз данных осуществляется через TCP HAproxy. И Nginx, и HAproxy работают на одном и том же хосте Ubuntu.
Серверы приложений и баз данных должны быть подключены к Интернету для обновления и установки программного обеспечения из репозиториев.
Единственная машина, которая может подключиться к Интернету, это та, которая работает как хост прокси-сервера. У нее есть две сетевые карты, одна для публичного IP, а другая для частного IP. Этот же прокси-сервер также запускает брандмауэр UFW для защиты установки от внешних угроз.
Я очень хорошо знаю, как настроить Nginx и HAproxy для функций прокси. Я знаю, как настроить брандмауэр UFW для фильтрации приложений, а такженастройка подключений NAT.
Головоломка в том, как изолировать соединения, предназначенные для прокси-приложений, от тех интернет-соединений, которые ищут соединения, исходящие из частного сегмента. Не будет ли брандмауэр блокировать соединения NAT или не будут ли прокси-соединения в конечном итоге маршрутизироваться?
Как объединить функцию NAT с функциями прокси без помех?