Meu roteador baseado em Linux possui 5 portas Ethernet. Atualmente atua como um roteador entre as portas 1 e 2 e a porta WAN dedicada, sem NAT. A porta 1 é 192.168.1.1/24, a porta 2 é 192.168.2.1/24, a porta WAN é 192.168.0.1/24.
A conexão WAN de saída passa por um dispositivo de registro que monitora o uso, depois passa por um segundo roteador doméstico que faz NAT e usa um IP público em sua porta WAN.
Para simplificar, a rede é a seguinte, com o prefixo IP 192.168.-:
server1--------Router1--------Logging device--------Router2----------
.1.2 .1.1 .0.1 .0.254 (public ip)
A configuração do roteador1 funciona bem (é um roteador simples), e o roteador2 também (é um gateway simples). No entanto, gostaria de remover o Router2 e fazer meu NAT entre as portas 3 e 4 do Router1, com a porta4 usando meu IP público real.
Isso seria viável? Gostaria de manter um isolamento estrito entre as portas 1-2-WAN e 3-4, para garantir que todo o tráfego passe pelo dispositivo de registro (com seu endereço IP de origem original).
A ponte transparente seria a solução? Posso aplicar o NAT de origem a esta ponte? O endereçamento IP está bem feito?
Responder1
Supondo que suas 5 portas Ethernet no roteador1 sejam denominadas eth0 - eth4, portanto, tenha a WAN na eth3:
iptables -t nat -A POSTROUTING --source 192.168.1.0/24 --out-interface eth3 -j MASQUERADE
iptables -t nat -A POSTROUTING --source 192.168.2.0/24 --out-interface eth3 -j MASQUERADE
Se você tiver um IP fixo como endereço IP público, substitua "-j MASQUERADE" por "-j SNAT --to-source $PUBLIC_IP" (é claro, substitua $PUBLIC_IP pelo seu endereço WAN!).
É claro que você precisará definir sua rota padrão para eth3, mas isso não fazia parte da questão. Você também desejará proteger o tráfego de entrada no endereço IP público.