[FUG-BR] ipfw nat in-kernel FreeBSD 9.2

Márcio Elias marcioelias em gmail.com
Terça Novembro 11 15:42:23 BRST 2014


Entendi...

seu objetivo (q estaria causando o kernel panic) é o MAC + pipes

Não dá Kernel Panic no 9.2, somente no 10.1, no 10 simplesmente não há
navegação, nem com MAC nem com IP direto.

Sobre PPPoE é meu futuro, estou caminhando para isso mais são muitos
clientes e tenho muitos concentradores que preciso otimizar antes de tudo
virar PPPoE.

Estamos falando de 600 aliases de IP em média por concentrador, e de até
uns 60Mb de banda.

Eu já uso o que vc sugeriu, DHCP por MAC + IPFW + dummynet + scripts. O
problema de deixar o IP atrelado somente ao DHCP é que algum usuário mal
intencionado pode setar um IP manualmente de alguma subrede roteada e sair
navegando. Ou seja, eu limito a banda ao IP e ao MAC atrelados.


2014-11-11 15:31 GMT-02:00 Fabricio Lima <listas em fabriciolima.com.br>:

> Entendi...
>
> seu objetivo (q estaria causando o kernel panic) é o MAC + pipes
>
> Duvida:
>
> -sem as regras de mac address, está tudo carregando normal ne? (pipes por
> IP) e baixa cpu?
>
> -pra estar gerando tanta carga na cpu assim, qual o throughput q estamos
> falando? (pra saber se a alta demanda de cpu é a filtragem dos MAC, ou o
> dummynet em si)  geralmente eu nao tinha problemas de cpu qndo usava, mas
> eram poucos clientes aplicados dummynet.
>
> tenta refazer suas regras em pf (mas ele so suporta filtragem por mac
> operando como bridge)
> ou poderia cogitar migrar os usuarios para pppoe, levantando um servidor de
> pppoe na sua ponta.
>
> se tudo mais falhar, poderia usar uma integraçao dhcp + reserva por mac +
> dummynet + script levantando o firewall pra este ip dinamicamente,
> validando a origem do mac, e aplicando sua limitaçao de banda por IP ao
> inves de mac.
>
> ou seja, caso nao resolva, tem 2 paleativos pra vc fugir da alta cpu, com
> outras soluçoes. ou refazendo em outro fw.  mas nao esqueça de responder as
> perguntas acima.
>
> [ ]'s
> Fabricio Lima
> When your hammer is C++, everything begins to look like a thumb.
>
> Em 11 de novembro de 2014 14:36, Márcio Elias <marcioelias em gmail.com>
> escreveu:
>
> > Fabricio, eu uso o divert em alguns cases (mais de 20), só que o consumo
> de
> > cpu e a latência conforme a banda consumida e o número de sub-redes com
> > alias na placa interna aumenta está ficando inviável.
> >
> > A tentativa de utilizar essa forma de NAT é reduzir esse consumo de CPU e
> > também manter uma latência mais baixa na rede.
> >
> > Já tentei com one_pass 1 e 0.
> >
> > Estava testando o FreeBSD 10.1 RC4 para ver se ainda tinha o bug do MAC
> com
> > PIPE mais o mesmo está dando kernel panic assim que eu ativo o dummynet
> > para controlar a banda (subo as regras do firewall).
> >
> > Vejo relatos deste nat usando libalias deste a versão 8, deve ser algum
> > tratamento diferenciado nos pacotes que obriga a criação de regras de nat
> > diferentes na versão 9, e por isso esteja errando, mais não encontrei a
> > lógica correta.
> >
> > Vi alguns usuários usando duas FIBs, mais não sei se isso seria
> necessário.
> >
> > --
> > Att.
> > __________________________________
> > Márcio Elias Hahn do Nascimento
> >
> > Bacharel em Tecnologias da Informação e Comunicação - TIC
> > Cel:   (55) 48-8469-1819
> > Emails: marcioelias em bsd.com.br / marcioelias em gmail.com
> > Skype: marcioeliashahn em hotmail.com
> > FreeBSD - The Power To Serve
> >
> > 2014-11-11 12:13 GMT-02:00 Fabricio Lima <listas em fabriciolima.com.br>:
> >
> > > Talvez o divert natd seja o q esteja funcionando no seu script
> > >
> > > add divert natd all from 192.168.0.0/16 to any via wan0
> > >
> > > eu costumava usar assim, inclusive com pipes.
> > >
> > > mas o seu one_pass está me fazendo refletir se deveria ser setado em 1
> ou
> > > nao...
> > >
> > >
> > > [ ]'s
> > > Fabricio Lima
> > > When your hammer is C++, everything begins to look like a thumb.
> > >
> > > Em 11 de novembro de 2014 11:37, Márcio Elias <marcioelias em gmail.com>
> > > escreveu:
> > >
> > > > Bom dia pessoal, devido a um problema com Pipe + MAC Address no
> FreeBSD
> > > 10
> > > > para controle de upload (thread antiga aqui), estou fazendo testes na
> > > > versão 9.2 do Nat do IPFW usando libalias.
> > > >
> > > > Pois bem, independentemente das demais regras (testei somente com as
> de
> > > > NAT) o comportamento no FreeBSD 9.2 ficou diferente do FreeBSD 10.
> > > >
> > > > Considerem o seguinte:
> > > >
> > > > ipfw nat 123 config if WAN_IF log
> > > > ipfw add 50 nat 123 ip from any to me in recv WAN_IF
> > > > ipfw add 51 nat 123 ip from 192.168.0.0/16 to any out xmit WAN_IF
> > > > ipfw add 52 nat 123 ip from 172.16.1.0/24 to any out xmit WAN_IF
> > > > ipfw add 65000 allow ip from any to any
> > > >
> > > > Pois bem, esse cenário na versão 10 funciona, mais na 9 não, todos os
> > > > pacotes incrementam somente a regra 50, mesmo que eu tente acessar o
> > > > endereço IP configurado na interface WAN.
> > > >
> > > > outros detalhes
> > > > sysctl: net.inet.ip.forwarding=1
> > > > net.inet.ip.fastforwarding=1
> > > > net.inet.ip.fw.one_pass=1
> > > >
> > > > kernel:
> > > > options         IPFIREWALL
> > > > options         IPFIREWALL_FORWARD #(somente no 9, no 10 não existe)
> > > > options         IPFIREWALL_VERBOSE
> > > > options         IPFIREWALL_VERBOSE_LIMIT=100
> > > > options         IPFIREWALL_DEFAULT_TO_ACCEPT
> > > > options         DUMMYNET
> > > > options         DEVICE_POLLING
> > > > options         HZ=1000
> > > > options         IPFIREWALL_NAT
> > > > options         LIBALIAS
> > > >
> > > > Alguma ideia de como configurar essas regras de NAT usando IPFW no
> > > FreeBSD
> > > > 9?
> > > >
> > > >
> > > >
> > > > --
> > > > Att.
> > > > __________________________________
> > > > Márcio Elias Hahn do Nascimento
> > > >
> > > > Bacharel em Tecnologias da Informação e Comunicação - TIC
> > > > Cel:   (55) 48-8469-1819
> > > > Emails: marcioelias em bsd.com.br / marcioelias em gmail.com
> > > > Skype: marcioeliashahn em hotmail.com
> > > > FreeBSD - The Power To Serve
> > > > -------------------------
> > > > 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
> > >
> > -------------------------
> > 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
>


Mais detalhes sobre a lista de discussão freebsd