Em 05/06/2014 14:44, "Marcelo Gondim" <[email protected]> escreveu: > > Em 05/06/14 13:46, Thiago Andrighetti escreveu: > > 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. > Opa Thiago, > > Eu uso ipfw + pf sendo que o pf eu uso somente para NAT. Para quem veio > de Linux eu acho o NAT do pf mais tranquilo de assimilar. > No kernel eu costumo habilitar isso abaixo para ipfw e pf: > > options IPFIREWALL > options IPFIREWALL_VERBOSE > options IPFIREWALL_VERBOSE_LIMIT=100 > options IPFIREWALL_DEFAULT_TO_ACCEPT > options IPFIREWALL_NAT > options LIBALIAS > options DUMMYNET > options IPDIVERT > > # Habilitando PF e ALTQ > device pf > device pflog > device pfsync > options ALTQ > options ALTQ_CBQ # Class Bases Queuing (CBQ) > options ALTQ_RED # Random Early Detection (RED) > options ALTQ_RIO # RED In/Out > options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC) > options ALTQ_PRIQ # Priority Queuing (PRIQ) > options ALTQ_NOPCC # Required for SMP build > > Abaixo uns exemplos de regras no pf.conf da vida: > > ext_if = "em0" > int_if = "em1" > table <masq> persist { 192.168.255.0/24, 10.0.0.0/8, 192.168.173.0/24, > 192.168.174.0/24 } > set skip on lo0 > set limit states 40000 > > #### NAT 1:1 > binat on $ext_if from 192.168.255.2 to any -> 186.xxx.xxx.13 > > #### NAT redirecionamento > rdr on $ext_if proto tcp from any to 186.xxx.xxx.14 port 80 -> > 192.168.255.1 port 80 > > #### NAT N:1 > nat on $ext_if from <masq> to any -> 186.xxx.xxx.9 > > Para testar se tem erro nas regras: pfctl -nf pf.conf > Para carregar as regras: pfctl -f pf.conf > Para mostrar as regras: pfctl -s nat > > Bem isso é só para ajudar mas o ideal é você estudar o PF mesmo porque > tem muito mas muito mais opções. > > > > > > 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: [email protected] > >> Enviada: Quinta-feira, 5 de Junho de 2014 08:58 > >> Para: [email protected] > >> 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: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Se for só para acessar os radios, faça um túnel SSH para o BSD e acesse-os. # ssh -L 80:ip-do-radio:80 root@ip-do-bsd E então no seu browser: http://127.0.0.1/ Abs ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd

