Nivel: intermedio
Partamos de algo importante: no me gusta mucho el PPPoE. No es que no me guste porque sí, es que creo que es matar moscas a cañonazos. Prefiero rutado con asignación de IP por DHCP.
Dicho esto, sé que muchos de vosotros lo usáis en vuestras redes. Normalmente el motivo es la transición desde otras tecnologías basadas en WiFi. En otras ocasiones, es porque os hicieron esa recomendación al principio de los tiempos y ahora es tarde para cambiar.
Configuración previa
Nuestros CPEs soportan PPPoE, pero en muchos casos el operador prefiere que la sesión de PPPoE la negocie el router doméstico que está detrás del terminal radio.
Esta forma de trabajar requiere que el CPE esté configurado en modo bridge:
Los paquetes PPPoE han de poder pasar transparentemente a través del CPE y de la BS. La BS, por defecto, viene configurada como bridge, pero el CPE normalmente está configurado como un router con NAT.
Así que antes de nada hay que configurar el CPE como bridge; si es que no lo tenéis así, configuradlo de esta forma.
El miedo del bridge
Ahora aparece el miedo. Cuando configuramos un CPE en modo bridge todo son lloros y lamentos. Es lógico, estamos conectando en capa 2 la red del cliente con nuestra red. Si no hacemos nada para evitarlo podremos tener problemas del pelo de:
- Servidores DHCP que haya en la red del cliente dando IPs a otros clientes
- Personas imprimiendo en las impresoras de los vecinos
- Loops y tormentas de broadcast
- Otros infiernos variados.
Creo que estos miedos son los que hacen que muchos de vosotros pongáis el PPPoE en el CPE en lugar de en el router de cliente.
La solución: que solo pase el PPPoE
El sistema de clasificadores y filtros de nuestros equipos nos permite una cosa: dejar que por la radio solo pase el tráfico que a vosotros os interesa. Una especie de firewall o de «ebtables» pero todo configurado desde la BS.
Lo que vamos a hacer es dejar pasar solo los paquetes del protocolo PPPoE. En realidad PPPoE son dos protocolos:
- PPPoE discovery: con ethertype 0x8863
- PPPoE session: con ethertype 0x8864
Así pues si le pedís a la BS que solo deje pasar en bajada y en subida los paquetes que tengan esos ethertypes habremos conectado el router doméstico en modo bridge a nuestra red, pero evitamos que haya todos los problemas anteriores.
¿Cómo hacemos el filtrado?
Vamos a ver un caso sencillo de una plantilla en la que solo hay un servicio de bajada y un servicio de subida sin ningún clasificador previo.
Empezamos añadiendo un clasificador en el servicio de bajada (hacemos click en «Add new classifier» en el servicio de bajada):
Configuramos el clasificador con estas características:
- Order: 255
- Layer 3 Protocol. Ethertype: 0x8863
Le damos a «Save» y volvemos a añadir otro clasificador en el servicio de bajada con esta configuración:
- Order: 255
- Layer 3 Protocol. Ethertype: 0x8864
El servicio de bajada nos debería quedar así:
Ahora tenemos que repetir el mismo procedimiento con el servicio de subida y nos debería quedar así:
Un aviso importante
Salvo que estéis usando SMC (Secondary Management Channel), una vez reconectéis perderéis gestión del CPE. No os asustéis. Es normal: el CPE está en bridge y sus paquetes, que no son PPPoE, están filtrados y no pueden subir hacia la red.
Aquí hay dos soluciones para este problemilla:
- No hacer nada: si necesitáis entrar alguna vez a la antena del cliente, simplemente cambiad la plantilla a una sin filtros y ya podréis acceder al equipo.
- Usar SMC: nuestra recomendación y que dejaremos para otro tutorial.