Cara você leu pelo menos aquela rfc que mandou no outro post, ou leu os links que eu mandei antes, e leu o que eu escrevi?
Acho que não leu, tá enrolando muito...
Enviado via XT1563 usando UnderLinux App
Cara você leu pelo menos aquela rfc que mandou no outro post, ou leu os links que eu mandei antes, e leu o que eu escrevi?
Acho que não leu, tá enrolando muito...
Enviado via XT1563 usando UnderLinux App
Não é obrigado a usar aquele range, CGNAT é mais uma técnica do que uma "receita de bolo", pode usar qualquer IP privado... CGNAT nada mais é do que dividir de forma "ordenada" cada IP público, levando em conta a orientação a grupos de portas! Você fica livre para fazer com os teus IPS...
O grupo de pesquisa da rfc apenas recomendou o 100.64/10 pelo fato de ser bem desconhecido e não ter problemas com roteamento mas faixas mais usadas, caso você não faça NAT no CPE do cliente, só isso, está lá na rfc isso...
Enviado via XT1563 usando UnderLinux App
Pode usar tranquilo...
Enviado via XT1563 usando UnderLinux App
@magnorm que vai ter problema compartilhar IP todos sabem. A questão toda é como fazer da melhor forma. Você me parece estar oferecendo como solução não compartilhar.
Pessoal eu não sabia dessa questão do NAT de porta, vou testar se alguém testou e deu certo manda um testemunho.
Quem não usa NAT e não tem experiência prática agradece a Deus e fica de boa.
Enviado de meu SM-G800H usando Tapatalk
Mandou bem, +1 pra você!
Enviado via XT1563 usando UnderLinux App
Fui até o site da mikrotik pra ver a questão do range de portas.
Desde 1/2/2016 foi publicado um script de exemplo sobre CGNAT com o range de portas. Entre hoje e amanhã devo implantar e parar de coletar os logs.
Obrigado aos que ajudaram e @JeffersonSato que começou o post.
http://wiki.mikrotik.com/wiki/Manual:IP/Firewall/NAT#Carrier-Grade_NAT_.28CGNAT.29_or_NAT444
Ainda não esta encerrado não, e não estou convencido da obrigatoriedade do IPv6 em dual-stack com o CGNAT! Insisto, encontrei nenhuma obrigação por parte do provedor em entregar junto ao CGNAT o IPv6, achei documentos que explicam a necessidade e fazem algumas resalvas, mas nada de obrigação, se algum colega tiver um informação quente e verdadeira poste aí, segue os links:
http://www.anatel.gov.br/Portal/exib...a&codigo=36710
http://www.anatel.gov.br/Portal/docu...elease_v05.pdf
http://www2.camara.leg.br/atividade-...-nilo-pasquali
Surgiu uma dúvida, ql meio de autenticar e controle de banda com CGNAT ou repassando ip público?
Em GCNAT eu teria que ter 1 regra de src-nat para cada cliente?
Lucas sim tem que fazer uma pra cada IP do seu range é pior que cliente. No meu caso tenho 50 ranges /25. Só tenho 2500 clientes.
Enviado de meu SM-G800H usando Tapatalk
@reirox eu tenho uma regra de log remote, mas poderia ser arquivos rotativos e de madrugada capturar os arquivos.
A regra exata de NAT:
add action=src-nat chain=srcnat comment="NAT RANGE Bairro xxxxx" log=yes log-prefix=138.xx.yy.zz out-interface=BridgeBackbone src-address=10.vv.ww.0/27 \
to-addresses=138.xx.yy.zz
Enviado de meu SM-G800H usando Tapatalk
Eduardo , No seu caso entao , teria 6400 Regras de CGNAT ?
Código ::global sqrtbin do={ :local count 0 :local value $1 :do { :set count ($count + 1) :set value ($value / 2) } while=($value > 0) :return $count } :global addNatRules do={ :global sqrtbin; :local toAddrCount $toAddr; :local x (1<<(([$sqrtbin ($count)])/2)); :local y ($count / $x); :for j from=$srcStartOct1 to=$srcStopOct1 do={ :for k from=$srcStartOct2 to=$srcStopOct2 do={ :for l from=$srcStartOct3 to=$srcStopOct3 do={ /ip firewall nat add chain=srcnat action=jump jump-target="CGNAT-$($toAddrCount)" \ src-address=(($j.".".$k.".".$l.".".$srcStartOct4)."-".($j.".".$k.".".$l.".".$srcStopOct4)) \ comment="CGNAT" out-interface=LINK :set toAddrCount ($toAddrCount + 1) } } } :set toAddrCount $toAddr; :for j from=$srcStartOct1 to=$srcStopOct1 do={ :for k from=$srcStartOct2 to=$srcStopOct2 do={ :for l from=$srcStartOct3 to=$srcStopOct3 do={ :if ($x * $x = $count) do={ :set y ($x + 1) } :for i from=0 to=($y-1) do={ :local inicio [:toip (($j.".".$k.".".$l.".".$srcStartOct4) + ($x * $i))] :local fim [:toip (($j.".".$k.".".$l.".".$srcStartOct4) + ($x * ($i + 1) - 1))] /ip firewall nat add chain="CGNAT-$($toAddrCount)" action=jump jump-target="CGNAT-$($toAddrCount)-$($i)" \ src-address=([:tostr $inicio]."-".[:tostr $fim]) comment="CGNAT" } :set toAddrCount ($toAddrCount + 1) } } } :set toAddrCount $toAddr :for j from=$srcStartOct1 to=$srcStopOct1 do={ :for k from=$srcStartOct2 to=$srcStopOct2 do={ :for l from=$srcStartOct3 to=$srcStopOct3 do={ :local srcStart [:toip (($j.".".$k.".".$l.".".$srcStartOct4))] :for i from=0 to=($count - 1) do={ :local prange "$($portStart + ($i * $portsPerAddr))-$($portStart + (($i + 1) * $portsPerAddr) - 1)" /ip firewall nat add chain="CGNAT-$($toAddrCount)-$($i / $x)" action=src-nat protocol=tcp src-address=($srcStart + $i) \ to-address=$toAddrCount to-ports=$prange comment="CGNAT" /ip firewall nat add chain="CGNAT-$($toAddrCount)-$($i / $x)" action=src-nat protocol=udp src-address=($srcStart + $i) \ to-address=$toAddrCount to-ports=$prange comment="CGNAT" } :set toAddrCount ($toAddrCount + 1) } } } } $addNatRules count=128 srcStartOct1=10 srcStartOct2=150 srcStartOct3=1 srcStartOct4=0 \ srcStopOct1=10 srcStopOct2=150 srcStopOct3=1 srcStopOct4=127 \ toAddr=138.aa.bb.0 portStart=1500 portsPerAddr=500
Acabei de rodar esse código na minha CCR.
Última edição por eduardomazolini; 27-08-2016 às 08:08. Razão: Definir out-interface
Terminou de executar as 6:54, 14310 regras a minha é CCR1036-12G-4S.Acabei de rodar esse código na minha CCR.
O SCRIPT consumia só um núcleo, no final criava uma regra a cada 5s (log memory).
Agora de manhã eu apliquei uma modificação nas primeiras regras para apontar out-interface, demorou 4s cada execução:
Código ::foreach a in=[find chain=srcnat comment~RANGE] do={:set number=$a out-interface=LINK}
Serio que vocês usam CGNAT desta forma?
Honestamente, eu não acho que precise de log quando usado CGNAT, o CGNAT é estático, cada cliente vai ficar com um grupo de portas, não vai mudar. Então se tem 1000 clientes vai ter apenas 1000 regras de SNAT... Só isso!
Enviado via XT1563 usando UnderLinux App
Mas não tô gerando log. Acontece que hoje uso 2000 amanhã 2001 depois mudo um por outro. Eu deixei estático pra qualquer IP que os clientes peguem um IP que existe a regra dele.
Enviado de meu SM-G800H usando Tapatalk
deu certo seu CGNAT @eduardomazolini ? Como está o desempenho do CCR?