[FUG-BR] IPTABLES + NAT + PREROUTING + ETH0 ETH0:1 - Ajuda!

Breno BF breno em lagosnet.com.br
Quinta Julho 31 10:58:16 BRT 2008


----- Original Message ----- 
From: "Ygor Thomaz" <ygorth em gmail.com>
To: "Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)" 
<freebsd em fug.com.br>
Sent: Wednesday, July 30, 2008 2:43 PM
Subject: [FUG-BR] IPTABLES + NAT + PREROUTING + ETH0 ETH0:1 - Ajuda!


>Saudações pessoal,
>
>sou novato na lista e dei uma lida em muito material legal antes de 
>mandar
>esta pergunta. Minha duvida é a seguinte, segue meu script:
>
># rc.firewall
>ETH_INET=eth0 # Interface ligada a Internet
>ETH_DMZ=eth1 # Interface ligada a rede DMZ
>IP_INET3=XXX.162.122.104/32 # Endereco IP da interface externa (alias
>eth0:2)
>IP_DMZ=192.168.100.1/32 # Endereco IP da interface DMZ
>
>#----------- Definicao das Politicas de Acesso -------------------#
>iptables -P FORWARD DROP
>iptables -P INPUT DROP
>iptables -P OUTPUT DROP
>
># Servicos disponibilizados por servidores DMZ (CRIO UMA CHAIN)
>iptables -N Serv_DMZ
>iptables -A Serv_DMZ -m multiport -p tcp --dport 80,443 -j ACCEPT
>iptables -A Serv_DMZ -j DROP
>iptables -A FORWARD -o ${ETH_DMZ} -d ${IP_DMZ} -j Serv_DMZ

>iptables -t nat -A PREROUTING -p TCP -i ${ETH_INET} -d 
>${IP_INET3} --dport
>80 -j DNAT --to-destination 192.168.100.4:80
>iptables -t nat -A PREROUTING -p TCP -i ${ETH_INET} -d 
>${IP_INET3} --dport
>80 -j DNAT --to-destination 192.168.100.4:443
>
># FIM DESCULPEM O TAMANHO!
>
>Diante do script acima gostaria de saber se consigo disponibilizar o 
>serviço
>que esta na DMZ. O caminho seria:
>INTERNET -> ETH0:2 XXX.162.122.104 -> 192.168.100.4:80 (ONDE ESTA O 
>SERVIDOR
>WEB COM GATEWAY PRO FIREWALL)
>
>É preciso adicionar estas linhas:
>
>echo 1 > /proc/sys/net/ipv4/ip_forward
>modprobe iptable_nat
>??

Olá Ygor!
    Olha, você terá sim que adicionar a linha 'echo 1 > 
/proc/sys/net/ipv4/ip_forward', pois ela (obviamente) 'acionará' o 
forward.
    Quanto às regras, estão certinhas exceto pela que faz o 
redirecionamento de https, acredito que você tenha colado por engano. 
O correto seria:
    #iptables -t nat -A PREROUTING -p TCP -i ${ETH_INET} -d 
${IP_INET3} --dport 443 -j DNAT --to-destination 192.168.100.4:443
    Outra coisa, é que o parm "-d ${IP_INET3}" pode ser omitido, uma 
vez que qualquer coisa que chegar (in) na eth0 virá com destino 
$IP_INET3.
    Fiquei meio na dúvida, se precisaria ser feito um "caminho de 
volta". Achei uma thread[1] na lista netfilter que fala sobre isso, dá 
uma olhada depois.

[1] - 
http://lists.netfilter.org/pipermail/netfilter/2002-July/036620.html

    Ah, e não se esqueça, use no Subject "OFF-TOPIC" para assuntos 
como este.

[]'s
BReno BF
 



Mais detalhes sobre a lista de discussão freebsd