Eu tenho um roteador Linux simples com vários NICs e encaminhamento IPv4 habilitado.
O roteador possui dois endereços IP WAN estáticos, atribuídos a uma interface ( eth0
, eth0:0
). (No texto a seguir, ofuscarei os endereços IP públicos reais (257 como um octeto).)
O roteador pode receber ping em ambos os endereços IP WAN externos da Internet externa.
Interfaces:
eth0
: Conexão com a Internet, 134.257.10. 24/10 , gateway 134.257.10.1eth0:0
: Segundo endereço IP nessa interface: 134.257.10. 20/24 _eth1
: LAN 1, 192.168.1.1/24eth2
: LAN2, 192.168.2.1/24eth3
: LAN 3, 192.168.3.1/24
Minha configuração funciona e todos os clientes LAN (LAN 1-3) podem acessar a Internet e são vistos externamente como 134.257.10. 10 . Além disso, tenho dois encaminhamentos de porta de entrada.
Minha tabela NAT do iptables é assim:
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
# Port forwarding:
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.10:80
-A PREROUTING -i eth0:0 -p tcp -m tcp --dport 25 -j DNAT --to-destination 192.168.3.33:25
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
Como posso fazer com que os clientes LAN3 ( eth3
) apareçam como 134.257.10. 20 na Internet ( eth0:0
) para conexões de saída em vez de 134.257.10. 10 ( eth0
)?