[GTER] CGnat

Andre Almeida andre at bnet.com.br
Thu Jul 13 17:37:48 -03 2017


Respondendo a minha própria pergunta, o netmap é uma action da
chain=src-nat e é que é um NAT 1:1.

Então, usando netmap seria uma maneira de mapear blocos inteiros,
sumarizando e muito as regras de NAT a serem criadas no BRAS.

Da pra se mapear um /24 e usando o compartilhamento de 7x1, ficariam apenas
21 regras ( 7 pra TCP, 7 pra UDP e 7 para demais protocolos). E usando /24
seriam 21 regras para cada 256 IPs.
Sendo que você poderia facilmente ampliar pra um /23 mantendo a mesma
quantidade de regras.... etc....

Então, diminui o consumo de CPU e facilita o trabalho.
Detalhe: nesse caso não tem jump, pois são poucas regras.

Att,

Andre Almeida


2017-06-07 11:57 GMT-03:00 Andre Almeida <andre at bnet.com.br>:

> Obrigado pelo export Marcio!
>
> Alguém sabe dizer qual seria vantagem de usar netmap ao inves de src-nat ?
>
> Att
>
> Andre ALmeida
>
> 2017-06-07 8:42 GMT-03:00 Márcio Elias Hahn do Nascimento <
> marcio at sulonline.net>:
>
>> Em 2017-06-06 22:00, Felipe Kopp Klasen escreveu:
>>
>> > Márcio,
>> >
>> > Consegue enviar um exemplo de como ficam as regras?
>> >
>> > Att.
>> >
>> > 2017-06-06 18:44 GMT-03:00 Márcio Elias Hahn do Nascimento <
>> > marcio at sulonline.net>:
>> >
>> > Bruno, respondendo a sua pergunta, uma CCR 1036 com alguns milhares de
>> > regras, não durou 5 min rodando. Ao chegar próximo a 100Mbps
>> > simplesmente congelou.
>> >
>> > Usando jump dos /24 para os /27 e dos /27 para os ips finais, temos 1036
>> > batendo 2Gbps de CGNAT com processamento ínfimo.
>> >
>> > Sem jump não teve condições.
>> > Corrigindo, batendo mais de 1Gbps (não chegou a dar 2 ainda).
>> >
>> > --
>> > Att
>> >
>> > Márcio Elias Hahn do Nascimento
>> > --
>> > gter list    https://eng.registro.br/mailman/listinfo/gter
>>  --
>> gter list    https://eng.registro.br/mailman/listinfo/gter
>>
>> Sim claro.
>>
>> /ip firewall nat
>> add action=jump chain=srcnat jump-target=bloco0
>> src-address=100.64.0.0/24
>> add action=jump chain=bloco0 jump-target=bloco00
>> src-address=100.64.0.0/27
>> add action=jump chain=bloco0 jump-target=bloco01
>> src-address=100.64.0.32/27
>> add action=jump chain=bloco0 jump-target=bloco02
>> src-address=100.64.0.64/27
>> add action=jump chain=bloco0 jump-target=bloco03
>> src-address=100.64.0.96/27
>> add action=jump chain=bloco0 jump-target=bloco04
>> src-address=100.64.0.128/27
>> add action=jump chain=bloco0 jump-target=bloco05
>> src-address=100.64.0.160/27
>> add action=jump chain=bloco0 jump-target=bloco06
>> src-address=100.64.0.192/27
>> add action=jump chain=bloco0 jump-target=bloco07
>> src-address=100.64.0.224/27
>> add chain=bloco00 protocol=tcp src-address=100.64.0.0 action=src-nat
>> to-addresses=x.x.x.x to-ports=1500-5499
>> add chain=bloco00 protocol=udp src-address=100.64.0.0 action=src-nat
>> to-addresses=x.x.x.x to-ports=1500-5499
>> add chain=bloco00 log=yes log-prefix=x.x.x.x src-address=100.64.0.0
>> action=src-nat to-addresses=x.x.x.x
>> add chain=bloco00 protocol=tcp src-address=100.64.0.1 action=src-nat
>> to-addresses=x.x.x.x to-ports=5500-9499
>> add chain=bloco00 protocol=udp src-address=100.64.0.1 action=src-nat
>> to-addresses=x.x.x.x to-ports=5500-9499
>> add chain=bloco00 log=yes log-prefix=x.x.x.x src-address=100.64.0.1
>> action=src-nat to-addresses=x.x.x.x
>>
>> É isso! Basta fazer algum script pra gerar essa config pra vc, por que
>> na mão é impossível.
>>
>> Se vc analisar na pior das hipóteses um pacote vai bater contra no
>> poucas regras se comparado ao mesmo cenário não usando as regras com
>> jump. Essa diminuição no número de checagens é que salva a CPU do
>> equipamento.
>>
>> --
>> Att
>>
>> Márcio Elias Hahn do Nascimento
>> --
>> gter list    https://eng.registro.br/mailman/listinfo/gter
>>
>
>



More information about the gter mailing list