[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: