Importar rutas en Keenetic desde archivo .bat
Keenetic puede cargar un archivo en formato route ADD de Windows y aplicar automáticamente todas las rutas a una interfaz seleccionada. NetRoute Pro genera exactamente ese archivo — solo tienes que descargarlo y subirlo.
Sintaxis del comando
CLI de Keenetic (modo config):
(config)> ip route <CIDR> <VPN_IF>
Ejemplo:
(config)> ip route 1.1.1.0/24 Wireguard0
Línea .bat equivalente (formato Windows route ADD — lo que genera NetRoute Pro y acepta Keenetic al cargar desde la web UI):
route ADD 1.1.1.0 MASK 255.255.255.0 0.0.0.0
La carga del .bat vincula las rutas al interfaz VPN seleccionada automáticamente — el valor de gateway en cada línea se ignora. Para uso puntual desde CLI, la forma (config)> ip route es la exacta.
Requisitos previos
- Router Keenetic con un túnel VPN configurado (WireGuard, OpenVPN, IKEv2, OpenConnect, etc.)
- Extensión NetRoute Pro instalada en Chrome
- Acceso a la interfaz web del router (normalmente
http://my.keenetic.net)
Paso 1. Genera un archivo .bat en NetRoute Pro
- Abre el sitio web objetivo en Chrome
- Haz clic en el icono de NetRoute Pro en tus extensiones
- Selecciona la plataforma Windows — ese es el formato que acepta Keenetic
- El gateway puede ser cualquier valor (p.ej.
0.0.0.0) — Keenetic lo ignora cuando enlazas a una interfaz al subir - Elige máscara de agregación (recomendado
/24) - Haz clic en Analyze Website
- Descarga el resultado como archivo .bat
Paso 2. Abre la sección Enrutamiento en Keenetic
- Abre
http://my.keenetic.neto la IP del router - Inicia sesión como administrador
- Ve a Gestión → Enrutamiento
- Selecciona la pestaña rutas IPv4
Paso 3. Carga el archivo con enlace a la interfaz VPN
- Haz clic en el botón Cargar
- Selecciona el archivo
.batdescargado - En el desplegable Interfaz, selecciona tu túnel VPN
- El nombre de la interfaz depende de tu configuración y proveedor VPN — es diferente para cada usuario
- Si no sabes cuál — comprueba qué interfaz usa tu VPN en la sección Internet
- Confirma la carga
Listo — todas las rutas del archivo se añaden y enlazan a la interfaz VPN seleccionada. Keenetic ignora los valores de gateway del archivo .bat; el tráfico fluye por la interfaz elegida.
Alternativa para WireGuard: AllowedIPs
Si usas WireGuard, puedes omitir las rutas estáticas y poner las subredes directamente en AllowedIPs del peer:
- En NetRoute Pro, selecciona la plataforma WireGuard
- Copia la línea
AllowedIPs - En Keenetic: Internet → WireGuard → configuración del peer → pega en Allowed IPs
- Guarda
DNS leak — lectura obligatoria
Las rutas estáticas en Keenetic reenvían tráfico por IP. No enrutan DNS. Un cliente LAN sigue preguntando al proxy DNS de Keenetic (que por defecto reenvía al ISP) por example.com — sólo el tráfico IP resultante pasa por la VPN. El ISP ve qué sitios se visitan aunque los datos estén cifrados.
Tres opciones, según el modelo de amenazas:
- Ocultar DNS del ISP totalmente. En Internet → Other connections → tu interfaz VPN, márcala como prioritaria para DNS, O define DNS estáticos en Network rules → Internet safety apuntando al resolver interno de tu proveedor VPN (ej.
10.0.0.1). Keenetic enviará las consultas DNS por el túnel. - Reducir visibilidad para el ISP (DoH/DoT público). Keenetic soporta DoH/DoT nativamente en Network rules → Internet safety → DNS-over-HTTPS / DNS-over-TLS. Añade Cloudflare (
1.1.1.1), AdGuard (94.140.14.140) o Quad9 (9.9.9.9) como resolver del sistema. - Aceptar la fuga. Comportamiento por defecto — sólo se cifra el tráfico, los lookups van al ISP.
Verifica desde un cliente LAN en dnsleaktest.com — el resolver mostrado debe pertenecer a tu VPN o DoH elegido, no al ISP. En Keenetic, los DNS activos se ven en System dashboard → DNS.
Fuga por IPv6 dual-stack
Las rutas estáticas IPv4 sólo cubren tráfico IPv4. Si un destino tiene registro AAAA (la mayoría de sitios populares lo tienen), los clientes LAN prefieren IPv6 (RFC 6724) y la solicitud sale por la ruta IPv6 por defecto del ISP — eludiendo la VPN.
Dos soluciones en Keenetic:
- Genera rutas IPv6 en NetRoute Pro si tu VPN tiene endpoint IPv6 — mismo flujo, prefijos distintos (
2606:4700::/32,2001:4860::/32, etc). Impórtalas como.batseparado con el mismo enlace al interfaz VPN. - Deshabilita IPv6 globalmente en Internet → Connections → IPv6 si tu VPN no soporta v6. Todo el tráfico cae a v4 y se tuneliza correctamente.
Verificar
Después del import, comprueba que las rutas se aplicaron: aparecen en la lista Enrutamiento → rutas IPv4 enlazadas a tu interfaz VPN. Pero esto sólo confirma que la ruta fue añadida — no que el tráfico realmente va por la VPN. Tres comprobaciones reales desde un cliente LAN:
- Verifica la IP de salida para un dominio enrutado — debe pertenecer al proveedor VPN, no al ISP:
curl -v https://example.com 2>&1 | grep "Connected to" # Debe mostrar una IP dentro de uno de tus CIDR enrutados. - Comprueba qué IP ve internet para un sitio enrutado:
curl -s https://api.ipify.org # Cuando el CIDR enrutado incluye ipify o pruebas vía un proxy en la salida VPN, # esto refleja la IP de salida VPN. Compárala con tu IP real del ISP. - En el propio router (CLI por SSH/Telnet):
show ip route # confirma CIDR enlazados al VPN_IF show interface stat <VPN_IF> # los bytes RX/TX deben crecer al navegar el cliente LAN
tracert/traceroute no son fiables para esta verificación: las sondas ICMP/UDP suelen filtrarse, devolviendo * * * en cada salto y no dan señal útil.
Problemas comunes
La IP del sitio cambió — la ruta dejó de funcionar
CDNs como Cloudflare y Fastly rotan IPs periódicamente. Regenera el .bat en NetRoute Pro con optimización RIPE BGP activada — sustituirá con prefijos BGP anunciados que cubren todas las IPs del proveedor.
Demasiadas rutas
Keenetic maneja cientos de rutas estáticas sin problemas. Si necesitas más — usa el enfoque WireGuard AllowedIPs.
Ruta añadida pero el tráfico no va por la VPN
- ¿Interfaz VPN arriba? Comprueba en Internet → Conexiones — la fila de VPN debe mostrar Conectado con un uptime distinto de cero.
- ¿SNAT para tráfico LAN? Abre Internet → Otras conexiones, selecciona tu interfaz VPN y asegúrate de que “Usar para acceder a Internet” esté activado. Esa casilla hace que Keenetic NAT-ee el tráfico de los clientes LAN saliendo por la VPN. Sin ella los paquetes llegan al exit del VPN pero el servidor los ve con IPs de origen LAN internas y los descarta silenciosamente.
- No habilites una regla de masquerade aparte para proveedores VPN comerciales (Mullvad, ProtonVPN, IVPN, etc.). El servidor del proveedor ya hace SNAT del tráfico a su IP de salida — un masquerade adicional en el cliente no aporta nada y puede romper flujos asimétricos. Habilita masquerade sólo si corres tu propio servidor VPN sin SNAT.
- Revisa las reglas de firewall — en Reglas de red → Firewall nada debería bloquear explícitamente tus CIDR enrutados.
Para usuarios avanzados: CLI
Para automatizar o gestionar rutas programáticamente, conecta por SSH/Telnet y usa comandos ip route en modo config. Pero para la mayoría de casos, la subida de .bat es suficiente.
Archivo de configuración de ejemplo
Plantilla lista para editar con comentarios. Reemplaza las rutas de ejemplo con la salida de NetRoute Pro para tus sitios.
keenetic-routes.bat— Formatoroute ADDde Windows listo para cargar en Keenetic
@echo off
REM Example .bat file for upload to Keenetic router.
REM Generated by NetRoute Pro: https://alexander2k.github.io/netroute-site/
REM
REM Format: route ADD <network> MASK <netmask> <gateway>
REM Gateway can be 0.0.0.0 — Keenetic ignores it when you bind to an interface on upload.
REM Replace these example routes with output from NetRoute Pro for your target sites.
route ADD 1.1.1.0 MASK 255.255.255.0 0.0.0.0
route ADD 8.8.8.0 MASK 255.255.255.0 0.0.0.0
route ADD 162.159.0.0 MASK 255.255.0.0 0.0.0.0
REM Upload via Keenetic web UI:
REM System -> Routing -> Upload .bat -> select VPN interface -> confirm.
Consejo: ¿Necesitas un config sin estas líneas de comentarios? En las opciones de NetRoute Pro desactiva «Incluir comentarios en archivos exportados» — la extensión exportará solo los comandos de rutas. Útil para routers que no toleran comentarios.
Ver todos los ejemplos en GitHub →
Documentación oficial
Guías relacionadas
- MikroTik — importación de script
.rscde RouterOS - WireGuard — split tunneling con
AllowedIPs - Linux —
ip routecon script shell - OpenVPN — directivas
routeen config cliente
¿Listo para probar?
NetRoute Pro — extensión gratuita de Chrome para generar rutas desde cualquier sitio web.
Instalar extensión