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