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