Re: [FUG-BR] RES: RES: Testando ipfw nat
>> >> Você tem referencias desses exemplos ? >> >> Eu andei estudando - fazendo meu dever de casa - (e até mesmo incomodando >> alguns dos desenvolvedores) com relação a esse assunto, mas o roteamento >> no >> freebsd é, digamos, _complexo_ e eu estou longe de conhecer todos os >> detalhes da implementação (embora já tenha uma certa idéia de como as >> coisas >> funcionam por ali). >> >> Toda informação disponivel é sempre bem-vinda. >> >> >> []'s >> Luiz >> >> > Boa noite. > > Luiz, infelizmente não tenho os links para referencias, mas foram vários > exemplo que pude ver em diversos fóruns por ai. Se você tive alguma coisa > falando sobre as tabelas FIB me envie por gentileza. > > Bom final de semana! Wanderson, A unica documentação oficial (quem nem chega a ser uma documentação...) é o log do commit feito pelo Julian Elisher: http://svn.freebsd.org/viewvc/base?view=revision&sortby=date&revision=17 Ainda assim esse material é bem tecnico e não da muitos exemplos de utilização, mas foi essa a documentação mais completa e que mais me ajudou a entender as FIBs até o momento. Bom fim de semana ! Luiz - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] RES: RES: Testando ipfw nat
2009/8/28 Luiz Otavio O Souza > > Você tem referencias desses exemplos ? > > Eu andei estudando - fazendo meu dever de casa - (e até mesmo incomodando > alguns dos desenvolvedores) com relação a esse assunto, mas o roteamento no > freebsd é, digamos, _complexo_ e eu estou longe de conhecer todos os > detalhes da implementação (embora já tenha uma certa idéia de como as > coisas > funcionam por ali). > > Toda informação disponivel é sempre bem-vinda. > > > []'s > Luiz > > Boa noite. Luiz, infelizmente não tenho os links para referencias, mas foram vários exemplo que pude ver em diversos fóruns por ai. Se você tive alguma coisa falando sobre as tabelas FIB me envie por gentileza. Bom final de semana! Wanderson Tinti. - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] RES: RES: Testando ipfw nat
>> >> Wanderson, Ricardo e lista, >> >> Para o correto funcionamento do setfib é necessário tomar alguns cuidados >> (e >> observar algumas limitações que vou comentar). >> >> Cada FIB representa uma tabela de roteamento distinta e as FIBs só estão >> disponíveís para o protocolo IPv4 (não há multiplas fibs para outros >> protocolos...). >> >> Como a fib representa uma tabela de roteamento os pacotes devem ser >> marcados >> ANTES do roteamento com a fib que você deseja utilizar e as únicas forma >> de >> fazer isso é: >> >> - Na recepção dos pacotes pela sua placa conectada à "rede interna": ipfw >> setfib 1 ip from 192.168.0.0/24 to any IN via ${iif} >> >> - Rodando um programa no FreeBSD com o utilitário setfib: setfib 1 ping >> www.uol.com.br >> >> Assim os pacotes são marcados com a fib desejada ANTES do roteamento, que >> vai olhar para a tabela fib que você selecionou. >> >> Setar a fib na saída dos pacotes ou depois que o roteamento já foi feito >> simplesmente não funciona. >> >> Outro detalhe é que o ipfw prob não respeita os fluxos, ou seja, uma >> conexão >> que é iniciada utilizando aquela regra pode ter seus próximos pacotes >> seguindo outro caminho (não sei dizer ao certo se a interação com o >> keep-state resolve isso - poderia resolver). >> >> E para terminar eu diria que as tabelas FIBs não devem ser utilizadas >> para >> balanceamento das conexões, mas sim para pbr, ou seja, aquele tipo de >> pré-seleção que você faz para dizer que a maquina X ou o recurso Y >> utilizam >> o link 2 enquanto a navegação é feita pelo link 1. >> >> E vocês viram que eu nem falei de nat... >> >> Eu já consegui um hardware aqui pra fazer os testes no freebsd 8, mas vai >> levar algum tempo... (tem uma pilha de coisas esperando aqui...), dai >> pretendo postar mais detalhes do balanceamento com ipfw. >> >> Att., >> Luiz >> >> > Luiz Otávio, obrigado por esse esclarecimento, acabei por marcar o pacote > entrando pela interface interna e funcionou. Tenho visto muitos exemplos > pela net bem diferente da sua explicação. Você tem referencias desses exemplos ? Eu andei estudando - fazendo meu dever de casa - (e até mesmo incomodando alguns dos desenvolvedores) com relação a esse assunto, mas o roteamento no freebsd é, digamos, _complexo_ e eu estou longe de conhecer todos os detalhes da implementação (embora já tenha uma certa idéia de como as coisas funcionam por ali). Toda informação disponivel é sempre bem-vinda. > Em um post 'meio-recente' você comentou ter tido problemas no freebsd 8 > quando forçava a saída do pacote com fwd pela segunda fib, foi preciso > desabilitar a sysctl flowtable eu acho, isso confere? Sim, confere... houve uma primeira tentativa de correção (r196234 - 2009-08-14) mas que acabou criando outro problema e esse só foi corrigido agora (r196608 | qingli | 2009-08-28 02:37:31). E isso quer dizer que as correções estarão disponíveis no 8.0-RELEASE (espero) e que a solução final foi commitada depois do BETA-3. Não tenho certeza se essas correções já foram mfced - copiadas para o stable/8... mas estão no head e nesse caso é só uma questão de tempo. Na duvida sysctl net.inet.flowtable.enable=0 resolve :) []'s Luiz - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] RES: RES: Testando ipfw nat
Wanderson Tinti escreveu: 2009/8/20 Luiz Otavio O Souza [1] Wanderson, Ricardo e lista, Para o correto funcionamento do setfib é necessário tomar alguns cuidados (e observar algumas limitações que vou comentar). Cada FIB representa uma tabela de roteamento distinta e as FIBs só estão disponíveís para o protocolo IPv4 (não há multiplas fibs para outros protocolos...). Como a fib representa uma tabela de roteamento os pacotes devem ser marcados ANTES do roteamento com a fib que você deseja utilizar e as únicas forma de fazer isso é: - Na recepção dos pacotes pela sua placa conectada à "rede interna": ipfw setfib 1 ip from 192.168.0.0/24 to any IN via ${iif} - Rodando um programa no FreeBSD com o utilitário setfib: setfib 1 ping [2]www.uol.com.br Assim os pacotes são marcados com a fib desejada ANTES do roteamento, que vai olhar para a tabela fib que você selecionou. Setar a fib na saída dos pacotes ou depois que o roteamento já foi feito simplesmente não funciona. Outro detalhe é que o ipfw prob não respeita os fluxos, ou seja, uma conexão que é iniciada utilizando aquela regra pode ter seus próximos pacotes seguindo outro caminho (não sei dizer ao certo se a interação com o keep-state resolve isso - poderia resolver). só complementando, a interacao com o keep-state resolve sim. E para terminar eu diria que as tabelas FIBs não devem ser utilizadas para balanceamento das conexões, mas sim para pbr, ou seja, aquele tipo de pré-seleção que você faz para dizer que a maquina X ou o recurso Y utilizam o link 2 enquanto a navegação é feita pelo link 1. E vocês viram que eu nem falei de nat... Eu já consegui um hardware aqui pra fazer os testes no freebsd 8, mas vai levar algum tempo... (tem uma pilha de coisas esperando aqui...), dai pretendo postar mais detalhes do balanceamento com ipfw. Att., Luiz Luiz Otávio, obrigado por esse esclarecimento, acabei por marcar o pacote entrando pela interface interna e funcionou. Tenho visto muitos exemplos pela net bem diferente da sua explicação. Em um post 'meio-recente' você comentou ter tido problemas no freebsd 8 quando forçava a saída do pacote com fwd pela segunda fib, foi preciso desabilitar a sysctl flowtable eu acho, isso confere? Boa noite. - Histórico: [3]http://www.fug.com.br/historico/html/freebsd/ Sair da lista: [4]https://www.fug.com.br/mailman/listinfo/freebsd References 1. mailto:lists...@gmail.com 2. http://www.uol.com.br/ 3. http://www.fug.com.br/historico/html/freebsd/ 4. 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
Re: [FUG-BR] RES: RES: Testando ipfw nat
2009/8/20 Luiz Otavio O Souza > > Wanderson, Ricardo e lista, > > Para o correto funcionamento do setfib é necessário tomar alguns cuidados > (e > observar algumas limitações que vou comentar). > > Cada FIB representa uma tabela de roteamento distinta e as FIBs só estão > disponíveís para o protocolo IPv4 (não há multiplas fibs para outros > protocolos...). > > Como a fib representa uma tabela de roteamento os pacotes devem ser > marcados > ANTES do roteamento com a fib que você deseja utilizar e as únicas forma de > fazer isso é: > > - Na recepção dos pacotes pela sua placa conectada à "rede interna": ipfw > setfib 1 ip from 192.168.0.0/24 to any IN via ${iif} > > - Rodando um programa no FreeBSD com o utilitário setfib: setfib 1 ping > www.uol.com.br > > Assim os pacotes são marcados com a fib desejada ANTES do roteamento, que > vai olhar para a tabela fib que você selecionou. > > Setar a fib na saída dos pacotes ou depois que o roteamento já foi feito > simplesmente não funciona. > > Outro detalhe é que o ipfw prob não respeita os fluxos, ou seja, uma > conexão > que é iniciada utilizando aquela regra pode ter seus próximos pacotes > seguindo outro caminho (não sei dizer ao certo se a interação com o > keep-state resolve isso - poderia resolver). > > E para terminar eu diria que as tabelas FIBs não devem ser utilizadas para > balanceamento das conexões, mas sim para pbr, ou seja, aquele tipo de > pré-seleção que você faz para dizer que a maquina X ou o recurso Y utilizam > o link 2 enquanto a navegação é feita pelo link 1. > > E vocês viram que eu nem falei de nat... > > Eu já consegui um hardware aqui pra fazer os testes no freebsd 8, mas vai > levar algum tempo... (tem uma pilha de coisas esperando aqui...), dai > pretendo postar mais detalhes do balanceamento com ipfw. > > Att., > Luiz > > Luiz Otávio, obrigado por esse esclarecimento, acabei por marcar o pacote entrando pela interface interna e funcionou. Tenho visto muitos exemplos pela net bem diferente da sua explicação. Em um post 'meio-recente' você comentou ter tido problemas no freebsd 8 quando forçava a saída do pacote com fwd pela segunda fib, foi preciso desabilitar a sysctl flowtable eu acho, isso confere? Boa noite. - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] RES: RES: Testando ipfw nat
> lan 192.168.17.0/24, adsl 192.168.29.yyy. Acontece que num caso temos > REDE 17 e no adsl REDE 29. Não combina. Pelo que aprendi (ou me > ensinaram, sei lá, ou tentaram), são redes distintas portanto NÃO > DEVERIAM se falar.. Agora intendi o que vc quiz dizer. Achei estranho as respostas do ping sem nat mas era isso que acontecia. Novamente fazendo alguns testes agora a pouco, percebi que a ordem que executei as regras de liberação do trafego pela regra de NAT, tudo no IPFW, estava incorreta. Coloquei antes da 65000 e funcionou agora. Agora o nat 1 para a primeira ADSL funciona normalmente (consigo navegar inclusive), executei uma regra para fazer NAT na outra ADSL (nat 2) e não consigo comunicação com o 2º modem apartir do host windows. Será porque? setfib 0 route add default 192.168.28.1 setfib 1 route add default 192.168.29.1 ipfw nat 2 config if rl1 ipfw nat 1 config if re0 ipfw add 1000 nat 1 log ip from any to any ipfw add 1001 nat 2 log ip from any to any Se eu excluir a regra 1000 tudo para de funcionar, não consigo comunicação nem com o IP 192.168.28.2 e nem com 192.168.29.2. Estou fazendo algo errado sera? Apartir do FW eu consigo comunicação com os dois modem's. Sem o setfib 0 route add default 192.168.28.1 e sem a regra de nat para esta interface se eu tentar um teste de ping através do host windows eu NÃO consigo pingar o modem ADSL2, ou seja, de nenhuma maneira eu consigo comunicação com o ADSL2 utilizando o NAT no ipfw. Alguém conhece alguma fonte boa utilização do ROUTETABLE? -- From: "irado furioso com tudo" Sent: Wednesday, August 19, 2009 9:46 PM To: "Lista Brasileira deDiscussãosobre FreeBSD (FUG-BR)" Subject: Re: [FUG-BR] RES: RES: Testando ipfw nat > Em Wed, 19 Aug 2009 19:19:13 -0300 > "Ricardo B. Volpato" , conhecido > consumidor de drogas (BigMac's com Coke) escreveu: > >> 192.168.17.0/24 correspode a todos os IPs da rede 192.168.17.0, ou >> seja todos os endereços entre 0 e 255. >> /24 significa 255.255.255.0 > > eu sabia o significado, porém RELEIA o post ao qual eu fiz referencia. > Lá o colega diz: > > lan 192.168.17.0/24, adsl 192.168.29.yyy. Acontece que num caso temos > REDE 17 e no adsl REDE 29. Não combina. Pelo que aprendi (ou me > ensinaram, sei lá, ou tentaram), são redes distintas portanto NÃO > DEVERIAM se falar.. > > conferindo com o ipcalc tive demonstração de que estou certo, mas sei > lá.. será que algo mudou de uns tempos pra cá? > > flames > /dev/null > > > -- > saudações, > irado furioso com tudo > Linux User 179402/FreeBSD BSD50853/FUG-BR 154 > Não uso drogas - 100% Miko$hit-free > Salário Futebol > Uma caixinha de surpresas. > - > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > Nenhum vírus encontrado nessa mensagem recebida. > Verificado por AVG - www.avgbrasil.com.br > Versão: 8.5.409 / Banco de dados de vírus: 270.13.61/2314 - Data de > Lançamento: 08/19/09 18:06:00 > - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] RES: RES: Testando ipfw nat
Em Thu, 20 Aug 2009 08:23:47 -0300 "Luiz Otavio O Souza" , conhecido consumidor de drogas (BigMac's com Coke) escreveu: > Elas vão se falar através do freebsd (roteador). putzgrillo... esqueci que isso aí era um roteador entre os links :( deve ser falha de um dêles: tico ou teco. rs. -- saudações, irado furioso com tudo Linux User 179402/FreeBSD BSD50853/FUG-BR 154 Não uso drogas - 100% Miko$hit-free A religião é demência coletiva. Mikhail Bakunin - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] RES: RES: Testando ipfw nat
> ipfw -f flush > ipfw add 1 check-state > ipfw add 10 prob 0.5 setfib 0 tag 1 all from any to any keep-state > ipfw add 11 setfib 1 tag 2 all from any to any keep-state > ipfw add 20 nat 1 all from any to any tagged 1 > ipfw add 21 nat 2 all from any to any tagged 2 > ipfw add 30 allow all from any to any Wanderson, Ricardo e lista, Para o correto funcionamento do setfib é necessário tomar alguns cuidados (e observar algumas limitações que vou comentar). Cada FIB representa uma tabela de roteamento distinta e as FIBs só estão disponíveís para o protocolo IPv4 (não há multiplas fibs para outros protocolos...). Como a fib representa uma tabela de roteamento os pacotes devem ser marcados ANTES do roteamento com a fib que você deseja utilizar e as únicas forma de fazer isso é: - Na recepção dos pacotes pela sua placa conectada à "rede interna": ipfw setfib 1 ip from 192.168.0.0/24 to any IN via ${iif} - Rodando um programa no FreeBSD com o utilitário setfib: setfib 1 ping www.uol.com.br Assim os pacotes são marcados com a fib desejada ANTES do roteamento, que vai olhar para a tabela fib que você selecionou. Setar a fib na saída dos pacotes ou depois que o roteamento já foi feito simplesmente não funciona. Outro detalhe é que o ipfw prob não respeita os fluxos, ou seja, uma conexão que é iniciada utilizando aquela regra pode ter seus próximos pacotes seguindo outro caminho (não sei dizer ao certo se a interação com o keep-state resolve isso - poderia resolver). E para terminar eu diria que as tabelas FIBs não devem ser utilizadas para balanceamento das conexões, mas sim para pbr, ou seja, aquele tipo de pré-seleção que você faz para dizer que a maquina X ou o recurso Y utilizam o link 2 enquanto a navegação é feita pelo link 1. E vocês viram que eu nem falei de nat... Eu já consegui um hardware aqui pra fazer os testes no freebsd 8, mas vai levar algum tempo... (tem uma pilha de coisas esperando aqui...), dai pretendo postar mais detalhes do balanceamento com ipfw. Att., Luiz - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] RES: RES: Testando ipfw nat
> > lan 192.168.17.0/24, adsl 192.168.29.yyy. Acontece que num caso temos > REDE 17 e no adsl REDE 29. Não combina. Pelo que aprendi (ou me > ensinaram, sei lá, ou tentaram), são redes distintas portanto NÃO > DEVERIAM se falar.. > > conferindo com o ipcalc tive demonstração de que estou certo, mas sei > lá.. será que algo mudou de uns tempos pra cá? Irado, Ele vai rotear (ou fazer) da rede 192.168.17 para a rede 192.168.0.29, por isso são redes distintas. Elas vão se falar através do freebsd (roteador). []'s - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] RES: RES: Testando ipfw nat
Em Wed, 19 Aug 2009 19:19:13 -0300 "Ricardo B. Volpato" , conhecido consumidor de drogas (BigMac's com Coke) escreveu: > 192.168.17.0/24 correspode a todos os IPs da rede 192.168.17.0, ou > seja todos os endereços entre 0 e 255. > /24 significa 255.255.255.0 eu sabia o significado, porém RELEIA o post ao qual eu fiz referencia. Lá o colega diz: lan 192.168.17.0/24, adsl 192.168.29.yyy. Acontece que num caso temos REDE 17 e no adsl REDE 29. Não combina. Pelo que aprendi (ou me ensinaram, sei lá, ou tentaram), são redes distintas portanto NÃO DEVERIAM se falar.. conferindo com o ipcalc tive demonstração de que estou certo, mas sei lá.. será que algo mudou de uns tempos pra cá? flames > /dev/null -- saudações, irado furioso com tudo Linux User 179402/FreeBSD BSD50853/FUG-BR 154 Não uso drogas - 100% Miko$hit-free Salário Futebol Uma caixinha de surpresas. - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] RES: RES: Testando ipfw nat
192.168.17.0/24 correspode a todos os IPs da rede 192.168.17.0, ou seja todos os endereços entre 0 e 255. /24 significa 255.255.255.0 -- From: "irado furioso com tudo" Sent: Wednesday, August 19, 2009 5:23 PM To: "Lista Brasileira deDiscussãosobre FreeBSD (FUG-BR)" Subject: Re: [FUG-BR] RES: RES: Testando ipfw nat > Em Wed, 19 Aug 2009 16:31:07 -0300 > "Ricardo B. Volpato" , conhecido > consumidor de drogas (BigMac's com Coke) escreveu: > >> LAN=192.168.17.0/24 INT > > me bateu a curiosidade.. /24 NÃO abrange a rede .29. dos adsl. Funciona? > > -- > saudações, > irado furioso com tudo > Linux User 179402/FreeBSD BSD50853/FUG-BR 154 > Não uso drogas - 100% Miko$hit-free > Homens convictos são prisioneiros Nietzsche > - > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd > > Nenhum vírus encontrado nessa mensagem recebida. > Verificado por AVG - www.avgbrasil.com.br > Versão: 8.5.409 / Banco de dados de vírus: 270.13.61/2313 - Data de > Lançamento: 08/19/09 06:03:00 > - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] RES: RES: Testando ipfw nat
> > Eu sei que com o PF tem como fazer, mas o trabalho com IPFW a anos e tenho > um outro firewall que pretendo fazer algumas alterações, (incluir mais um > link) algo parecido com o ambiente ilustrado. > Se precisar de mais alguma coisa para entender o ambiente é só perguntar > que envio. > > > From: Renato Frederick > Sent: Monday, December 29, 2008 9:23 PM > To: 'Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)' > Subject: [FUG-BR] RES: RES: Testando ipfw nat > > Ricardo e Listeiros, muito boa noite. Estou tendo o mesmo problema quando uso uma rede com IPs frios. Nesse momento estou testando com setfib e NAT pelo kernel, estou tentando entender porque estou tendo problema. Uma coisa que notei é que quando eu especifico a rede internet, por exemplo, 10.40.20.0/24 não funciona, porem consigo ver que as conexões statefull são criadas dinamicamente e mesmo assim não funciona. Estou usando as seguintes regras nesse exato momento: le0 ) IP = 192.168.1.200 GW = 192.168.1.1 Link1 le2 ) IP = 192.168.100.200 GW = 192.168.100.200 Link2 le1 ) IP = 10.40.20.100LAN = 10.40.20.0/24 ipfw -f flush ipfw add 1 check-state ipfw add 10 prob 0.5 setfib 0 tag 1 all from any to any keep-state ipfw add 11 setfib 1 tag 2 all from any to any keep-state ipfw add 20 nat 1 all from any to any tagged 1 ipfw add 21 nat 2 all from any to any tagged 2 ipfw add 30 allow all from any to any ipfw nat 1 config if le0 unreg_only ipfw nat 2 config if le2 unreg_only Como disse logo acima, se eu especificar nas regras 10 e 11 a rede interna como origem, exemplo: ipfw add 10 prob 0.5 setfib 0 tag 1 all from 10.40.20.0/24 to any keep-state ipfw add 11 setfib 1 tag 2 all from 10.40.20.0/24 to any keep-state Regras dinâmicas são criadas (ipfw -d show), mas não funciona. Vou continuar realizando os testes, preciso entender porque do problema. Sugestões serão muito bem vindo. Se alguém tiver sucesso, por favor, não deixe de postar. Boa noite. Wanderson Tinti - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] RES: RES: Testando ipfw nat
Em Wed, 19 Aug 2009 16:31:07 -0300 "Ricardo B. Volpato" , conhecido consumidor de drogas (BigMac's com Coke) escreveu: > LAN=192.168.17.0/24 INT me bateu a curiosidade.. /24 NÃO abrange a rede .29. dos adsl. Funciona? -- saudações, irado furioso com tudo Linux User 179402/FreeBSD BSD50853/FUG-BR 154 Não uso drogas - 100% Miko$hit-free Homens convictos são prisioneiros Nietzsche - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
Re: [FUG-BR] RES: RES: Testando ipfw nat
[FUG-BR] RES: RES: Testando ipfw natBom, tópico resurgindo depois de algum tempo inativo, mas vamos lá. Instalei um FreeBSD 8 aqui na empresa para testes do NAT direto no IPFW e balanceamento de carga também no IPFW com a opção ROUTETABLES no kernel, o ambiente é o seguinte: LAN=192.168.17.0/24 INT_IF=192.168.17.1EXT_ADSL=192.168.28.2 EXT_ADSL2=192.168.29.2 ..---> ADSL (192.168.28.1) / LAN --> FW \ `---> ADSL2 (192.168.29.1) Compilei no KERNEL as seguintes opções: #cat /usr/src/sys/amd64/conf/FW [...] options IPFIREWALL options IPFIREWALL_VERBOSE options IPFIREWALL_VERBOSE_LIMIT=1000 options IPFIREWALL_DEFAULT_TO_ACCEPT options IPFIREWALL_FORWARD options IPFIREWALL_NAT # Aqui ativo o NAT no kernel options LIBALIAS # Necessrio para o NAT options IPDIVERT options DUMMYNET options HZ=1000 options ROUTETABLES=2 optionsALTQ optionsALTQ_CBQ optionsALTQ_RED optionsALTQ_RIO optionsALTQ_HFSC optionsALTQ_CDNR optionsALTQ_PRIQ optionsALTQ_NOPCC FreeBSD fw.xxx.com.br 8.0-BETA2 FreeBSD 8.0-BETA2 #3: Wed Aug 19 14:52:16 BRT 2009 ricardovolp...@fw.xxx.com.br:/usr/obj/usr/src/sys/FW amd64 Fiz o nat pelo PF pois com o IPFW não obtive sucesso pelo seguinte motivo: Somente com o kernel compilado sem nenhum tipo de NAT rodando e nenhum serviço instalado da maquina com o ip 192.168.17.2 eu conseguia pingar o IP 192.168.29.1 mas quando ativava o NAT do ipfw o modem adsl parava de responder, seguem as regras de nat, somente NAT: setfib 0 route add default 192.168.28.1 setfib 1 route add default 192.168.29.1 ipfw nat 1 config if re0 same_ports unreg_only ipfw add nat 1 all from rl0 to any out via re0 ipfw nat 2 config if rl1 same_ports unreg_only ipfw add nat 2 all from rl0 to any out via rl1 Beleza, depois de ativar essas regras e algumas outras que tbm testei, não obtive sucesso com o NAT do IPFW, configurei alguma coisa errada? Parti então para o NAT com o PF mesmo. As regras de NAT do PF estão corretas e são as seguintes: nat on re0 from 192.168.17.0/24 to ! 192.168.17.0/24 -> 192.168.28.2 nat on rl1 from 192.168.17.0/24 to ! 192.168.17.0/24 -> 192.168.29.2 E no IPFW para balanceamento de carga as seguintes regras: ipfw add 1000 set 1 prob 0.5 skipto 3000 all from any to any out #Metade fica para fib0 e a outra metade vai para fib1 ipfw add 2000 set 2 setfib 0 all from any to any out ipfw add 2100 set 2 allow all from any to any out keep-state ipfw add 3000 set 3 setfib 1 all from any to any out ipfw add 3100 set 3 allow ip from any to any out keep-state Beleza, depois de executar as regras de NAT do PF e de Balancemanto do IPFW, fui para os testes. Naveguei normal, mas percebi que o trafego saia somente pela setfib0, tentei então excluir as regras 2000 e 2100 e alterei a regra 1000 para ipfw add 1000 set 1 prob 1 allow all from any to any out Após essas duas mudanças, não consegui mais navegar, percebi, através do comando ipfw show que o trafego está passando pelas regras. Alguém pode me explicar porque isso acontece? O que posso estar fazendo de errado? Li varios tutoriais na internet, até em Russo (huaehuae), mas nenhum deles tirou as minhas duvidas. Espero que entendam o problema e que alguém tenha alguma sugestão para que eu coloque esse em ambiente em produção. Eu sei que com o PF tem como fazer, mas o trabalho com IPFW a anos e tenho um outro firewall que pretendo fazer algumas alterações, (incluir mais um link) algo parecido com o ambiente ilustrado. Se precisar de mais alguma coisa para entender o ambiente é só perguntar que envio. From: Renato Frederick Sent: Monday, December 29, 2008 9:23 PM To: 'Lista Brasileira de Discussão sobre FreeBSD (FUG-BR)' Subject: [FUG-BR] RES: RES: Testando ipfw nat Assim que houver uma janela de tempo farei os testes! Obrigado Luiz > > Sim Renato, > > No ipfw você tem a keyword setfib que faz com que o pacote seja roteado > segunda a tabela que você definiu. Como cada tabela pode ter seu > default > gateway (e outras rotas especificas) acredito que você consiga sim > fazer o > PBR com essa solução. > > Só não sei dizer sobre as interações com o BGP, mas se você já faz com > ipfw > fwd, com certeza vai fazer com o setfib. > > Abraços, > Luiz Otavio > > - > Histórico: http://www.fug.com.br /historico/html/freebsd/ > Sair da lista: 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
[FUG-BR] RES: RES: Testando ipfw nat
Assim que houver uma janela de tempo farei os testes! Obrigado Luiz > > Sim Renato, > > No ipfw você tem a keyword setfib que faz com que o pacote seja roteado > segunda a tabela que você definiu. Como cada tabela pode ter seu > default > gateway (e outras rotas especificas) acredito que você consiga sim > fazer o > PBR com essa solução. > > Só não sei dizer sobre as interações com o BGP, mas se você já faz com > ipfw > fwd, com certeza vai fazer com o setfib. > > Abraços, > Luiz Otavio > > - > Histórico: http://www.fug.com.br/historico/html/freebsd/ > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd smime.p7s Description: S/MIME cryptographic signature - Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd