[Fedora-users-br] Duvidas iptables

Marcos Braga braga em vesle.com.br
Terça Agosto 29 11:43:39 UTC 2006


Adriano escreveu:
> Ola Pessoal! 
>   
Olá...
> Estou com um problema com iptables, e nao consigo resovler. 
> è o Seguinte, preciso criar um proxy transparente mas o meu nao esta 
> funcionando, e tambem preciso redirecionar a porta 23 para o servidor 
> 192.168.0.204 e nao estou conseguindo tb, estou mandando o codigo abaixo, o 
> que pode estar acontecendo, alguem poderia me ajudar??? 
>
> #Inicio 
> #/etc/transp 
>
> #limpando a tabela do iptables 
> iptables -F 
> iptables -X 
> iptables -t nat -F 
> iptables -t nat -X 
>
> #carregando os modulos 
> modprobe iptable_nat 
> modprobe ip_nat_ftp 
> modprobe ipt_REDIRECT 
>
>
> #macarando o acesso a internet 
> echo 1>/proc/sys/net/ipv4/ip_forward 
> iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE 
> iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT 
> --to-port 3128 
>   
Aqui está correto, não entendi porque não está funcionando, talvez seja 
melhor testar com alguém tentando navegar e verificar com iptraf ou nos 
logs do squid.
> #bloqueando ping para rede externa 
> iptables -A INPUT -p icmp -i eth1 -j DROP 
>   
Beleza.
> #Redirecionando o acesso porta 23 ao servidor 
> iptables -t nat -A PREROUTING -i eth0 -p tcp  --dport 23 -j REDIRECT --to 
> 192.168.0.204 
> iptables -i nat -A PREROUTING -i eth1 -p tcp --dport 23 -j DNAT 
> --to-destination 192.168.0.204 
>   
Esse pode ser substituído por algo mais simples (comentado):
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 23 -j DNAT --to 
192.168.0.204:23
#-- DNAT altera o cabeçalho do pacote de origem
# fazendo com que o destino seja o ip informado.
iptables -t nat -A POSTROUTING -d 192.168.0.204 --dport 23 -j MASQUERADE
#-- MASQUERADE, altera o SNAT (source) na saída,
# do pacote, alterando o ip de origem do pacote original
# para o ip da placa de rede a qual está saindo
# (a grosso modo: faz NAT).
# mas não esqueça que esse mascaramento já está definido
# com a primeira regra de postrouting
> #Fim do Script 
>
>
> Obrigado a todos, 
> Abraços 
>
> José Adriano de Lima 
>
> (11) 4591-2236 com. 
> (11) 4592-1351 casa 
> (11) 9839-2338 cel 

Creio que está correto. Dica: O melhor é organizar o script de modo que 
fique mais compreensível, pois está fora de ordem, siga desta maneira.

Não sei se está correto, pois me confundi um pouco, pois não sei qual 
tua necessidade real para as regras.

Tomei a liberade e arrumei, em uma ordem mais legível; testa este e vê 
se funciona.

#-- Inicio 
#/etc/transp 

#limpando a tabela do iptables 
iptables -X 
iptables -F 
iptables -t nat -X 
iptables -t nat -F 

#carregando os modulos 
modprobe iptable_nat 
modprobe ip_nat_ftp 
modprobe ipt_REDIRECT 

# ativando forward (kernel)
echo 1>/proc/sys/net/ipv4/ip_forward 

# direcionando 80 => 3128 (proxy transparente)
iptables -t nat -A PREROUTING -i eth0 \
	-p tcp --dport 80 -j REDIRECT --to-port 3128 
# redirecionando telnet para outro servidor.
iptables -t nat -A PREROUTING -i eth0 -p tcp \
	--dport 23 -j DNAT --to 192.168.0.204 

# bloqueando ping para rede externa 
iptables -A INPUT -p icmp -i eth1 -j DROP 

# nat - tudo que sair por esta placa é mascarado
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE 
#-- Fim do Script --


Não adicionei o mascaramento da porta 23, pois pelo que pude perceber, 
ele está definido para eth1, e já está mascarado pela rede geral de 
mascaramento (última linha).

Qualquer dúvida, posta na lista.

[]'s
Braga




Mais detalhes sobre a lista de discussão br-users