7. Możliwości poszerzania funkcjonalności programu przez uzupełnianie go własnymi skryptami, np. pisanymi w Perl-u.

7.1. Skrypty "billing abonentów sieci blokowej".

Znakomitym przykładem może być zastosowanie Smabiego do prowadzenia rozliczeń sieci blokowej lub podobnej - dzięki tak uzupełnionemu pakietowi (w pełni funkcjonalne - WYPRÓBOWANE - przykłady skryptów załączone w pakiecie) administrator sieci nie tylko ma ułatwioną "biurową stronę" swojej pracy, ale także wszelkie odłączenia od sieci osób zalegających z płatnościami oraz załączenia powrotne, po uregulowaniu rachunku, dokonywane są w pełni automatycznie.

Idea rozwiązania

Udostępnione przez nas w pakiecie dwa skrypty Perl-owe: blokujący dostęp (zablokuj.pl) oraz znoszący blokadę (odblokuj.pl) przygotowane są pod kątem najpowszechniej stosowanej przez operatorów sieci blokowych metody, tj. przyporządkowania adresowi IP adresu MAC karty sieciowej, i zamieszczenie listy par takich adresów w pliku, najczęściej po prostu o nazwie /etc/hosts.arp, będącym źródłem danych dla ARP. Dotychczas, celem odcięcia niesolidnego klienta należało dokonywać takich manipulacji "ręcznie" - tj. najpierw sprawdzić stan rozliczeń, ustalić adres IP przyporządkowany "pacjentowi", dokonać odpowiednich zmian w /etc/hosts.arp, restart daemona. Wariant proponowany przez nas upraszcza tę procedurę do niezbędnego minimum: wystarczy jedynie na bieżąco, w miarę spływu należności, "odhaczać" w bazie danych fakt ich zapłaty - reszta dzieje się sama! Cały dowcip polega na tym, iż śledzeniem stanu bazy (i odpowiednią reakcją) zajmie się od tej pory wspomniana powyżej para skryptów: skrypt blokujący dostęp, który należałoby dopisać do cron-a w celu uruchamiania go raz w miesiącu (np. 20-go każdego miesiąca), po przekroczeniu ostatecznego terminu zapłaty, oraz skrypt znoszący blokadę, uruchamiany codziennie np. późnym popołudniem (powiedzmy: każdego dnia o 19-tej), kontrolujący odnotowanie w bazie faktu uregulowania należności - i w takim przypadku przywracający dostęp do Sieci.

Instalacja

Instalacja jest elementarnie prosta, i zajmuje ok. 5 minut: bezpośrednio na serwerze dostępowym instalujemy skrypty, i dopisujemy do cron-a czas ich wykonywania np. o czasie zaproponowanym powyżej. Skrypty wymagają wpisania w ich części konfiguracyjnej minimalnej ilości parametrów kierujących ich działaniem - przykładowo: Bardzo istotną pozycją jest $usługa; należy tu wpisać taki fragment nazwy usługi, polegającej na udostępnianiu Internetu w ramach sieci blokowej, żeby nie mogła zajść możliwość pomylenia przez skrypt tej usługi z inną (firma może przecież realizować rozmaite stałe zlecenia - chodzi o to, by skrypt kontrolował tylko te "dostępowe"). Jeśli naszą usługę opisujemy na fakturach jako "Dostęp do Internetu po ethernecie", pole $usluga może mieć po prostu wartość "etherne" (jeśli to słowo nie występuje w nazwie żadnej innej usługi naszego cennika). Uwaga: "etherne", a nie "ethernet" - bo w nazwie usługi słowo "ethernet" odmieniono! ;) Zawartość tego pola niekoniecznie musi stanowić jedno słowo - może również składać się z fragmentu zdania. Uwaga: skrypty wymagają instalacji na serwerze, gdzie są zainstalowane, oczywiście Perl-a, i pakietu Postgres-perl!

Wskazówki co do zawartości bazy danych.

Tylko dwie: [szczególy rekordu]
Dzięki wpisaniu MAC-adresu karty sieciowej danego klienta w polu "uwagi" jego rekordu w bazie danych, będzie on "widoczny" dla skryptu śledzącego rozliczenia abonentów sieci blokowej.

Jak widać z powyższego, jeśli chcemy jakiegoś klienta wyłączyć spod kontroli automatu, wystarczy po prostu nie podawać w polu "uwagi" adresu MAC jego karty sieciowej.

Ot i wszystko! Podsumujmy zatem:

Zalety powyżej opisanego rozwiązania: Wady powyżej opisanego rozwiązania: Do zalet możemy dodać jeszcze jedną, o charakterze bardziej psychologicznym - co nie znaczy, że błahym: administrator serwera nie występuje więcej w roli "złośliwca" blokującego komuś dostęp z powodu niepopłaconych rachunków (wszak dostęp "blokuje się sam" - nie wymaga akcji ze strony administratora) - przeciwnie, admin awansuje tu do roli dobroczyńcy, który na grzeczną i uprzejmą prośbę może (kto wie?) ten dostęp przywrócić "ręcznie" nawet przed uregulowaniem przez "spóźnialskiego" należności... ;)

Poprzednia strona | Następna strona | Spis treści
Strona główna serwisu programu