[FUG-BR] IPFW Rotear Interfaces

Ronielton Rezende Oliveira ronieltonprogramador em yahoo.com.br
Quinta Maio 10 19:32:12 BRT 2007


Amigos,

Estou precisando de uma ajuda. Tenho que reconfigurar uma rede classe C 
utilizando o conceito de DMZ e ao mesmo tempo inserir uma rede classe A na
mesma arquitetura, de maneira que no final terei duas faixas de redes 
validas. Uma Classe A e uma Classe C.

Hoje, o servidor de internet esta configurado na Classe C (192.168.100.1) e 
ligado diretamente na Switch. Aproveitando a remodelagem, irei isolar o
mesmo numa DMZ, de maneira que minha rede possa ficar conforme o diagrama.

http://br.geocities.com/ronieltonprogramador/imagens/esboco_rede.PNG

A rede classe A esta fisicamente conectada (MAN) porem ainda não possuo 
estacoes funcionais. Todos meus clientes estao em Classe C. Futuramente
terei um ambiente misto com clientes em ambas faixas, de maneira que o 
SRV-INTERNET seja o Gateway para ambas redes.

Estou com 2 FreeBSD 6.2 com IPFW compilados no kernel ( FIREWAL-DMZ (4 
interfaces) e SRV-REDE-MAN (3 interfaces) ), porém não estou conseguindo 
criar as regras no firewall para permitir que os pacotes trafeguem entre as 
interfaces de rede, de maneira que a rede interna possa acessar os serviços
isolados na DMZ.

Ainda não tenho as rotas configuradas para a rede 10.122.0.0/21, somente a 
rede 192.168.100.0/24 esta funcionando.

Alguem poderia me dar uma ajuda de como configurar o ipfw para trafegar 
atraves da DMZ???

Segue meu script de regras.

#!/bin/sh

ipfw="/sbin/ipfw -q"

# Enderecos de rede
rede_local="192.168.100.0/24"
rede_man="10.122.0.0/21"
ip_externo_rede_local="192.168.100.x"
ip_interno_rede_local="192.168.100.x"
ip_externo_rede_man="10.122.x.x"
ip_interno_rede_man="10.122.x.x"

# Portas TCP/IP
porta_http="80"
porta_https="443"
porta_dns="53"
porta_rndc="953"
porta_ftp="21"
porta_ssh="22"
porta_smtp="25"
porta_ntp="123"
porta_cvsup="5999"

# Deletar todas as regras
${ipfw} flush

#Bloquear IP-Spoofing
${ipfw} add 5 deny log not verrevpath in

# Liberar todo trafego TCP/IP
#${ipfw} add 10 allow tcp from any to any

# Filtrar pacotes vindos de qualquer lugar para qualquer lugar
#${ipfw} add 30 allow all from any to any in
#${ipfw} add 40 allow all from any to any out via any

# Direcionar trafego na Rede Local
#${ipfw} add 50 fwd $ip_interno_rede_local all from $ip_externo_rede_local
to any

# Liberar todo trafego proveniente da intranet
${ipfw} add 100 allow all from $rede_local to any

# Liberar todo trafego proveniente da rede metropolitana
${ipfw} add 200 allow all from $rede_man to any

# Bloquear pedidos de echo e registrar log
${ipfw} add 1000 deny log icmp from any to $rede_local in icmptypes 8
${ipfw} add 1100 deny log icmp from any to $rede_man in icmptypes 8

# Permitir pacotes de echo para fora do firewall
${ipfw} add 1200 allow icmp from any to any out icmptypes 8

# Permitir resposta de echo para o firewall
${ipfw} add 1210 allow icmp from any to any in icmptypes 0

# Permitir que o trafego TCP/IP para todas as conexoes ja estabelecidas
${ipfw} add 2000 allow tcp from any to any established

# Permitir conexoes para os servicos de SSH, SMTP e FTP
${ipfw} add 2100 allow tcp from any to $rede_local
$porta_ssh,$porta_smtp,$porta_ftp
${ipfw} add 2110 allow tcp from $rede_local to any
$porta_ssh,$porta_smtp,$porta_ftp

# Permitir conexoes para o servico de DNS
${ipfw} add 2200 allow udp from $rede_local to any $porta_dns
${ipfw} add 2300 allow udp from any $porta_dns to $rede_local
${ipfw} add 2400 allow udp from $rede_man to any $porta_dns
${ipfw} add 2500 allow udp from any $porta_dns to $rede_man

# Permitir conexoes para o servico de RNDC
${ipfw} add 2600 allow tcp from $rede_local to any $porta_rndc setup
${ipfw} add 2700 allow tcp from any $porta_rndc to $rede_local
${ipfw} add 2800 allow tcp from $rede_man to any $porta_rndc setup
${ipfw} add 2900 allow tcp from any $porta_rndc to $rede_man

# Permitir conexoes para o servico de NTP
${ipfw} add 3000 pass udp from $rede_local to any $porta_ntp keep-state
${ipfw} add 3100 pass udp from any $porta_ntp to $rede_local

# Permitir conexoes para o servico de HTTP, HTTPS
${ipfw} add 4000 allow tcp from any to $rede_local $porta_http,$porta_https

# Permitir atualizacao do sistema pelo CVSUP
${ipfw} add 5000 allow tcp from $rede_local to any $porta_cvsup setup
${ipfw} add 5100 allow tcp from any $porta_cvsup to $rede_local

# Bloquear todos os pacotes fragmentados (Defesa contra ataque DoS)
${ipfw} add 60000 deny log all from any to any in frag

# Bloquear todos os pacotes originados da intranet e efetuar o registro de
log
${ipfw} add 65000 deny log all from any to any

# Fim do Arquivo de Regras
Obrigado pela ajuda!!!
Ronielton Rezende Oliveira 



		
_______________________________________________________ 
Yahoo! Mail - Sempre a melhor opção para você! 
Experimente já e veja as novidades. 
http://br.yahoo.com/mailbeta/tudonovo/
 



Mais detalhes sobre a lista de discussão freebsd