User Tools

Site Tools


consejos_para_usar_portales_cautivos_wifi_en_linux

This is an old revision of the document!


Conexión a portales cautivos (HotSports / Puntos de acceso WiFi)

Los portales cautivos son esos HotSpots que una vez conectados, obligan a autenticarse o aceptar determinadas políticas mediante un formulario web antes de navegar. Para forzar a que el usuario se autentique, estos portales suelen usar direcciones DNS / HTTP. Son comunes en centros de ciudades, aeropuertos, servicios de transporte, supermercados, etc.

Los dispositivos móviles una vez conectan, suelen mostrar directamente la página donde se debe interactuar (autenticar el usuario, aceptar políticas, introducir correo, etc). Esto en sistemas operativos no es tan común y se exponen a continuación una serie de cosas a tener en cuenta para poder autenticarse con este tipos de puntos de acceso.

  • DHCP debe estar activo para obtener una IP de la red del Punto de acceso.
  • Se deben usar los DNS del punto de acceso, normalmente se obtienen mediante DHCP.
  • Para conocer la URL del portal cautivo es necesario intentar una conexión http (NO HTTPS). Las conexiones HTTPS mostrarán un error de certificado o bien de conexión reinicializada. El uso de curl y cualquier petición http puede valer para visualizar la redirección http al panel web del portal cautivo. Los servidores web suelen avisar también con un mensaje del tipo “You must log in to this network before you can access the internet.” Pulsando sobre el botón “Open network login page” debería de abrirse la URL del portal cautivo.

NOTA: Si pese a estar conectados a la red WiFi y haber obtenido una IP no se obtiene respuesta sobre la URL del portal cautivo, en algunas ocasiones funciona introducir la IP de la puerta de enlace en el navegador.

Aportar el mínimo de información al punto de acceso que ofrece el portal cautivo usando DHCPCD

El uso de DHCP es obligado en este tipo de conexiones, por tanto, cuanto menos información se ofrezca mejor. En las conexiones DHCP, la manera de identificar sesiones es mediante direcciones MAC, las cuales son únicas e identifican interfaces de red y fabricantes. Pero no solo se muestra información sobre la interfaz wireless, el DUID es en muchas ocasiones derivado de la primera interfaz del sistema, la cual suele ser ethernet. también los servidores dhcp ofrecen el hostname como identificador a los puntos de acceso.

Dependiendo de como se generan los identificadores, los códigos del vendedor del dispositivo también pueden estar presentes. Es decir, es factible obtener direcciones físicas de interfaces de red y del dispositivo (ej modelo de laptop) y el hostname del sistema operativo. No solo mediante identificadores derivados de esos números de serie, si no que DHCP también implementa opciones concretas con información del fabricante, URLs y campos extra.

/var/lib/dhcpcd/duid               # De existir no dhcpcd no generará uno a la hora de conectar y usara el del sistema de ficheros.
                                   # Se recomienda revisar por si ofrece información de direcciones MAC. De ser así puede ser eliminado o modificado.
journalctl -b | grep "IAID\|DUID"  # Muestra valores IAID y DUID en uso.
/etc/machine-id                    # Identificador en el que GNU/Linux se basa el valor UUID que a su vez usa DUID en a mayoría de distribuciones.

Opciones que introducir en /etc/dhcpcd.conf. Se puede jugar con el orden de las opciones. Si la opción “anonymous” no se agrega al final del fichero, otras opciones pueden sobrescribir su comportamiento y enviar determinada información. Es útil si queremos falsear información, por ejemplo, un hostname concreto.

anonymous          # Realiza la configuración DHCP usando el mínimo de información en el proceso.
randomise_hwaddr   # Genera una MAC diferente y aleatoria en cada reinicio de la interfaz o conexión de red.

Controlar el contenido del fichero /var/lib/dhcpcd/duid para que no contenga información de MACs del sistema y comprobar su uso en base a las opciones definidas en /etc/dhcpcd.conf usando “journalctl” y filtrando por “DUID”. Si el fichero es eliminado dhcpcd generará uno (pero no se creará el fichero, al menos mediante el demonio dhcpcd).

NOTA: Usando una configuración anónima para dhcp (o simplemente cambiando el DUID) fuerza que el punto de acceso nos asigne una IP diferente cada vez, esto puede ser molesto si el 99% del tiempo usamos la red de casa o la oficina. Se pueden tener dos configuraciones y cambiar de una a otra mediante un pequeño script. Todo depende con la frecuencia con que conectemos a este tipo de redes WiFi de portal cautivo.

Opciones de dhcpcd.conf que permite especificar la información con la que se conecta.

hostname         # Envía el hostname "/etc/hostname".
clientid         # Ofrece la MAC Interface como identificador
 
interface wlan0  # Ofrece los ultimos4 octetos de la MAC (es lo que se denomina como IAID (no es muy usado este método)
iaid wlan0       
 
duid             # El método predeterminado, depende de la versión y sistema se puede generar de varias maneras, por ejemplo:
                 # valor aleatorio basado en un hash de /etc/machine-id + timestamp + la MAC de la primera interfaz de red.
consejos_para_usar_portales_cautivos_wifi_en_linux.1647823949.txt.gz · Last modified: 2022/03/21 01:52 by busindre