[GTER] Ideia para CGNAT determinístico com mix de redes /24s da RFC1918 (RouterOS)

Tales Rodarte talesrodarte at gmail.com
Tue Mar 9 15:46:33 -03 2021


Tiago,

Da para você usar o recurso de up e down do PPP ou DHCP para automatizar 
um script que crie o cgnat conforme demanda.  Você pode usar as 
variáveis de user, ip, interface .

Aqui você encontra alguns exemplos de scripts:
https://wiki.mikrotik.com/wiki/Manual:Scripting

Neste caso que levantou quando existe a opção de centralizar o cgnat, 
mas abaixo existem vários concentradores com range de ips segmentados 
optamos por usar pool de ips via radius. Assim a alocação sempre vai ser 
feita com ips livres e o cgnat ficará sobre medida para o número de 
usuários que precisa atender.

--
Tales


Em 09/03/2021 11:04, Tiago SR escreveu:
> Prezados,
>
> Alguém tem uma ideia para CGNAT determinístico quando a rede é composta de vários /24s da RFC1918, utilizados parcialmente e de forma desordenada (10 a 60 endereços em cada um, espalhados por todo o bloco de forma não sequencial)?
>
> Cada PoP ou ponto de acesso que a gente implanta na rede, nós jogamos um /24 privado da RFC1918 para ele, para distribuir por DHCP.
> Tem alguns concentradores regionais, mas queremos fazer o CGNAT centralizado. O NAT já é centralizado, só mudar para CGNAT.
>
> Os problemas que estou tendo são:
>
> 1) se eu mapear (netmap) um /24 privado para um range de 2000 portas de um /24 público, eu vou estar alocando portas para IPs privados que não são usados atualmente e provavelmente nem nunca serão, porque esses /24 nunca chegam nem perto de lotar (só são usados uns 60 ou menos dos seus endereços), então é desperdício e provavelmente teria o mesmo problema seguinte
>
> 2) para resolver esse problema anterior, fiz algo tipo uma alocação dinâmica, em que ao invés de mapear ranges privados, são mapeados address lists de até 1000 IPs individuais captados pelo firewall. Uma address list para cada range de 2000 portas, 32 address lists. Usei action=same para mapear a address list para o bloco de IPs públicos e suas respectivas portas, conforme a regra a seguir, mas o problema é que alguns IPs não são pegos no action=same e ficam sem funcionar. Exemplo: IP privado 10.90.0.17, bloco público 198.51.100.0/22. Parece que o funcionamento é semelhante ao action=netmap, aí a parte de host desse IP 10.90.0.17 aplicando máscara /22 não corresponde com uma parte que host que possa ter no 198.51.100.0/22 e fica sem NAT...
>
> Ex. de uma regra do NAT: /ip firewall nat add chain=srcnat src-address-list=cgnat32-1_1024-3024 protocol=tcp action=same same-not-by-dst=yes to-addresses=198.51.100.0/22 to-ports=1024-3024
>
> Tem rede com /24s de todo jeito, uma salada, ex.: 10.90.0.0/24, 10.0.2.0/24, 172.31.110.0/24. Não é viável mudar essas redes, reendereçar tudo e ajustar a autenticação de todos dispositivos, são cerca de 200 redes...
>
> Alguma ideia de como resolver isso com RouterOS? Sei que provavelmente uma implementação de Bulk Port Allocation de uma solução fechada resolva, mas não vai rolar por agora, e espero que nem nunca, já que a ideia é jogar o máximo para IPv6.
>
> Agradeço desde já por sua atenção e contribuição, colegas.
> --
> gter list    https://eng.registro.br/mailman/listinfo/gter




More information about the gter mailing list