Wi-Fi în cafenea, autorizare prin SMS cu mâinile lor și aproape blog gratuit Cheredova Ivan

Deja, există multe soluții la această problemă. Din aspect atractiv serviciu gratuit SMS-uri cu portalul captiv AUTH pentru pfSense. pfSense se bazează pe nucleul FreeBSD, dar nu are nevoie de cunoștințe și abilități specifice pentru sistemul de operare. Aproape toate caracteristicile disponibile prin intermediul interfeței web.

Am făcut un portal captiv pe baza de note Nick Popovich (pipefish) „public captiv“. A fost scris în urmă cu cinci ani, dar până acum nu am găsit nimic mai ușor.

Am adunat PC-ul vechi cu două plăci de rețea. Acesta a pus Debian Linux 8. Acesta va acționa ca un router în loc DIR300. Și ultima pus în rezervă (puteți lipi întotdeauna înapoi, dacă se întâmplă ceva la calculator).

Pe computer a luat DHCP, DNS, MySQL, Apache.

export IPT = "iptables"
export WAN = ppp + # interfață, care arată la Internet, acesta este ridicat PPPoE ISP
export LAN = eth0 # LAN
LAN_IP_RANGE export = 192.168.37.0 / 24

firewall.sh Complet dosarul meu aici.

El are nevoie să ceară dreapta

sudo chmod 700 /etc/firewall.sh

Și așa a început la timpul de boot, trebuie să introduceți în / etc / rc.local

/etc/firewall.sh
ownerul www-date / var / lib / utilizatori
chmod 600 / var / lib / utilizatori

Setați permisiunile pentru adăugarea / etc / linii sudoers apache

www-date ALL = (ALL: ALL) NOPASSWD: / var / lib / utilizatori

Același lucru este valabil și pentru fișierul / var / lib / user1. Este scris Mac curent (deși este mai sigur să nu-l scrie într-un fișier, și imediat instrui Apache pentru a efectua "sudo iptables -I la internet 1 -t mangle -m mac -mac-source $ mac -j RETURN"). Astfel, marca pachetul părăsește lanțul „interenet“.

Există, de asemenea, adaugă o linie (care Apache a fost capabil să identifice Mac vizitator)

www-date ALL = (ALL: ALL) NOPASSWD: / usr / sbin / arp

Wi-Fi în cafenea, autorizare prin SMS cu mâinile lor și aproape blog gratuit Cheredova Ivan

modelarea traficului este implementat de HTB.

Comp pe langa router-ul încă mai acționează ca un server de imprimare. De asemenea, programată supraîncărcare punct de acces.

// functie de executarea comenzilor de pe mikrotike (care face legătura cu cheia)

Funcția ssh_exec ($ ip, $ comanda)
$ Connection = ssh2_connect ($ ip, 22);
în cazul în care (ssh2_auth_pubkey_file (conexiune $, 'www-date', '/var/www/.ssh/id_rsa.pub', '/var/www/.ssh/id_rsa'))
$ Stream = ssh2_exec (conexiune $, $ comanda);
stream_set_blocking (flux $, true);
$ Stream_out = ssh2_fetch_stream (flux $, SSH2_STREAM_STDIO);
reveni stream_get_contents ($ stream_out);
fclose ($ flux);
> altceva
die ( 'Public Key Autentificarea a eșuat');
>>

// găsi un mac din tabelul ARP

$ String = '/ ip firewall calandru adăuga lanț = PREROUTING src-mac-address = „'.. $ Mac '" In-interfață = pod protocol = tcp action = salt salt-target = registru loc înainte de a-= 0' ;
ssh_exec ($ router, $ string);

// trimite un SMS cu un modem 3G-ul este conectat la MikroTik

$ String = '/ sms instrument de a trimite canal USB3 = 3 7'. $ Tel. ' mesaj = "KOG Wi-Fi: 'cod $.'" „;
ssh_exec ($ router, $ string);

// adaugă la MikroTik, de obicei, sari pachete marcate de Mac

$ String = '/ ip firewall calandru adăuga lanț = PREROUTING src-mac-address = „'.. $ Mac '" In-interfață = pod protocol = tcp action = salt salt-target = registru loc înainte de a-= 0' ;
ssh_exec ($ router, $ string);

Asta e tot.

Vă rugăm să evaluați pagina, am incercat :)