Raspberry Pi im Hot Spot Wifi mit Zugangsportale zu verwandeln (2/2)
Für die automatische Hotspot-Anlage, finden Sie unter Artikel hier.
In einem früheren Artikel, Wir hatten unseren eigenen Wifi-Access-Point installiert.. Jetzt geht es um ein captive Portal-Steuerelement hinzufügen, die es nutzen. 
- Die einfache Methode ist durch eine PHP-Seite übergeben.. Sie können eine Nachricht in einer HTML-Seite anzeigen., warten Sie ein und lassen Sie Zugang zum Internet.
- Die komplexere Methode, wohin Sie durch ein spezielles Tool wie zum Beispiel YFi Hotspot Manager.
Jede Methode hat viel über seine vor- und Nachteile, aber zunächst ich entschied mich für Einfachheit und nur Kontrolle grundlegende Weise Zugang zum Internet. Es wird durch eine PHP-Seite sein..
Ein captive Portal in PHP
- Installieren von Nginx mit PHP-Unterstützung. Am einfachsten ist, befolgen Sie die Anweisungen des In diesem Artikel. Hier ist mein Serverkonfiguration :
Server { Root/Var/www; Index-index.php; Servername "localhost"; Lage / { Try_files $uri $uri / index.php; } Vermietung ~ .php$ { Fastcgi_split_path_info ^(.+\.PHP)(/.+)$; Fastcgi_pass Unix:/var/run/php5-FPM.sock; Fastcgi_index index.php; gehören fastcgi_params; } } - Zusätzliche Pakete installieren :
apt - Get install install conntrack
- Ermöglichen Sie dem Benutzer Www - Daten führen Sie die Befehle zur Verwaltung des Zugriffs erforderlich :
Start Visudo Fügen Sie folgende Zeilen am Ende der Datei : - Die Homepage erstellen 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> - Erstellen Sie die Seite, die die Regeln für den Zugriff auf das Internet zu generieren, wird Process.php. Wann hat der Benutzer das Formular auf der vorherigen Seite überprüft., Es ist sie, die aufgerufen wird, um vollen Zugriff zu geben.
- Den Satz von routing-Regeln erstellen
Iptables -t mangle -N Internet Iptables-t Mangle-a PREROUTING -i wlan0 -p Tcp -m Tcp--Dport 80 -j Internet Iptables -t mangle - ein Internet -j MARK--Set-mark 99 Iptables Nat-a PREROUTING-i wlan0 p Tcp m Mark t - mark 99 -m Tcp - dport 80 -j DNAT - zu-Ziel 192.168.10.1
- Speichern Sie die Regeln für die nächsten paar Neustarts
Service Iptables - persistent
Www - Daten ALL = 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]*
Hier bitte schön ! Ein Access-Point mit ein captive portal. Sie können PHP-Seiten, um das Erscheinungsbild und die Funktionen ändern bearbeiten.. Eine Datenbank könnte beispielsweise die MAC-Adressen, um nicht die Verbindung Fragen merken., Verwalten Sie eine Verbindungszeit, ein volume, etc..
Quellen :



