CGNAT para MikroTik RouterOS
CGNAT asigna muchos clientes privados a unas pocas direcciones públicas repartiendo entre ellos el espacio de puertos de origen de cada dirección. Mikro Manager construye ese diseño a partir de los parámetros que de verdad te importan, y te enseña cada regla que pretende escribir.
Cómo funciona el diseño
El espacio privado se divide en bloques consecutivos del tamaño del prefijo público. Cada bloque se netmapea 1:1 sobre todo el prefijo en su propio rango de puertos de origen, de modo que varios bloques comparten cada dirección pública, separados por puertos. El reparto es un salto de dos niveles —de srcnat a una cadena por /24 y de ahí a una cadena por bloque—, así la evaluación de reglas sigue siendo rápida haya los bloques que haya.
Declarativo, e idempotente
Cada regla lleva un comentario estructurado que codifica el pool entero. Al conectar, la app lee las reglas en vivo y reconstruye los pools a partir de esos comentarios; después compara lo que quieres con lo que hay. La fuente de la verdad es el router, no un archivo en tu Mac, y las reglas sin un comentario válido nuestro no se tocan jamás.
Búsquedas deterministas, sin registros de flujo
Como netmap es aritmética y no una tabla de concesiones, una dirección pública y un puerto de origen se resuelven a exactamente un cliente privado —y al revés— sin nada registrado de antemano. Eso es justo lo que un informe de abuso necesita que se responda.
add chain=srcnat action=jump jump-target=cgnat-10.64add chain=cgnat-10.64-b3 action=netmap \ to-addresses=200.2.3.0/27 to-ports=3072-4095 \ comment="mikro:v1;pool=cgnat;blk=3;cpi=256"- 2 crear
- 67 actualizar
- 66 eliminar
Revisas el plan antes de que se escriba nada.
La vida de un pool
Un pool que aún puedes cambiar un año después
Casi todos los despliegues de CGNAT se escriben una vez y luego se editan a mano, regla por regla, durante el resto de su vida. Aquí el pool sigue siendo algo que puedes abrir, cambiar y volver a aplicar, porque el diseño se guarda en el propio router.
Diséñalo
Ponle nombre, indica el inicio privado y el prefijo público, y elige cuántos puertos recibe cada cliente. Los bloques, los tramos de puertos y el número de reglas se calculan mientras escribes. Todavía no hay nada en el router: la etiqueta dice Borrador.
Lee el plan
Todas las reglas que piensa escribir, completas: un /27 repartido en 32 son 133. Aplicar es lo único que escribe, e informa de cada regla a medida que avanza.
Se convierte en un pool, no en un montón de reglas
Una vez aplicado pasa a Activo e indica qué le pertenece en el router. El diseño vive en los comentarios de las reglas, así que la app reconstruye el pool desde el router en cada conexión.
Cámbialo un año después
Reduce a la mitad los clientes por dirección y activa Fasttrack; después revisa: dos reglas añadidas, sesenta y siete modificadas, sesenta y seis eliminadas. Solo se escribe la diferencia.
Responde a la denuncia de abuso
Una dirección pública y un puerto de origen resuelven al cliente que hay detrás —pool, bloque y tramo de puertos— por aritmética, sin registros de flujo que guardar.
Preguntas
- ¿Es una calculadora de CGNAT o configura el router?
- Las dos cosas. Calcula los bloques, los puertos que recibe cada cliente y el número de reglas mientras escribes —esa es la parte de calculadora— y después escribe las reglas netmap por la API REST, o te entrega el script si prefieres pegarlo tú.
- ¿Puedo usarlo en un router que ya tiene reglas CGNAT?
- Sí. La app solo gestiona reglas que llevan su propio comentario estructurado; lo que escribiste a mano se lee pero nunca se modifica ni se borra.
- ¿Cuántos clientes pueden compartir una dirección pública?
- Cualquier potencia de dos entre 1 y 1024. Esa cifra determina cómo se divide la ventana de puertos de origen, así que más clientes por dirección significa un rango de puertos más estrecho para cada uno.
- ¿Puede generar la configuración CGNAT de RouterOS como script?
- Sí. Cualquier pool se exporta como archivo .rsc con los mismos comandos etiquetados que enviaría la app, para /import, para un ticket de cambio o para un router al que solo llegas por consola.
- ¿Y si prefiero aplicar las reglas yo mismo?
- Exporta el pool como script de RouterOS y pégalo en un terminal. Los comandos generados son los mismos que la app habría enviado.
- ¿Registra qué cliente usó qué puerto?
- No, y no le hace falta. La correspondencia se calcula a partir de los parámetros del pool, así que las búsquedas funcionan retroactivamente sin que se haya activado ningún registro.
Consigue Mikro Manager
Se distribuye en el Mac App Store: en sandbox, firmado y con actualizaciones automáticas.
Próximamente en el Mac App Store.Requiere macOS 14 o posterior y un dispositivo RouterOS v7 con la API REST habilitada.