DNAT для подключения подсети через прокси к интернету
DNAT для подключения подсети через прокси к интернету
Я хочу подключить сервер в подсети к интернету через прокси-сервер. Но я не могу пинговать хост в интернете (www). На самом деле подсеть-сервер и прокси-сервер совместно используют общий выделенный сервер (виртуализация с помощью докера). Есть две сетевые карты (eth0 для прокси-сервера и t39 для подсети-сервера). Таким образом, общая схема выглядит следующим образом:
Интернет <==> 171.16.0.39 | 191.167.1.1 <==> 191.167.1.2
191.167.1.2 - внутренний адрес подсети-сервера, 171.16.0.39 - внешний адрес и 191.167.1.1 - внутренний адрес прокси-сервера.
Сначала я установил статический маршрут на подсети-сервере с помощью:ip route add 171.16.0.39 via 191.167.1.1
Вопрос 1: Нужно ли дополнительно явно определять шлюз по умолчанию, как этот? route add default gw 191.167.1.1 eth0
Или выбор внешнего адреса будет правильным подходом?
Затем я установил маскарад в iptable прокси-сервера:iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Теперь можно пропинговать с подсети-сервера на прокси-сервер. Но я не могу пинговать с прокси-сервера в интернет (например, 8.8.8.8).
Чтобы решить мою проблему, я также рассматриваю возможность установки DNAT примерно так (на прокси-сервере):iptables -t nat -A PREROUTING -d 171.16.0.39 -j DNAT --to-destination 191.167.1.2
Но не решает мои проблемы. Я все еще не могу пропинговать от подсети-сервера до Интернета.
Вопрос 3: Нужно ли настраивать DNAT вместе с MASQUERADE для проверки связи с Интернетом? Если так, я выбрал не тот адрес?
Наконец, я услышал, что SNAT не требуется при наличии конфигурации MASQUERADE.
Вопрос 4: Желательно ли настроить SNAT, даже если я уже установил MASQUERADE?
Я действительно запутался, как справиться с этим. Хотя это, кажется, довольно распространенная конфигурация, мое исследование Google в течение последних нескольких дней не приблизило меня к решению проблемы.
У кого-нибудь есть какие-нибудь намеки относительно моих вопросов?
1 ответ
Итак, я исправил проблему:
Как я уже догадался, мне нужно было установить отдельную запись шлюза 191.167.1.2 с помощью:route add default gw 191.167.1.1
Теперь я подключил подсеть-сервер к www через прокси, пока MASQUERADE активен.