Faça como segue:

Crie variaveis para ficar mais facil para gerenciar:
        IPT='/sbin/iptables'            # Define o caminho padrao para o binario
        INT_EXT='eth0'                  # Interface de rede Externa Internet
        INT_LOC='eth1'                  # Interface de rede da Rede Local
        UP_PORTS='1024:65535'           # Define numero de portas acima de 1024
# Enderecos que podem conectar-se a sites FTP.
        FTP_ACCEPT="192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 192.168.0.6 
192.168.0.9 192.168.0.11 192.168.0.34 192.168.0.91 192.168.0.9
5 192.168.0.150"

# Enderecos que podem conectar-se a internet diretamente.
        HTTP_ACCEPT="192.168.0.2 192.168.0.3 192.168.0.4 192.168.0.5 
192.168.0.6 192.168.0.9 192.168.0.11 192.168.0.34 192.168.0.52 192.168.0.150"

# Declaracoes de Range IP de rede
        LAN_RANGE="192.168.0.0/24"      # Rede de Padrao


# Habilitando Redirecionamento de pacotes (IP forwarding)
   echo 1 > /proc/sys/net/ipv4/ip_forward

# Bloqueia solicitacoes de entrada, saida e passantes por padrao.
# Tabela filter
        $IPT -t filter -P INPUT DROP
        $IPT -t filter -P OUTPUT DROP
        $IPT -t filter -P FORWARD DROP

# Ativando o mascaramento da rede interna.
# Com isso tudo que sair para internet saira com o endereco externo.
# Permitindo que todas as maquinas da rede local naveguem na internet.
        $IPT -t nat -A POSTROUTING -s $LAN_RANGE -o $INT_EXT -j SNAT --to 
200.XXX.XXX.XXX

#INPUT
 # Gera log de todo trafego entrante.
        $IPT -t filter -A INPUT -m state --state NEW,ESTABLISHED,RELATED -j LOG

# Aceita conexoes originadas na rede local.
        $IPT -t filter -A INPUT -s $LAN_RANGE -m state --state 
NEW,RELATED,ESTABLISHED -j ACCEPT

#FORWARD
# Permite a passagem de alguns tipos de ping e limita por causa do ping da 
morte.
# apenas de dentro para fora da rede.
        $IPT -t filter -A FORWARD -s $LAN_RANGE -i $INT_LOC -o $INT_EXT -p icmp 
-m limit --limit 1/s -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
        $IPT -t filter -A FORWARD -d $LAN_RANGE -i $INT_EXT -o $INT_LOC -p icmp 
-m limit --limit 1/s -m state --state RELATED,ESTABLISHED -j ACCEPT

# Permissao de acesso a sites e servidores FTP.
for FTP in ${FTP_ACCEPT};do
        $IPT -t filter -A FORWARD -s ${FTP} -i $INT_LOC -o $INT_EXT -m 
multiport -p tcp --dport 20,21 -m state --state NEW,RELATED,ESTABLISHED  -j 
ACCEPT
        $IPT -t filter -A FORWARD -s ${FTP} -i $INT_LOC -o $INT_EXT -p tcp 
--sport $UP_PORTS --dport $UP_PORTS -m state --state NEW,RELATED,ESTABLISHED -j 
ACCEPT
        $IPT -t filter -A FORWARD -d ${FTP} -i $INT_EXT -o $INT_LOC -m state 
--state ESTABLISHED,RELATED -j ACCEPT
done

# Permissao de acesso a servidores HTTP diretamente
for HTTP in ${HTTP_ACCEPT};do
        $IPT -t filter -A FORWARD -s ${HTTP} -i $INT_LOC -o $INT_EXT -m 
multiport -p tcp --dport 80,8080,443 -m state --state NEW,RELATED,ESTABLISHED 
-j ACCEPT
        $IPT -t filter -A FORWARD -d ${HTTP} -i $INT_EXT -o $INT_LOC -m 
multiport -p tcp --sport 80,8080,443 -m state --state ESTABLISHED,RELATED -j 
ACCEPT
done

Como voce bloqueou todos os acessos voce deve permitir em todas as chains 
(input, forward e output) cada servico que deseja acessar, portanto siga o 
exemplo das liberacoes de http e ftp para o forward e crie regras para permitir 
o mesmo no input e output, caso contrario o seu firewall nao conseguira acessar 
estes servicos. E lembre-se o protocolo TCP e como se fosse uma via de mao 
dupla, se voce libera a entrada tem que liberar a saida em cada uma das chains.

Qualquer coisa posta ai!

Falou

--------------------------------------
 -   -    Claudio Rocha de Jesus
|.|-|.| Analista de Suporte Tecnico
   -    [EMAIL PROTECTED]
         Linux user number 433834
--------------------------------------

----- Mensagem original ----
De: Carlos Alberto <[EMAIL PROTECTED]>
Para: [EMAIL PROTECTED]; [EMAIL PROTECTED]; Lista Debian 
<debian-user-portuguese@lists.debian.org>
Enviadas: Quarta-feira, 23 de Maio de 2007 4:57:09
Assunto: iptables com nat

Pessoal, gostaria de só liberar a net, http, ftp e o msn, através de nat, ja 
tentei de
tudo. Estou liberando tudo por nat. Como faço? segue abaixo o que fiz no 
iptables...:


#!/bin/bash

## Apaga quaisquer regras que por ventura existam
iptables -F

#### Regras de policiamento ####

## bloqueia qualquer pacote que não seja explicitament permitio
iptables -P INPUT DROP

iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#### INPUT ####

## Permite acesso a interface loopback
iptables -A INPUT -i lo -j ACCEPT

## Permite apenas entrada das respostas as conexões desaida

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

## Aceita conexoes ICMP com limite de conexoes por minuto

iptables -A INPUT -p icmp -m limit --limit 3/m --limit-burst 3 -j ACCEPT

## Liberar a porta do ssh
iptables -A INPUT -p tcp -s 
192.168.0.24  --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 
192.168.0.159 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 
192.168.0.150 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 
192.168.0.148 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.0.115 --dport 22 -j ACCEPT

## Registra nos logs do sistema pacotes bloqueados, estes são marcados com  
prefixo Firewall: 

iptables -A INPUT -j LOG --log-prefix "Firewall: "

#### OUTPUT ####

## Permite que o servidor acesse outras maquinas
iptables -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT




### FORWARD ### 

# Connection tracking (aceita pacotes para conexoes já estabelecidas)

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

## Redireciona dados de eth0 para eth1
iptables -A FORWARD -s 
192.168.0.159 -o eth1 -j ACCEPT  
iptables -A FORWARD -s 192.168.0.24 -o eth1 -j ACCEPT  

iptables -A FORWARD -s 192.168.0.148 -o eth1 -j ACCEPT 
iptables -A FORWARD -s 
192.168.0.115 -o eth1 -j ACCEPT
iptables -A FORWARD -s 
192.168.0.150 -o eth1 -j ACCEPT

#### POSTROUTING ####

## Compartilhamento da internet
iptables -t nat -A POSTROUTING -s 
192.168.0.0/24 -o eth1 -p tcp -j SNAT --to 
192.168.2.97
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -p udp -j SNAT --to 
192.168.2.97

### Ativa o modulo responsavel pelo encaminhamento de pacotes ###

echo 1 > /proc/sys/net/ipv4/ip_forward

-- 
Cumprimentos
Carlos Alberto Mota Castro (Maranhão)
Estudante de Engenharia Elétrica
UNESP - FEIS - Ilha Solteira
Usuário GNU/Linux





__________________________________________________
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 

Responder a