[FUGSPBR] ajuda com ipfw

William David Armstrong bio em bsd-unix.com.br
Seg Nov 4 14:53:01 BRST 2002


Básico

# $FreeBSD: 0.2 2000/01/21 01:33:01 dennix Exp $

Como usar o NATD (network address translator) no FreeBSD com o ipfw

Breve introducao;
Recompilando o kernel;
Configuracao:
 Servidor;
 Estacoes;
Testando;

Breve introducao;
 O NAT funciona como um proxy transparente, tambem conhecido como 
 IP Masquerading ele ira funcionar como um roteador para uma pequena LAN,
 oque significa depois de configurar a sua maquina bsd como gateway,
 voce pode (apartir de outras maquinas em sua rede) surfar na Internet 
 utilizando um IP Valido(** ip valido para a internet**)
 Em outras palavras faz com que voce possa acessar a InterNet com uma 
 unica conexao dedicada e varios micros ligados em LAN (rede local), 
 atraves de uma conexao PROXY*. 
 
 Esse "how-to" eh para a seguinte configuracao
 O funcionamento do natd eh parecido com o no Wingate(windows), 
 Ipchains(linux).
 O esquema seria algo proximo de:

+------
+ pc1 + ---  
+------    |    
+ pc2 + ---
+------    |       +-----+     ++++++++++++
+ pc3 + --- ++++++++ BSD +++++++ Internet +
+-----+    |       +-----+     ++++++++++++
+ pc3 + ---
+-----+    |
+ pc4 + ---
+-----+


rem> Visao geral da configuracao do BSD:
rem> Subistitua o 200.x.x.1/255.255.255.224 pelo seu IP valido e sua 
rem> Netmask correspondente
ed0     - 200.x.x.1 / 255.255.255.224
ed1     - 192.168.0.1 / 255.255.255.0
gateway - 200.x.x.2
dns     - 200.x.x.3

pcX:
IP      192.168.0.10
Netmask 255.255.255.0
Gateway 192.168.0.1
DNS     200.x.x.3

BSD - A maquina FreeBSD
pcX - Maquina cliente podendo ser Windows, OS/2, BeOS e/ou qquer outro 
que suporte TCP/IP

Uma explicacao simples sobre a faixa de IP's disponivel para intranet/rede 
local (IANA) de acordo com a RFC1597
No nosso exemplo utilizamos a Classe C (192.168.0.0)

Classe De Rede  Netmask       Endereco De Rede 
A               255.0.0.0     10.0.0.0    - 10.255.255.255 
B               255.255.0.0   172.16.0.0  - 172.31.255.255 
C               255.255.255.0 192.168.0.0 - 192.168.255.255 

Explicacao sobre termos usados no artigo "shell>", "edit>" e "rem>":
shell> sua shell (c shell, bash, korn, ...)
edit> seu editor de textos preferido (ee, vi, pico, ...)
rem> comentarios

Recompilando o kernel
---------------------

rem> Eh necessario recompilar o kernel adicionando as seguintes opcoes:
edit> /usr/src/sys/i386/conf/NATD
#
# NATD -- FreeBSD/i386
# FreeBSD 4.2
# 
# $FreeBSD: src/sys/i386/conf/NATD,v 1.0 2000/01/21 13:16:07 dennix Exp $
options         INCLUDE_CONFIG_FILE
options         IPDIVERT
options         IPFIREWALL              #firewall
options         IPFIREWALL_FORWARD      #enable transparent proxy support
options         IPFIREWALL_DEFAULT_TO_ACCEPT    #allow everything by default
options         TCP_DROP_SYNFIN         #drop TCP packets with SYN+FIN
options         TCP_RESTRICT_RST        #restrict emission of TCP RST
#options         IPFIREWALL_VERBOSE     #print information about
#options         IPFIREWALL_VERBOSE_LIMIT=100   #limit verbosity

options         IPFILTER                #ipfilter support
options         IPFILTER_LOG            #ipfilter logging

Configuracao
------------

Configuracao do Servidor:

edit> /etc/rc.conf
natd_enable="YES"
natd_interface="ed0"
natd_flags="-l -f /etc/natd.conf"
gateway_enable="YES"
firewall_enable="YES"
firewall_type="UNKNOW"
firewall_quiet="YES"
network_interfaces="ed0 ed1 lo0"
ifconfig_ed0="inet 200.x.x.1 media netmask 255.255.255.224"
ifconfig_ed1="inet 192.168.0.1 netmask 255.255.255.0"
defaultrouter="200.x.x.2"
hostname="bsdbox"

edit> /etc/natd.conf
# qual a placa de rede que tem conexao com a internet
interface ed0
# para funcionar o ftp/dcc eh necessario as linhas abaixo
dynamic yes
same_ports yes
use_sockets yes

edit> /etc/rc.local
/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via ed0
/sbin/ipfw add pass all from any to any

rem> depois de fazer todas essas configuracoes no servidor reboote-o

Configuracao das Estacoes clientes:
rem> exemplo de configuracao
rem> IP: 192.168.0.2
rem> Netmask: 255.255.255.0
rem> Gateway: 192.168.0.1

Testando
--------
rem> Para testar tente pingar de uma estacao para fora da rede
rem> pingado de uma maquina windows
C:\WINDOWS\Desktop>ping free.bsd.com.br

Disparando contra free.bsd.com.br [200.243.51.4] com 32 bytes de dados:

Resposta de 200.243.51.4:bytes=32 tempo=83ms Tempo de vida=249
Resposta de 200.243.51.4:bytes=32 tempo=68ms Tempo de vida=249
Resposta de 200.243.51.4:bytes=32 tempo=83ms Tempo de vida=249
Resposta de 200.243.51.4:bytes=32 tempo=68ms Tempo de vida=249

Estatísticas do Ping para 200.243.51.4:
    Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda),
Tempos aproximados de ida e volta em milissegundos:
    Mínimo = 68ms, Máximo =  83ms, Média =  75ms

C:\WINDOWS\Desktop>  rem> pingando de uma maquina bsd
pupa# ping free.bsd.com.br
PING free.bsd.com.br (200.243.51.4): 56 data bytes
64 bytes from 200.243.51.4: icmp_seq=0 ttl=249 time=64.093 ms
64 bytes from 200.243.51.4: icmp_seq=1 ttl=249 time=87.913 ms
64 bytes from 200.243.51.4: icmp_seq=2 ttl=249 time=73.586 ms
64 bytes from 200.243.51.4: icmp_seq=3 ttl=249 time=65.479 ms
^C
--- free.bsd.com.br ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 64.093/72.768/87.913/9.466 ms

rem> se a saida for algo assim ta funcionando

---
Paz profunda,
 Denis S. Silva


SQUID


http://www.free.bsd.com.br/noticia.php3?CAD=1&NOT=81



Moises Duque wrote:

> Ola lista!
> Estou precisando de ajuda com o ipfw.Segue abaixo o cenário:
> Tenho um roteador com IP 200.215.xxxx.yy1
> Na maquina com Free duas placas de rede ed0: 200.215.xxx.yy2 e ed1 
> 10.0.0.1
> Serviços disponíveis dhcpd,squid,dns
> Politica de negação por padrão
>  
> Objetivos:Navegar na Iternet,atualização de anti-virus(NORTON),mandar 
> e receber e-mail
> Desde já agradeço
>  
> Moisés Duque



_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd