Usar PPPoE en RouterOS de MikroTik en nuestro ISP o WISP
Hola amig@s:
Hoy vamos a ver como montar un servidor PPPoE en RouterOS de MikroTik para controlar las conexiones de nuestros clientes. Este protocolo es el más común y extendido conjuntamente con PPP, donde el primero trabaja sobre ethernet y el segundo con modems.
Con este protocolo daremos de alta usuarios/contraseñas y asignaremos sus anchos de banda e incluso si recibirá una dirección estática o dinámica.

También es posible usar con PPPoE las opciones de encriptación, métodos de autenticación y RADIUS. Esto supone un valor añadido ya que ofrece la posibilidad de gestionar todos los clientes de forma centralizada e integrada con ERPs.
A nivel de hardware el fabricante informa de los siguientes datos a tener en cuenta:
Un servidor PPPoE requiere memoria RAM adicional, 9 KB por conexión (10 KB si se usa QoS) y una CPU potente. El número máximo de conexiones permitidas son 65535.
Para mayor información sobre este protocolo en RouterOS podéis consultar el siguiente enlace. Pero importante recordar que dicho protocolo funciona a nivel 2, hace uso de broadcast para que el cliente pueda contactar con el servidor.
En el artículo se va a mostrar como configurar un servidor PPPoE en RouterOS y también un cliente en el mismo producto, pero la idea es poder usar otros clientes como pueden ser los dispositivos Ubiquiti que tienen soporte PPPoE.
A continuación se muestra un diagrama del entorno demo que se va a realizar como las etapas a seguir para conseguir el objetivo final.
- Configurar PPPoE Server.
- Crear un grupo de direcciones IP para clientes.
- Crear un perfil PPP.
- Crear un usuario para demo.
- Crear servicio PPPoE.
- Configurar PPPoE Client.
- Comprobación.
Configurar PPPoE Server
En los siguientes puntos vamos a ver los pasos para poner en funcionamiento nuestro servidor PPPoE en RouterOS de Mikrotik. Se da por supuesto que ya tenemos nuestros dispositivos funcionando en un entorno demo con máquinas virtuales donde haremos las pruebas.
Crear un grupo de direcciones IP para clientes
El primer paso es crear un grupo de direcciones IP, en nuestro caso es un rango privado, pero este podría ser facilmente un rango que nos suministre nuestro ISP subcontratado para nuestros clientes. En la línea de comandos ejecutamos la siguiente sentencia:
ip pool add name="PPPoE-pool" ranges=192.168.1.10-192.168.1.199
La sentencia arriba mostrada está creando un grupo de direcciones IP llamado PPPoE-pool que va desde la IP 192.168.1.10 a la 192.168.1.199 ambas inclusive.
Crear un perfil PPP
En este perfil vamos a especificar que dirección IP tiene localmente nuestro servidor PPPoE y que grupo de direcciones usa para los clientes. Muy importante saber que a la interfaz por donde se va a publicar PPPoE no se le asigne dirección IP sea estática o por DHCP por motivos de seguridad. En la línea de comandos ejecutamos la siguiente sentencia:
ppp profile add name="PPPoE-profile" local-address=192.168.1.1 remote-address=PPPoE-pool dns-server=195.235.113.3 rate-limit=512k/512k
La sentencia arriba mostrada crea el perfil predeterminado para todas las conexiones PPPoE el cual se llama PPPoE-profile, donde el servidor PPPoE tendrá como dirección IP 192.168.1.1, se usará el grupo de direcciones IP anteriormente creado llamado PPPoE-pool para los clieentes, suministrando servidor DNS y limitando a todos los clientes su velocidad a 512k de subida y 512k de bajada.
Crear un usuario para demo
Es el método para crear usuarios en la base de datos local de nuestro RouterOS. Existe posibilidad de usar bases de datos externas con conexión a través de RADIUS.Existen parámetros adicionales para asociar al usuario una dirección IP estática, conexión a través de un dispositivo concreto controlando su dirección MAC y otras muchas opciones. En la línea de comandos ejecutamos la siguiente sentencia:
ppp secret add name=e2h password=pipo service=pppoe profile=PPPoE-profile
La sentencia arriba mostrada crea un usuario llamado e2h y contraseña pipo para el tipo de servicio PPPoE tomando como perfil el que creamos llamado PPPoE-profile. Es común que el usuario sea el identificador del cliente como puede ser su DNI, número de teléfono o cualquier otro.
Crear servicio PPPoE
Por último se va a habilitar el servicio PPPoE a través de una interfaz lógica que se va a crear. La cual hereda también el perfil creado pasos atrás y asignado anteriormente, además de indicar por que interfaz va a escuchar nuestro servidor. En la línea de comandos ejecutamos la siguiente sentencia:
interface pppoe-server server add service-name="Internet" interface=ether1 default-profile="PPPoE-profile" disabled=no one-session-per-host=yes
La sentencia arriba mostrada crea una interfaz servidor PPPoE, con el nombre de servicio Internet escuchando en la interfaz ether1 (en nuestro WISP utilizaremos la interfaz inalámbrica), usando el perfil predefinido anteriormente, activamos el servicio y sólo admitimos una sesión por dispositivo.
Ya tenemos nuestro servidor PPPoE preparado para aceptar peticiones de nuestro clientes. A continuación vamos a ver como configurar un cliente PPPoE también en RouterOS.
Configurar PPPoE Client
Este es un paso sencillo, normalmente con introducir las credenciales resulta suficiente. En otras ocasiones puede ser necesario definir la MTU y MRU, en nuestro caso hemos dejado las predeterminadas que son 1480 para ambos casos. En la línea de comandos ejecutamos la siguiente sentencia:
interface pppoe-client add name="PPPoE-e2H" user=e2h password=pipo interface=ether1 service-name="Internet" disabled=no add-default-route=yes use-peer-dns=yes
La sentencia arriba mostrada crea una interfaz cliente PPPoE, con el nombre PPPoE-e2H, con las credenciales usuario e2h y contraseña pipo, saliendo por la interfaz ether1 (puede ser la interfaz inalámbrica del usuario), con el nombre de servicio Internet, dejándola habilitada y agregando la ruta predeterminada del servidor PPPoE así como el servidor DNS que definimos en el perfil PPPoE.
Comprobación
Ya tenemos la posibilidad de probar nuestra demo, será suficiente con lanzar un ping a la IP del servidor PPPoE o ejecutar la siguiente sentencia en el cliente para ver si estamos conectados:
interface pppoe-client monitor PPPoE-e2H
La sentencia arriba mostrada consulta a través de la opción monitor la interfaz PPPoE cliente que la llamamos PPPoE-e2H.
Esto ha sido todo, espero que el artículo resulte de ayuda y en próximas entregas veremos como ampliar las posibilidades de nuestro servidor PPPoE integrándolo con RADIUS.
¿Te gustó este artículo?
Aún no hay trackbacks.


8 marzo, 2011 - 02:45
Le explicación sin dudas parece excelente, pero no entiendo nada, a ver si me entero del mundo Mikrotik
24 abril, 2011 - 20:12
Excelente explicación, clara, corta y con ejemplos. Lo he probado sin problemas, sólo una pregunta, como normalmente se limita las conexiones al modo PPPoE, es decir, que no pueda conectarse manualmente configuràndose un IP, en mis pruebas me conecto por PPPoE pero si configuro a mano una IP permitida puedo ingresar y “navegar” sin problemas.
Saludos y gracias!
24 abril, 2011 - 20:23
Hola David:
Gracias por el comentario. Deja la consulta en nuestros foros en http://blog.e2h.net/foros y estaremos encantados de explicarte como solucionar ese inconveniente.
Un saludo.
24 abril, 2011 - 23:25
Muy buena la conexión por PPOe solo falta que SISLAND SERVER lo implemente la pr´xima versión y estare completamente sastistecho!!
18 noviembre, 2011 - 17:25
Super el trabajo… se te agradeceria muxo si te animas a hacerlo pero con equipos ubiquiti como clientes…
26 enero, 2012 - 16:58
Esta muy bueno, ahora decime como hago para que otros usuario tengan ip fija por ej. 192.168.100.50
osea
30 clientes pppeo con login y pass y
10 clientes con el ranjo de ip fija 192.168.100.50 – 60
28 enero, 2012 - 10:50
Hola Julio,
Por favor las consultas a través de los foros en http://blog.e2h.net/foros
Un saludo.
18 marzo, 2012 - 19:13
Me encanta tu blog, felicidades por él.
¿Esos diagramas tan chulos los haces con el Visio?
19 marzo, 2012 - 21:42
Hola Luis,
Exacto, los hago con Visio usando las diferentes stencils disponibles.
Muchas gracias, un saludo.
29 marzo, 2012 - 05:56
Muy bien, pregunto, como pongo prioridad a un usuario PIME para garantizar un ancho de banda.
Veo que todas las simple queue que se generan automaticamente cuando los usuarios ingresan , tienen prioridad 8, y el acho de banda asignado en el profile se completa mientras existe ancho de banda disponible, luego cuando no hay mas ancho de banda disponible e ingresan mas usuarios , lo reparte proporcionalmente, esto esta bien , pero si requiero garantizar un ancho de banda minimo a un cliente especial bajo pppoe como lo puedo hacer ?
Saludos
29 marzo, 2012 - 09:37
Hola Carlos,
Por favor las consultas a través de los foros en http://blog.e2h.net/foros
Un saludo.