Re: Problemas no NAT.
Esse teu script de firewall não é um firewall, só tem NAT. abaixo tem um
esqueleto de uma solução mais completa.
Não precisa daqueles "modprobes", o linux 2.6 consegue carregar os
módulos sozinho quando necessário.
# Políticas globais
$IPT -t filter -P OUTPUT DROP
$IPT -t filter -P INPUT DROP
$IPT -t filter -P FORWARD DROP
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
# Tráfego local
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
# Rede local (LAN)
$IPT -A INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT
$IPT -A OUTPUT -o eth0 -d 192.168.1.0/24 -j ACCEPT
# Pacotes inválidos (coloca no início pra barrar lixo/spoofing/etc)
$IPT -A INPUT -p tcp -i ppp0 -m conntrack --ctstate INVALID -j DROP
# Conexões estabelecidas
$IPT -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Regras para conexões locais
$IPT -A INPUT -p tcp -i ppp0 --dport <porta_tcp> -j ACCEPT
... mais regras
$IPT -A OUTPUT -p tcp -o ppp0 --dport <porta_tcp> -j ACCEPT
... mais regras
[ repete para UDP ]
# Conexões que atravessam o Proxy
$IPT -A FORWARD -p tcp -s 192.168.1.0/24 -o ppp0 --dport [porta_tcp] -j
ACCEPT
... mais regras
[ repete para UDP ]
# Alguns ICMPs devem ser permitidos
$IPT -A FORWARD -p icmp --icmp-type echo-reply -i ppp0 -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type echo-request -i ppp0 -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type destination-unreachable -i ppp0 -j
ACCEPT
$IPT -A FORWARD -p icmp --icmp-type parameter-problem -i ppp0 -j ACCEPT
$IPT -A FORWARD -p icmp --icmp-type source-quench -i ppp0 -j ACCEPT
$IPT -A OUTPUT -p icmp --icmp-type all -o ppp0 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type echo-reply -i ppp0 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type echo-request -i ppp0 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type destination-unreachable -i ppp0 -j
ACCEPT
$IPT -A INPUT -p icmp --icmp-type parameter-problem -i ppp0 -j ACCEPT
$IPT -A INPUT -p icmp --icmp-type source-quench -i ppp0 -j ACCEPT
# NAT
$IPT -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
# DNAT
... mais regras
# Rejeita pacotes não autorizados
${IPTABLES} -A INPUT -j REJECT
${IPTABLES} -A OUTPUT -j REJECT
${IPTABLES} -A FORWARD -j REJECT
Em Qua, 2006-05-10 às 22:30 -0300, Diorgenes Mello escreveu:
> Senhores e senhoras,
> Estou com o seguinte problema:
>
> - O servidor conecta na internet (adsl) NORMAL
> - Eu rodo meu script de firewall NORMAL
> - das maquinas internas eu consigo pingar qualquer site. NORMAL
> - das maquinas internas eu consigo fazer ftp para qualser site. NORMAL
> - algums sites não me retornam as pastas quando dou um ls no FTP BICHEIRA
> - no browser quando deixo a configuração sem o proxy só acesso alguns
> sites BICHEIRA
> - sem proxy o google abre normalmente
> - sem proxy o hotmail não abre, nem mais um monte de sites...
> meu script de firewall:
> #!/bin/sh
> IPT=/sbin/iptables
> modprobe iptable_filter
> modprobe iptable_nat
> modprobe iptable_raw
> modprobe ipt_conntrack
> modprobe ipt_MASQUERADE
> modprobe ip_nat_ftp
> modprobe ip_tables
> modprobe ip_conntrack_ftp
>
> $IPT -F
> $IPT -F -t nat
> $IPT -t nat -A POSTROUTING -s 192.168.0.161 -o ppp0 -j MASQUERADE
> $IPT -t nat -A POSTROUTING -s 192.168.0.162 -o ppp0 -j MASQUERADE
> $IPT -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
>
> Alguem tem alguma idéia?????
>
--
Alexsander Silva de Souza
asouza@inf.ufrgs.br
Engenharia de Computação/UFRGS
Reply to: