[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