Crear portal cautivo por hardware con router.

En la anterior ocasión aprendimos a crear un portal cautivo por software por el cual usábamos un ordenador conectado a internet y a su ver conectado a un punto de acceso Wi-Fi que difundía la Wi-Fi con el portal cautivo y era el ordenador el que controlaba el tráfico y los usuarios. En esta ocasión, tras haber probado personalmente el portal cautivo por hardware con un router Router Linksys WRT54GL, (el cual recomiendo para la práctica) al cual le hemos cambiado el firmware oficial por su correspondiente DD-WRT, vosotros podéis descargar el firmware correspondiente en la WEB DD-WRT y poniendo en el recuadro el modelo del router. Tras haberlo descargado el firmware tenemos que flashear el router para meter el nuevo firmware que se hace mediante la opción firmware upgrade.
Post para instalar DD-WRT:
Instalar DD-WRT

Tras haber realizado la instalación procedemos a crear el portal desde el propio router.

1. Poner en modo cliente


1. Reset. (Partimos de una configuración desde cero).

2. Accedemos via http al router en ip 192.168.1.1 via ethernet.

3. En Setup-Basic setup,

===> en el campo Network Setup

ponemos la ip: 192.168.2.1

===> DHCP server lo desactivamos.

===> Pinchamos en boton save settings.

Saldra el mensaje: Settings are successful. Unit is rebooting now. Please wait a moment...

4. Ahora con el navegador accedemos al router en la nueva ip 192.168.2.1

5. En Wireless - Security

===> Security Mode: WEP

===> Encryption: 128 bits

===> Key 1: Ponemos la clave en hexa sin ningun tipo de separadores.

===> Pinchamos el botton de save settings.


6. En Wireless - Basic settings

===> Wireless Mode: Client

===> Wireless Network Name (SSID): Inalambrica (Aqui ponemos el nombre del AP)

(No hace falta usar el site-survey).

===> Pinchamos el botton de save settings.


7. Ir a Status-wireless, y al final en: Wireless Nodes debera aparecer el access point con la mac correcta, y el signal quality moviendose en tiempo real.

(El router se conecta al AP, y el DHCP del AP le asignara una ip al router. esta ip aparece en la web del router como: WAN IP )

8. Pues ya podemos navegar por internet en nuestro ordenador, y acceder a la pagina web del router dd-wrt. Para ello, en nuestro ordenador nos ponemos cualquier ip de la subred 192.168.2.X por ejemplo la 192.168.2.45, y de puerta de enlace (GTW) nos ponemos la 192.168.2.1. Funciona como router, cualquier otro equipo en la misma subred y con el gtw 192.168.2.1 tambien podra navegar por la internet.

2. Usar/Instalar RFlowCollector.



1. Nos bajamos del download de la web www.dd-wrt.com - Downloads, la aplicacion: RFlowCollectorV3.rar

2. La descomprimimos y la guardamos en una carpeta de nuestro ordenador.

3. Vamos a la web de configuracion del dd-wrt, y pinchamos en Administration - Services

4. Vamos a la seccion RFlow / MACupd y la ponemos Enable a RFlow y MACupd. En server IP ponemos la direccion IP de nuestro ordenador.

5. Pinchamos en Save Settings.

6. Vamos a nuestro ordenador donde se descomprimio el programa y ejecutamos el programa.

7. Pincha el boton Network y entra la subred de tu red local, yo por ejemplo uso la subred 192.168.2.X luego entro el siguiente valor: 192.168.2

8. Y ya esta, programa te muestra distintas graficas de volumen de descarga de los distintos ordenadores de tu red. Parece que tiene algunas opciones mas no me ha dado tiempo a descubrir todavia. Como ves es sencillo, basicamente se trata de una aplicacion que se ejecuta en tu ordenador.

NoCat

Router con dd-wrt v23SP2. (En esta version es como la puse yo, supongo que funcionara en otras versiones).

Las versiones micro no soportan NoCat. Para confirmar si la versión que tienes instalada soporta NoCat mira File Versions.

Router con la boca WAN conectada al switch.
Configurar dd-wrt para que tenga WAN-IP. (Ver paso siguiente).
WEB dd-wrt: Setup - Basic Settings:

En apartador Internet Setup:
Internet Connection Type: Static IP
Internet IP Address: 192.168.2.99
Subnet Mask: 255.255.255.0
Gateway: 192.168.2.1
Static DNS 1: 192.168.2.1

En apartado Network Setup:
Local IP Address: 192.168.1.1
Subnet Mask: 255.255.255.0
Gateway: vacio a ceros
Local DNS: vacio a ceros

DHCPServer activado.


Es importante que la dns este bien puesta, sino nocat no arrancara. En mi caso el router adsl esta configurado de servidor DNS.

WEB dd-wrt: Administration - HotSpot

NoCatSplash: enable
Gateway Name: Jandemor (Cualquier nombre que quieras)
Home Page: http://www.dd-wrt.com (Cualquier cosa que quieras, creo que no se usa)
Allowed Web Hosts: 192.168.2.1 192.168.2.99
Document Root: /jffs/nocat
Splash URL: Vacia
Exclude Ports: 25
MAC White List: Vacia
Login Timeout: 86000
Verbosity: 2
Route Only: Disable


Nocat es un sistema de portal cautivo, ante cualquier peticion de url de un cliente, primero

lo redirige a una pantalla inicial (splash), si acepta, entonces puede continuar navegando por internet.

Esta pantalla inicial splash, tenemos que crearla y guardarla en el propio router dd-wrt. Existe otra posibilidad como tener el splash en un web server, pero yo he optado por tenerla en el propio router dd-wrt.

Primero crear pagina html: splash.html

- habilitar jffs:
WEB dd-wrt: Administration - Management:
JFFS2 Support lo ponemos enable.
- cargamos el firmare de la misma version que tengamos pero la version mini.
- por consola nos conectamos al dd-wrt, y creamos la carpeta /jffs/nocat
- nos conectamos por SCP con el programa WinSCP3 y subimos a dicha carpeta nuestro archivo: splash.html
- cargamos el firmare standard.
- comprobamos que sigue estamos la carpeta /jffs/nocat y el archivo splash.html


Ejemplo de splash.html

<html>
<head><title>$GatewayName</title></head>

<body bgcolor="#8A4A2B" text="#000000">
<form method="POST" action="$action">
<table cellpadding=15 width="852" align="center">
<tr>
<td width="816" align=center><p><font color="#20104D" size="7" face="Verdana, Arial, Helvetica, sans-serif">
<b><em>Bienvenido a <br>$GatewayName</em><b></font></p></td>
</tr>
<tr>
<td align=center><p>Red en pruebas de portal $GatewayName</p></td>
</tr>
<tr>
<td align=center><input type="submit" value=" Continuar "></td>
</tr>
</table>
<input type="hidden" name="accept_terms" value="yes">
<input type="hidden" name="mode_login">
<input type="hidden" name="redirect" value="$redirect">
</form>
</body>
</html>


WEB dd-wrt: Wireless - Basic Settings

Wireless Mode: AP
Wireless Network Name (SSID): WIFI Teatinos (Aqui poneis el nombre que querais)


WEB dd-wrt: Wireless - Wireless Security

Security Mode : Disabled


Es importante que compruebes desde la consola (telnet o ssh) que el proceso splashd

se esta ejecutando. Ejecuta el comando ps, y te debe mostrar algo como:
413 root 380 S splashd


Si ejecutas el comando ps nada mas reiniciar el router podras ver el proceso siguiente

que es el que arranca splashd, pero pasados unos segunos ya no estara este proceso
de arranque sino el proceso splashd.

168 root 468 S /bin/sh /tmp/start_splashd.sh




/etc/nocat.conf esta enlazado con /tmp/etc/nocat.conf
Este archivo es creado automaticamente por el proceso start_splashd usando como referencia
los valores NC_ de la nvram.



Por curiosidad muestro el contenido del archivo con: cat /etc/nocat.conf

RouteOnly 0
Verbosity 10
GatewayName Jandemor
GatewayAddr 192.168.1.1
GatewayPort 5280
GatewayMAC 00:16:01:0E:68:E4
GatewayPassword
GatewayMode Open
DocumentRoot /jffs/nocat
LeaseFile
FirewallPath /usr/libexec/nocat/
ExcludePorts 25
IncludePorts
AllowedWebHosts 192.168.1.1
MACWhiteList
DNSAddr 192.168.2.1
HomePage http://www.dd-wrt.com
ForcedRedirect 0
PeerCheckTimeout
IdleTimeout 0
MaxMissedARP 5
LoginTimeout 60
RenewTimeout 0




Solo por curiosidad puedes ver como la capa de presentacion de dd-wrt guarda los valores en la nvram con

el siguinte comando: nvram show | grep NC_

En mi router me sale lo siguiente:

NC_Verbosity=10
NC_RenewTimeout=0
NC_SplashURL=
NC_MaxMissedARP=5
NC_MACWhiteList=
NC_DocumentRoot=/jffs/nocat
NC_RouteOnly=0
NC_GatewayPort=5280
NC_SplashURLTimeout=21600
NC_IncludePorts=
NC_HomePage=http://www.dd-wrt.com
NC_GatewayName=Jandemor
NC_ExcludePorts=25
NC_enable=1
NC_LoginTimeout=60
NC_GatewayMode=Open
NC_IdleTimeout=0
NC_ForcedRedirect=0
NC_AllowedWebHosts=


Creo que ya esta, con un PC cliente, nos conectamos al AP WIFI Teatinos, y a navegar ....
Al principio veremos el splash.html (portal cautivo), si iniciamos sesión podremos navegar.

8 comentarios - Crear portal cautivo por hardware con router.

@wisakz +1
a fav muchas gracias
@_Leokpo_ +1
Portal Cautivo para router wrt54g v6 está complicado, no posee para NoCat, no soporta que digamos... chequeen bien las versiones de los routers, las mismas versiones están pegadas en las etiquetas (modelos de linksys) en los equipos (a no confundir con versión Firmware)....
@aitorrio
Imagino que le meteriamos un DD-WRT jajaja. Saludos.
@_Leokpo_
@aitorrio
Si... le deje el DD-WRT, es otra cosa ahora el router, pero no me sirve para lo que es "Portal Cautivo", veré si le cambio el router a dos amigos que tienen el mismo modelo, mirando si poseen v4, ya que tiene más memoria que la v6. Suertes.
@danubio223
muchas gracias por la info lo aplicare y te cuento que tal saludos!!
@tobal7710
Hola amigo, podrías realizar un backup de tu router? y compartirlo, yo tengo el mismo, desde ya gracias, saludos.
@elsemillas
por cierto el que se interese en hacer este portal cautivo tengo todos los firmwares dd-wrt versión especial para los routers admitidos y ya trae todas estas utilerias
@MemoBeat
hola amigo cambie la dirección 192.168.1.1 a 192.168.2.1 como lo indicas pero ya no puedo acensar desde el navegador como puedo solucionar esto
@aitorrio
Cada ajuste debes hacerlo en particular conectandote por Ethernet a cada equipo, una vez todo listo, lo interconectas pero si antes no lo configuras creas conflicto y no se veran unos equipos a otros por lo que ni habrá portal cautivo ni internet.
@joseangel801
Tengo una duda, tras instalar el DD-WRT en el router, ¿el router funcionara como router o solamente como portal cautivo?