PPPoE server MikroTik: monta tu BNG en RouterOS para ISP
16 de junio de 2026
Si operas un ISP o WISP y todavía autenticas abonados por IP fija o DHCP, sabes lo que duele en la hora peak: sesiones que no cierran, direccionamiento imposible de rastrear, planes que no se respetan y cero visibilidad de quién está conectado. Un PPPoE server MikroTik bien diseñado resuelve eso: cada abonado levanta una sesión autenticada, recibe su IP desde un pool, arrastra su perfil de velocidad y queda visible en tiempo real. En este artículo revisamos cómo montar ese BNG (Broadband Network Gateway) sobre RouterOS, con los menús y comandos reales que vas a tocar en producción.
Por qué un PPPoE server como BNG y no DHCP plano
Un BNG es el punto donde terminan las sesiones de tus abonados y donde aplicas identidad, direccionamiento, control de tráfico y contabilidad. En RouterOS ese rol lo cumple el servicio PPPoE. La diferencia frente a un esquema DHCP plano no es estética: es operativa.
- Identidad real por sesión. Cada cliente se autentica con usuario y contraseña (PAP/CHAP), no depende de la MAC ni de la buena fe del CPE.
- Direccionamiento ordenado. La IP se asigna desde un pool contra la sesión, no queda regada en la LAN.
- Control de plan integrado. El perfil PPP lleva el
rate-limit, así que el plan comercial viaja pegado al usuario. - Visibilidad y corte. En
/ppp/activeves quién está arriba, desde qué MAC y hace cuánto; cortar a un moroso es deshabilitar su secret.
Ese conjunto es lo que convierte un router en un BNG de verdad. El PPPoE server MikroTik no es un módulo aparte: se arma con tres menús que trabajan juntos, más RADIUS cuando escalas.
Las tres piezas: server, profile y secret
La configuración de gestión de abonados en RouterOS vive en /ppp y en /interface/pppoe-server. Antes de escribir comandos conviene tener claro qué hace cada menú, porque es fácil confundir dónde va cada parámetro.
| Menú | Qué define | Propiedades clave |
|---|---|---|
/interface/pppoe-server server | El servicio que escucha en la interfaz de acceso | service-name, interface, default-profile, authentication, one-session-per-host |
/ppp/profile | Valores por defecto del plan: direccionamiento y velocidad | local-address, remote-address, rate-limit, dns-server, only-one, address-list |
/ppp/secret | La base de usuarios local (uno por abonado) | name, password, service, profile, caller-id, remote-address |
La regla de precedencia importa: los valores en /ppp/secret sobrescriben a los del /ppp/profile —una IP fija definida en el secret gana por sobre el pool que trae el perfil—. Y si usas RADIUS, los atributos que llegan del servidor sobrescriben al perfil por defecto; los que no lleguen se toman del perfil. Tener esa jerarquía clara te evita horas de "por qué este cliente no toma su velocidad".
Montar el PPPoE server MikroTik paso a paso
Este es un armado mínimo y funcional sobre una VLAN de acceso hacia los abonados. Ajusta pools, direcciones y velocidades a tu red.
# 1) Pool de direcciones para los abonados
/ip pool
add name=pool-pppoe ranges=100.64.0.10-100.64.15.254
# 2) Perfil del plan (200M down / 20M up)
# rate-limit desde el router: rx = subida del cliente, tx = bajada del cliente
/ppp profile
add name=plan-200-20 local-address=10.255.0.1 remote-address=pool-pppoe \
rate-limit=20M/200M dns-server=1.1.1.1,8.8.8.8 only-one=yes \
address-list=clientes-pppoe
# 3) Un abonado en la base local
/ppp secret
add name=cliente001 password=Sup3rClave service=pppoe profile=plan-200-20
# 4) Publicar el servicio en la interfaz de acceso
/interface pppoe-server server
add service-name=isp interface=vlan-acceso default-profile=plan-200-20 \
one-session-per-host=yes authentication=chap,mschap2 disabled=no
Un par de detalles que marcan la diferencia en producción. El rate-limit=20M/200M se lee desde el punto de vista del router: rx es la subida del cliente y tx su bajada, así que el orden correcto para un plan de 200 de bajada y 20 de subida es 20M/200M, no al revés. El only-one=yes impide que el mismo usuario levante dos sesiones a la vez, y one-session-per-host=yes en el server bloquea múltiples sesiones desde la misma MAC. Si quieres amarrar un abonado a un equipo específico, el campo caller-id del secret acepta la MAC del cliente escrita en MAYÚSCULAS.
Verificar y operar
Una vez arriba, la operación diaria pasa por pocos comandos:
/ppp/active print— sesiones vivas: nombre, MAC (caller-id), uptime, IP asignada./ppp/secret print— la base de abonados; deshabilitar un secret corta al cliente en el próximo reintento.- El
address-listdel perfil te deja usar la listaclientes-pppoedirectamente en el firewall o en reglas de QoS.
Control de plan: rate-limit y burst en el perfil
El corazón comercial del BNG es el rate-limit. RouterOS crea una cola dinámica por sesión con esos valores, sin que tengas que tocar /queue a mano. La forma completa de la propiedad es:
rx-rate[/tx-rate] [rx-burst-rate[/tx-burst-rate] \
[rx-burst-threshold[/tx-burst-threshold] \
[rx-burst-time[/tx-burst-time] [priority] \
[rx-rate-min[/tx-rate-min]]]]]
Con eso puedes ofrecer burst real: por ejemplo, un plan que garantiza 200M pero permite subir un rato a 240M cuando hay holgura, y una priority (1 a 8, donde 1 es la más alta) para que ciertos planes ganen en la cola cuando el enlace se satura. El rx-rate-min/tx-rate-min te da un piso garantizado por abonado, útil para no dejar a nadie sin ancho de banda durante la congestión. Este control es un punto de encuentro natural con el diseño de QoS y traffic shaping: el perfil PPPoE define el límite por cliente y la política de colas define cómo se reparte el troncal en hora peak.
El perfil también admite parent-queue y queue-type (por ejemplo PCQ), lo que te permite colgar todas las sesiones de un nodo bajo una cola padre y modelar el ancho de banda del sector completo, no solo del abonado individual.
Escalar con RADIUS: de la base local al AAA centralizado
La base /ppp/secret local es perfecta para arrancar o para redes chicas. Cuando el ISP crece, mantener usuarios router por router se vuelve inmanejable y ahí entra RADIUS. RouterOS trae un cliente RADIUS que autentica sesiones PPP/PPPoE y envía contabilidad a un servidor central.
- Autenticación y autorización centralizadas. El servidor RADIUS es la fuente de verdad; el router solo consulta.
- Precedencia clara. La base local se consulta solo si no hay un registro que calce; los atributos de RADIUS sobrescriben al perfil por defecto, y lo que no llegue se toma del perfil.
- Contabilidad. Con accounting activo, el uso de cada sesión se reporta al servidor, base para facturación y control de consumo.
/radius
add service=ppp address=10.0.0.3 secret=ClaveRadius \
timeout=1100ms
/ppp aaa
set use-radius=yes accounting=yes
Con esto, el PPPoE server MikroTik deja de ser un router aislado y pasa a ser el frontend de un sistema de gestión de abonados: altas, bajas, cambios de plan y cortes por mora se administran desde el RADIUS y se reflejan en toda la red. El perfil PPP sigue siendo la red de seguridad para cualquier parámetro que RADIUS no envíe.
Errores frecuentes al desplegar el BNG
- Invertir el rate-limit. Recordar que
rxes subida del cliente; escribir200M/20Mentrega el plan al revés. - Olvidar
only-oneyone-session-per-host. Sin ellos, un cliente puede multiplicar sesiones y romper el conteo de ocupación del pool. - Pool mal dimensionado. Si el rango se agota, las sesiones nuevas quedan sin IP aunque el server esté sano.
- No usar
address-list. Es la forma más limpia de enganchar firewall y QoS con los abonados PPPoE sin listar IPs a mano. - Autenticación débil. Definir
authenticationexplícito en el server (CHAP/MSCHAP2) en vez de dejar todo abierto.
Si vienes migrando desde IP fija o DHCP, el salto a PPPoE también toca el resto de la red: MTU sobre la interfaz de acceso, direccionamiento con espacio CGNAT, y las reglas de firewall que aplican sobre las sesiones. Vale la pena planificarlo antes de mover abonados en producción; lo detallamos en nuestra página de PPPoE y gestión de abonados, y si ya tienes un BNG operando y necesitas afinarlo, ese es terreno de soporte especializado.
En MikroTik Chile diseñamos, implementamos y operamos BNG PPPoE sobre RouterOS para ISPs y WISPs que necesitan orden en el direccionamiento, control real de planes y visibilidad de cada sesión, con RADIUS y QoS integrados de punta a punta. Si estás montando tu servidor PPPoE desde cero o quieres estabilizar el que ya tienes en la hora peak, conversemos tu caso con un ingeniero.