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: thiagoapa...@yahoo.com.br Enviada: Quinta-feira, 5 de Junho de 2014 08:58 Para: freebsd@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