Raspberry Pi se transforman en hot spot Wifi con portal cautivo (2/2)
Para facilidad de punto de acceso automático, visita El artículo aquí.
En un artículo anterior, Nos habíamos instalado nuestro propio punto de acceso Wifi. Ahora se trata de añadir un portal cautivo para controlar quién va a usar. 
- El método simple está pasando a través de una página PHP. Puede mostrar un mensaje en una página HTML, esperar a una y luego permitir el acceso a Internet.
- El método más complejo donde vas a través de una herramienta especializada como por ejemplo YFi Hotspot Manager.
Cada método tiene mucho sobre sus ventajas y desventajas, pero inicialmente elegí simplicidad y sólo control forma básica a Internet. Será a través de una página PHP.
Un portal cautivo en PHP
- Instalar Nginx con soporte PHP. El más sencillo es seguir las instrucciones de Este artículo. Aquí está mi configuración del servidor :
Servidor { root/var/www; Índice index.php; nombre_servidor localhost; Alquiler / { try_files $uri $uri / index.php; } alquiler ~ .php$ { fastcgi_split_path_info ^(.+\.PHP)(/.+)$; fastcgi_pass unix:/var/run/PHP5-fpm.sock; fastcgi_index index.php; incluyen fastcgi_params; } } - Instalar paquetes adicionales :
apt - get install conntrack
- Permitir que el usuario www - datos para llevar a cabo los comandos requeridos para administrar el acceso :
Lanzamiento visudo luego añada las siguientes líneas al final del archivo : - Crear la página de inicio index.php
<!--?php $ip = $_SERVER['REMOTE_ADDR']; $mac = shell_exec("sudo /usr/sbin/arp -an " . $ip); preg_match('/..:..:..:..:..:../',$mac , $matches); $mac = @$matches[0]; if( $mac === NULL) { echo "Access Denied."; exit; } ?--> <form action="process.php" method="post"> <input name="mac" type="input" value="<?php echo $mac; ?>" /> <input name="ip" type="input" value="<?php echo $ip; ?>" /> <input style="padding: 10px 20px;" type="submit" value="OK" /> </form> - Crear la página que va a generar las reglas para permitir el acceso a Internet Process.php. Cuando el usuario ha validado el formulario en la página anterior, Es ella quien será llamado a dar acceso completo.
- Crear el conjunto de las reglas de enrutamiento
iptables -t mangle -N internet iptables -t mangle - A PREROUTING -i wlan0 -p tcp -m tcp - dport 80 -j internet iptables -t mangle-internet -j--set-marca 99 iptables nat-A PREROUTING-i wlan0 p tcp m marca t - marca 99 -m tcp - dport 80 -j DNAT - destino 192.168.10.1
- Guardar las reglas para los siguientes algunos reinicios
Servicio iptables - persistente
www - data todos = NOPASSWD: /usr / sbin / arp www-data ALL = NOPASSWD: /sbin / iptables www-data ALL = NOPASSWD: /usr/bin/rmtrack [0-9]*.[0-9]*.[0-9]*.[0-9]*
Ya estás aquí ! Un punto de acceso con un portal cautivo. Puede editar las páginas PHP para cambiar el aspecto y las características. Una base de datos podría, por ejemplo, memorizar las direcciones MAC para no pedir la conexión, administrar un tiempo de conexión, un volumen, etc..
Fuentes :



