[GTER] Scritp Regras CGNAT

Márcio Elias Hahn do Nascimento marcio at sulonline.net
Thu Nov 24 10:38:26 -02 2016


 

Cara, eu usei um programinha feito em Delphi por mim mesmo. 

Mais
vc pode usar qualquer linguagem de programação que vc conheça, o
importante é a saída ser os comandos a serem executados na CLI do
routeros. 

Gera um arquivo com todas as regras, sobe ele para o
equipamento e executa por CLI. (import nome-do-arquivo). 

Outra dica
que deram aqui em outra thread é o uso das regras Jump, para diminuir o
número de checagens de um pacote até que o mesmo seja processado. Por
exemplo tenho CCR 1036 com mais de 8000 regras de Nat, passando mais de
1G de banda e consumindo em média 10% de CPU. Antes disso eu testei com
as regras sem Jump, e passando de 100M de banda a CCR rebotava...


Basicamente eu estruturei dessa forma: 

add action=jump chain=srcnat
jump-target=bloco0 src-address=100.64.0.0/24
add action=jump
chain=srcnat jump-target=bloco1 src-address=100.64.1.0/24
add
action=jump chain=srcnat jump-target=bloco2
src-address=100.64.2.0/24
add action=jump chain=srcnat
jump-target=bloco3 src-address=100.64.3.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 action=src-nat chain=bloco00 protocol=tcp
src-address=100.64.0.0 to-addresses=x.x.x.x to-ports=1500-5499
add
action=src-nat chain=bloco00 protocol=udp src-address=100.64.0.0
to-addresses=x.x.x.x to-ports=1500-5499
add action=src-nat chain=bloco00
src-address=100.64.0.0 to-addresses=x.x.x.x
add action=src-nat
chain=bloco00 protocol=tcp src-address=100.64.0.1 to-addresses=x.x.x.x
to-ports=5500-9499
add action=src-nat chain=bloco00 protocol=udp
src-address=100.64.0.1 to-addresses=x.x.x.x to-ports=5500-9499
add
action=src-nat chain=bloco00 src-address=100.64.0.1 to-addresses=x.x.x.x


Ou seja, o pacote bate em um bloco /24, depois em um bloco /27 e assim
vai cair em algumas regras para os IP's desse bloco /27. 

--- 

Att


Márcio Elias Hahn do Nascimento
(48) 8469-1819 / 3524-0700 -
marcio at sulonline.net
INOC-BR: 52977*100
GERÊNCIA DE RECURSOS DE TIC -
Sul Internet [3] 

 [3] 

Em 23/11/2016 17:26, Flavio Rescia Dias
escreveu: 

> Valeu ajuda Bruno,
> 
> Na verdade está setado sim,
veja:
> 
>> [darede at Core_ATM] > *$addNatRules count=2
srcStart=100.64.1.1 toAddr=200.1.1.1 portStart=2000 portsPerAddr=100*
invalid value of "to", must be integer
> 
> A documentação está em:
>
http://wiki.mikrotik.com/wiki/Manual:IP/Firewall/NAT#Carrier-Grade_NAT_.28CGNAT.29_or_NAT444
[2]
> 
> Como o pessoal que usa CGNAT com controle por porta tem feito
para criar
> todas as regras? Estão usando esse script?
> 
> Flávio
Rescia Dias
> 
> Em 23 de novembro de 2016 17:06, Bruno Cabral
<bruno at openline.com.br>
> escreveu:
> 
>> Talvez $count nao esteja
setado... !3runo Cabral ________________________________ De: gter
<gter-bounces at eng.registro.br> em nome de Flavio Rescia Dias <
flavioresciadias at gmail.com> Enviado: quarta-feira, 23 de novembro de
2016 16:54:48 Para: Grupo de Trabalho de Engenharia e Operacao de Redes
Assunto: [GTER] Scritp Regras CGNAT Amiginho, Estou tentando criar
regras de CGNAT em mikrotik (própria mikrotik), porém a função sqrt não
retorna nada na linha abaixo: :local x [$sqrt $count] Testando a função
na mão, ele retorna valores conforme abaixo: 
>> 
>>> [darede at Core_ATM]
> *$sqrt 3* 1 2 [darede at Core_ATM] > *$sqrt 10* 3 4 5 6 7 8 9
>> Alguém
já utilizou esse script? Tem alguma dica? -- Flávio Rescia Dias -- gter
list https://eng.registro.br/mailman/listinfo/gter [1] -- gter list
https://eng.registro.br/mailman/listinfo/gter [1]
> 
> --
> gter list
https://eng.registro.br/mailman/listinfo/gter [1]
 

Links:
------
[1]
https://eng.registro.br/mailman/listinfo/gter
[2]
http://wiki.mikrotik.com/wiki/Manual:IP/Firewall/NAT#Carrier-Grade_NAT_.28CGNAT.29_or_NAT444
[3]
http://www.sulinternet.net



More information about the gter mailing list