Olá!
O IP de destino é o IP externo e não o interno no PREROUTING.
iptables -A PREROUTING -i eth0 -s 192.168.10.0/24 -d
<ip_externo> --dport 80 -m state --state NEW,ESTABLISHED,RELATED -J DNAT
--to 192.168.10.29:80
Outra alternativa é trabalhar com views no DNS, assim para quem
acessar o DNS de fora vai dar o IP externo e para quem for de dentro vai
dar o IP interno.
--
[]'s
Junior Polegato
Em 22-07-2014 16:07, Joao Arthur escreveu:
Ricardo, veja se da certo:
iptables -t nat -A PREROUTING -i eth0 -p tcp -d 192.168.10.29 --dport
80 -j DNAT --to 192.168.10.29
iptables -A FORWARD -p tcp --dport 80 -d 192.168.10.29 -j ACCEPT
João Arthur
------------------------------------------------------------------------
Date: Tue, 22 Jul 2014 11:22:54 -0700
From: [email protected]
Subject: Iptables
To: [email protected]
Meus amigos, boa tarde.
Preciso fazer uma determinada manobra com o iptables e gostaria da
ajuda de vocês.
Na minha rede local, existe uma máquina que precisa ser acessada por
outras máquinas da mesma rede local passando pelo firewall.
O que fiz até agora foi:
Cadastrei no DNS da rede local o nome e IP (ip externo) deste servidor.
Assim, todas as máquinas da rede local que quiserem acessar este
servidor, terão que resolver o nome e terão como resposta da resolução
o IP externo.
Assim, como se trata de um IP externo, terão que passar pelo firewall.
No firewall eu coloquei uma regra na PREROUTING dizendo que tudo que
chegar da rede local, com destino ao IP externo e na porta 80 deverá
ser redirecionado ao IP interno do servidor na porta 80.
Vejam a regra como ficou:
Rede Local: 192.168.0.0/24
IP interno do servidor que deverá ser acessoado: 192.168.10.29 porta 80
iptables -A PREROUTING -i eth0 -s 192.168.10.0/24 -d 192.168.10.29
--dport 80 -m state --state NEW,ESTABLISHED,RELATED -J DNAT --to
192.168.10.29:80
Sei que é um pouco estranho uma máquina da rede local ter que ir no
firewall para acessar uma máquina que faz parte do mesmo range/segmento.
Mas gostaria de fazer assim por conta de alguns motivos.
Essa seria a melhor solução?
Está faltando alguma regra de retorno?
Esta faltando alguma regra na FOWARD?
Obrigado pela ajuda
Atenciosamente,
Ricardo