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.

Generador de CGNAT para MikroTik RouterOS El pool se calcula en tu navegador. Nada de lo que escribes se envía a ningún sitio: no hay servidor al que enviarlo. Leer más →
/ip firewall nat
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"
Plan
  • 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.

  1. 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.

    Diséñalo
  2. 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.

    Lee el plan
  3. 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.

    Se convierte en un pool, no en un montón de reglas
  4. 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.

    Cámbialo un año después
  5. 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.

    Responde a la denuncia de abuso

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.