Al parecer en el mundo todavía hay muchos lugares donde llevar internet es un reto. Hace ya varios años se pusieron de moda los WISP (Wireless Internet Service Provider’s) y revisando las tecnologías que usan estos proveedores surgieron varios laboratorios repasando temas. Hoy quiero refrescar PPPoE, la forma en que la que nos conectamos a internet desde hace 20 años.
PPP
PPP o Point to Point Protocol es un protocolo de capa 2 del modelo OSI que funciona en casi cualquier medio incluyendo todos los enlaces seriales. Si tenemos que conectar dos puntos distantes con diversos enlaces de Wireless o fibra óptica nuestro protocolo establecerá un vínculo y sobre este creará un tunel IP para poder transferir los datos. Seguramente si tu ISP te da internet con una conexión de tipo DialUp está usando PPPoE.
La versión PPPoE funciona sobre Ethernet(over Ethernet) y también hay una versión sobre ATM(PPPoA).
PPP Te permite asignar ips en los extremos del tunel, lo cuál lo hace excelente en casos donde el proveedor le asigna una ip pública al servicio de internet que contrataste.
PPP admite la autenticación con CHAP, MSCHAP1,MSCHAP2 y PAP. (viejos pero funcionales)
Ahora montemos un server y conectemos un cliente para unir dos redes.
Creamos el Servidor PPPoE
Este es nuestro esquema sobre el que trabajaremos en Mikrotik Router OS (y luego en Cisco IOS). La ether1(sin IP) será para el enlace PPPoE y la Ether2 será la LAN(192.168.10.0/24).
PPPoE funciona como cualquier vpn. A cada cliente le vamos a dar una ip para este enlace y una puerta de enlace para comunicarse con nosotros.(Nuestro equipo tendrá asignada la ip de puerta de enlace). Obviamente en el mismo rango de red o con una dirección /32.
![](https://www.nerdadas.com/blog/wp-content/uploads/2024/06/image-13-1024x434.png)
Voy a obviar la configuración general y dar por sentado que tenés configuradas las ips como van en la imagen.
Configuramos los Servidores
#RouterOS
#Pool de ips para los clientes, reservamos la 10.0.0.1 para nuestro server
/ip pool
add name=PPPoE ranges=10.0.0.2-10.0.0.254
#Profile para PPPoE donde también especificamos velocidades de conexión.
/ppp profile
add local-address=10.0.0.1 name=PPPoE rate-limit=10M/10M remote-address=PPPoE
#Usuario para PPPoE
/ppp secret
add name=usuario profile=PPPoE service=pppoe password=1234
#Interfaz de Server que escuche PPPoE
/interface pppoe-server server
add disabled=no interface=ether1 service-name=service1
![](https://www.nerdadas.com/blog/wp-content/uploads/2024/06/1-1024x688.png)
Creamos una instancia
![](https://www.nerdadas.com/blog/wp-content/uploads/2024/06/2.png)
Creamos el pool de ips que luego le daremos a los clientes pppoe
![](https://www.nerdadas.com/blog/wp-content/uploads/2024/06/3.png)
Creamos el usuario que usaremos con su clave y el servicio al que lo asociaremos.
![](https://www.nerdadas.com/blog/wp-content/uploads/2024/06/4.png)
Y acá le decimos que cuando se conecte tome por puerta de enlace nuestro router y una ip para si del pool PPPoE que creamos para los clientes.
Cliente
Del lado del cliente solo hay que configurar un cliente pppoe y llenar los datos(usuario, password e interfaz donde corre el servicio)
/interface pppoe-client
add add-default-route=yes disabled=no interface=ether1 name=Usuario-PPPoE user=usuario password=1234
![](https://www.nerdadas.com/blog/wp-content/uploads/2024/06/cliente-1-1024x576.png)
![](https://www.nerdadas.com/blog/wp-content/uploads/2024/06/cliente-2.png)
![](https://www.nerdadas.com/blog/wp-content/uploads/2024/06/cliente3.png)
Con Cisco
Para hacer un poco más completo este LAB vamos a agregar otro cliente pero con router con Cisco IOS.
en el R1 vamos a configurar un nuevo usuario y password:
/ppp/secret
add name=cisco password=cisco service=pppoe
Y ahora vamos a configurar nuestro R3 que tiene Cisco. La interfaz de conexión es la F0/0.
Configuraremos primero una interfaz virtual como «Marcador» (dialer) y esa interfaz luego la vincularemos a la interfaz física que conecta con nuestro enlace con pppoe.
Notarás también que definimos un mtu de 1492, eso es porque el encabezado ppp ocupa unos 8bytes, restamos y ahí tenemos el valor configurado. Luego, el tipo de encapsulamiento, usuario y password.
#configuramos la interfaz discador
interface Dialer2
ip address negotiated
ip mtu 1492
encapsulation ppp
dialer pool 1
ppp chap hostname cisco
ppp chap password 0 cisco
#ahora configuramos la interfaz física
interface FastEthernet0/0
no ip address
pppoe enable group global
#Asignamos el dial pool donde está nuestro discador.
pppoe-client dial-pool-number 1
![](https://www.nerdadas.com/blog/wp-content/uploads/2024/06/image-15.png)
Detalles a notar en esta foto:
La ip está asignada al discador
La F0/0 está up y procol up pero sin ip. Para ver los datos completos: show interfaces
![](https://www.nerdadas.com/blog/wp-content/uploads/2024/06/image-16.png)
![](https://www.nerdadas.com/blog/wp-content/uploads/2024/06/image-17-1024x362.png)