Blokada użytkowników zalegających z płatnościami
Ostatnia zmiana: 2014-04-09 22:36

Celem projektu jest łatwa możliwość zablokowania dostępy dla wybranej grupy podłączonych klientów i przekierowanie ich na inną stronę informacyjną. Blokada następuje na podstawie adresu MAC, dotyczy zarówno klientów przewodowych jak i bezprzewodowych. Rozwiązanie ma działać na wszystkich platformach wspieranych przez OpenWrt.

Projekt w całości napisany został jako skrypty shella i wykorzystuje komponenty standardowo dostępne w normalnej instalacji OpenWrt. Nie jest zależny od konkretnej platformy sprzętowej.

Historia zmian

  • 2012.01.15
- wyświetlanie listy adresów MAC z arp

  • 2011.11.13
- zamiana module parsowania adresów MAC

  • 2010.04.19
- zamiana serwera httpd na uhttpd

  • 2010.02.24
- modyfikacja sposobu aktualizacji blokad

  • 2010.02.07
- wersja początkowa

Instalacja

Należy zainstalować pakiet blokada (dostępny jest w moim repozytorium)


    # opkg install blokada
    # /etc/init.d/blokada enable
    # /etc/init.d/blokada start

Plik z blokadami: /etc/lista_mac.txt
Panel administratora: http://ip_rutera:8765/cgi-bin/admin.sh (domyślne hasło: admin1234)

Konfiguracja

Można wykonać w dwojaki sposób:

  • edycja pliku /etc/lista_mac.txt
Zawiera ona listę blokowanych adresów oraz domyślny komunikat w przypadku braku blokady. Każdy adres musi być umieszczony w oddzielnej linii, a po przecinku komunikat (można stosować tagi HTML) który zostanie wyświetlony dla użytkownika w przypadku jego zablokowana. Adres mac musi być podany w formacie 00:00:00:00:00:00. Po zmodyfikowaniu pliku należy pamiętać o ponownym uruchomieniu programu


    # /etc/init.d/blokada start

w celu zaktualizowania blokad adresów.
Usunięcie blokady to po prostu usunięcie odpowiedniej linii z pliku /etc/lista_mac.txt i ponowne uruchomienie programu.

Przykładowa zawartość pliku /etc/lista_mac.txt


    00:00:00:00:00:00,Wszystko ok!
    00:00:00:26:03:01,Blokada dostępu! Nie płaciłeś!<br>(no i teraz masz problem)
    00:00:00:26:03:02,Zgłoś się do administratora

Wpis z adresem 00:00:00:00:00:00 musi istnieć - jest on wykorzystywany w przypadku kiedy brak jest blokady.

  • wykorzystanie panelu administratora
Po uruchomieniu dostępny jest prosty panel administratora pod adresem http://adres_rutera:8765/cgi-bin/admin.sh. Po podaniu hasła (domyślnie: admin1234) zostanie wyświetlona bieżąca konfiguracja, w której można dodać nowy adres mac wraz z komunikatem, lub odblokować istniejący już wpis.


Panel administratora


Przykładowy komunikat po zablokowaniu

Technikalia

Działanie projektu
- skrypty startowe odczytują listy adresów MAC z pliku tekstowego
- przekierowanie ruchu odpowiadającego każdemu adresowi MAC na adres http://ip_rutera:8765

Jeżeli komputer o przekierowanym adresem mac będzie próbował odwołać się do dowolnej witryny nastąpi wykonanie skryptu blokada.sh umieszczonego na ruterze który:
- odczytuje adres ip komputera
- na podstawie tablicy arp odczytuje adres MAC tego komputera
- na podstawie pliku /etc/lista_mac.txt odczytywany jest komunikat i wyświetlany dla użytkownika

Uwagi

- restart firewalla powoduje zdjęcie blokad, więc należy pamiętać także o ew. uruchomieniu programu