[FUG-BR] Source Nat temporário no FreeBSD

Thiago Andrighetti thiagoapadua em yahoo.com.br
Quinta Junho 5 13:46:33 BRT 2014


Bom, já uqe eu vou ter que rebootar de qq jeito então hehehe, por causa 
do kernel que tenho que habilitar o DIVERT, seria melhor então eu 
habilitar o PF  ao invés de usar o natd ?

Só reforçando, que só vou fazer essa regra pra acessar meus radios, 
depois não vou usar mais nat nehum nessa maquina.


Em 05-06-2014 09:49, jeimerson escreveu:
>     21/01/01 18:29 - Como usar o NATD no FreeBSD com o ipfw
>
>                                                              Denis S. Silva
> # $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
>
> 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
>
>     ?
>
>     Fonte www.free.bsd.com.br
>       __________________________________________________________________
>
>     De: thiagoapadua em yahoo.com.br
>     Enviada: Quinta-feira, 5 de Junho de 2014 08:58
>     Para: freebsd em fug.com.br
>     Assunto: [FUG-BR] Source Nat temporário no FreeBSD
>     Só complementando, tenho o IPFW habilitado.
>     Em 05-06-2014 08:45, Thiago Andrighetti escreveu:
>     > Olá!
>     >
>     > Já adianto que sou novo em FreeBSD, minha experiência vem do Linux
>     e Mikrotik.
>     > Coloquei em funcionamento um FreeBSD com Openbgpd para ser meu
>     roteador de borda, tudo certo e funcionando.
>     > O que acontece, é que a interface que recebe meu link esta ligada em
>     um radio, pois o link chega de longe, e esses
>     > radios foram configurados por outra pessoa, eles só estão com IP,
>     não tem gateway configurado. Como consequencia
>     >
>     > do FreeBsd eu pingo ele, pois tenho um ip na mesma faixa, mas de
>     outras máquinas que estão antes do FreeBSD não
>     >
>     > consigo acessar esses radios.
>     > No Linux ou Mikrotik eu resolveria fazendo um SNAT de tudo que vai
>     pro ip do radio mudando a origem do pacote
>     > para o ip que está na placa do FreeBSD, na verdade era isso que eu
>     fazia no Mikrotik.
>     > Mas no FreeBSD fiquei meio perdido ainda nesta parte de NAT, até nem
>     habilitei nada de natd no rc.conf pois não
>     > imaginei que iria usar, esqueci desses radios benditos.
>     >
>     > Tem alguma regra que eu possa fazer essa mudança de origem de
>     pacote, pra eu poder acessar esses radios e colocar
>     > o bendito gateway correto?
>     >
>     > Queria ver algo só temporário, pra não ter nat nenhum no router
>     freebsd.
>     >
>     > Desculpem o tamanho da mensagem, e obrigado.
>     >
>     >
>     >
>     -------------------------
>     Histórico: [1]http://www.fug.com.br/historico/html/freebsd/
>     Sair da lista: [2]https://www.fug.com.br/mailman/listinfo/freebsd
>
> References
>
>     1. http://www.fug.com.br/historico/html/freebsd/
>     2. https://www.fug.com.br/mailman/listinfo/freebsd
>
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd



Mais detalhes sobre a lista de discussão freebsd