DNAT para conectar uma sub-rede via proxy à internet
Eu quero conectar um servidor em uma sub-rede à Internet através de um servidor proxy. Mas não consigo pingar um host na internet (www).
Na verdade, o servidor de sub-rede e o servidor proxy compartilham um servidor dedicado comum (virtualização com docker). Existem duas placas de rede (eth0 para o servidor proxy e t39 para o servidor subnet). Então, o layout geral é assim:
Internet < == > 171.16.0.39 | 191.167.1.1 < == > 191.167.1.2
191.167.1.2 é o endereço interno do subnet-server, enquanto 171.16.0.39 é o endereço externo e 191.167.1.1 é o endereço interno do servidor proxy.
Primeiro, defini uma rota estática no servidor de sub-rede com:
ip route add 171.16.0.39 via 191.167.1.1
Pergunta 1: Além disso, preciso definir explicitamente um gateway padrão como este?
%código%
Ou escolher o endereço externo seria a abordagem correta?
Então eu configurei uma Masquerade no iptable do servidor proxy:
route add default gw 191.167.1.1 eth0
Agora é possível efetuar ping do servidor de sub-rede para o servidor proxy. Mas não consigo pingar do servidor proxy para a Internet (por exemplo, 8.8.8.8).
Para resolver o meu problema, também considero estabelecer o DNAT um pouco assim (no servidor proxy):
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Mas não resolve meus problemas. Ainda não consigo pingar do servidor de sub-rede para a Internet.
Pergunta 3: Preciso configurar o DNAT em conjunto com o MASQUERADE para fazer ping na Internet? Em caso afirmativo, escolhi o endereço errado?
Finalmente, ouvi dizer que o SNAT não é necessário na presença de uma configuração de MASQUERADE.
Pergunta 4: É aconselhável configurar o SNAT, mesmo que eu já tenha definido o MASQUERADE?
Estou muito confuso, como lidar com isso. Embora pareça ser uma configuração bastante comum, minha pesquisa no Google nos últimos dias não me aproximou mais para resolver o problema.
Alguém tem algumas dicas sobre minhas perguntas?