NAT IP externo para o servidor local usando iptables

1

Eu tenho uma conexão adsl com IP estático (digamos 1.1.1.1). Meu firewall debian conecta a Internet com o ppp e o IP é atribuído ao firewall diretamente; ppp0 Link encap:Point-to-Point Protocol inet addr:1.1.1.1 P-t-P:<IP-DOES-NOT-MATTER> Mask:255.255.255.255

Estou usando o debian como um firewall / roteador e NAT meus clientes locais para a Internet usando um script básico do iptables; iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADE iptables --append FORWARD --in-interface eth1 -j ACCEPT echo 1 > /proc/sys/net/ipv4/ip_forward

Eu criei um registro de subdomínio para meu domínio hospedado externamente: sub.example.com IN A 1.1.1.1

Eu posso DNAT conexões http da Internet para o meu servidor local com o iptables: iptables --table nat --append PREROUTING -i ppp0 --dest 1.1.1.1 -p tcp --dport 80 -j DNAT --to 192.168.1.101:80

Eu também quero que meus clientes locais acessem sub.example.com sem qualquer configuração adicional.

Os comandos iptables eu tentei no firewall (que não funcionou): %código% e iptables --table nat --append PREROUTING --in-interface eth1 --dest 1.1.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.101:80

Primeiro comando roteado pacotes para o servidor, mas eu não recebi uma resposta (1.1.1.1 não configurado no servidor). O segundo não fez nada.

Existe uma maneira de fazer isso com o iptables?

    
por nano.net.tr 04.03.2015 / 23:10

1 resposta

0

Após a resposta de @ wurtel, usei DNAT e SNAT juntos e funcionou. Obrigado por isso:)

Os comandos são: iptables --table nat --append PREROUTING --in-interface eth1 --dest 1.1.1.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.101:80 iptables --table nat --append POSTROUTING --out-interface eth1 -source 192.168.1.0/24 --dest 192.168.1.101 -p tcp --dport 80 -j SNAT --to-source 192.168.1.1

    
por 05.03.2015 / 13:51

Tags