4.3. Opis i konfiguracja

4.3.1. lms-notify

lms-notify jest dobrym sposobem przypominania ludziom o tym że do pracy sieci i łącz konieczne są ich pieniążki. Pozwala on na napisanie kilku[-nastu] plików tekstowych (w iso-8859-2) i traktowania ich jako szablonów do mailingu.

4.3.1.1. Szablony

W szablonach można używać następujących zmiennych:

  • %date-m - zostanie zastąpione aktualnym miesiącem, licząc od 1 poprzedzone 0, np. 02

  • %date-y - zostanie zastąpione aktualnym rokiem, np 2003

  • %saldo - zostanie zastąpione aktualnym saldem użytkownika, np. 535

  • %abonament - zostanie zastąpione kwotą abonamentu jaka jest do danego użytkownika przypisana, np. 107

  • %b - saldo z zanegowanym znakiem, np. 107

  • %B - saldo z prawdziwym znakiem, np. -107

  • %last_10_in_a_table - wyciąg ostatnich 10 operacji kasowych na koncie użytkownika, np:

Przykład 4-1. Lms-notify: Przykładowy wyciąg 10 ostatnich operacji kasowych

Data       | Opis                                                 | Wartość
-----------+------------------------------------------------------+---------
2003-02-02 | Abonament za miesiąc 2003/02                         |  107.00
2003-02-01 | Wpłata                                               | -107.00
2003-02-01 | Abonament za miesiąc 2003/02                         |  107.00
2003-02-01 | Wpłata                                               | -321.00
2003-01-31 | Abonament za miesiąc 2003/01                         |  107.00
2003-01-31 | Abonament za miesiąc 2003/01                         |  107.00
2003-01-31 | Abonament za miesiąc 2003/01                         |  107.00
-----------+------------------------------------------------------+---------

Przykład 4-2. Lms-notify: Przykład szablonu

UWAGA! Ta wiadomość została wygenerowana automatycznie.

Uprzejmie informujemy iż na Pani/Pana koncie figuruje zaległość w opłatach za
internet w wysokości %B zł.

Jeżeli porozumieli się już Państwo z administratorami w kwestii opłaty za
bieżący miesiąc czyli %date-m %date-y roku, prosimy o
zignorowanie tej wiadomości.

W wypadku gdy uważają Państwo iż zaległość ta jest nieporozumieniem prosimy o
jak najszybszy kontakt.

Wszelkie informacje na temat Państwa rozliczeń mogą Państwo znaleźć pod
adresem http://www.naszasiec.pl/mojekonto/

Jeżeli chcieliby Państwo uregulować zaległości prosimy o kontakt:

Dział Rozliczeń ASK NaszaSiec

Gerwazy Reguła
telefon: 0-509031337
e-mail: gerwazy@staff.naszasiec.pl

Gwidon Mniejważny
telefon: 0-606666666
e-mail: gwidonm@naszasiec.pl

ps. załączamy ostatnie 10 operacji jakie zostało zarejestrowane przez nasz
system bilingowy na Państwa koncie:

kwota operacji | typ operacji | data

%last_10_in_a_table

--
Amatorska Sieć Komputerowa NaszaSiec
http://www.naszasiec.pl/

4.3.1.2. Konfiguracja

Konfigurację dla lms-notify można ustalić w pliku lms.ini w sekcji [notify]. Możesz tam ustawić następujące parametry:

  • limit (opcjonalny)

    Pozwala na ustalenie limitu bilansu, poniżej którego do użytkownika zostanie wysłany e-mail z upomnieniem. Domyślnie limit = 0

    Przykład: limit = -20

  • mailsubject (wymagany)

    Pozwala na ustalenie tematu e-maila wysyłanego do użytkownika. Można używać podstawień znanych z szablonów (%B, %b, %date-y, %date-m, %last_10_in_a_table). Domyślnie: nie ustawione.

    Przykład: mailsubject = Informacje o zaległościach w opłatach za internet

  • mailtemplate (wymagany)

    Pozwala na wskazanie szablonu wiadomości, która zostanie wysłana do użytkownika. Więcej o szablonach tutaj. Domyślnie: nie ustawione.

    Przykład: mailtemplate = /etc/lms/notifytemplate.txt

  • mailfrom

    Adres e-mail z którego zostanie wysłany e-mail. Proszę pamiętać, że na niektórych MTA (np. exim) konto to musi istnieć w systemie. Domyślnie nieustawione

    Przykład: mailfrom = staff@domain.pl

  • mailfname

    Nazwa nadawcy maila

    Przykład: mailfname = Administratorzy

  • smtp_server

    Serwer SMTP, przez który ma zostać wysłana wiadomość. Domyślnie: 127.0.0.1

    Przykład: smtp_server = smtp.mydomain.pl

  • debug_email (opcjonalny)

    Adres e-mail do debugowania. Gdy ustawiony, cała poczta zostaje wysłana na dany email zamiast do użytkowników. Przydatne do debugowania i sprawdzania czy wszystko działa OK. Domyślnie: nie ustawiony.

    Przykład: debug_email = lexx@domain.pl

4.3.2. lms-notify-sms

lms-notify-sms to odpowiednik lms-notify, służący do wysyłania smsów. Do wysyłania wiadomości potrzebna jest komórka Nokii oraz oprogramowanie, które należy pobrać z (www.gnokii.org) i zainstalować w systemie.

Konfigurację dla lms-notify-sms można ustalić w pliku lms.ini w sekcji [notify-sms], a masz do dyspozycji następujące opcje:

4.3.3. lms-cutoff

Skrypt pozwala na odłączenie (a raczej zmianę w bazie danych stanu komputerów na wyłączony) użytkowników których bilans jest poniżej zadanej wartości. Właściwe odłączanie powinno być realizowane przez generator plików konfiguracyjnych.

Konfigurację dla lms-cutoff możemy ustalić w pliku lms.ini w sekcji [cutoff]. Możemy tam ustawić następujące parametry:

4.3.4. lms-payments

Skrypt służący do naliczania opłat abonamentowych przypisanych użytkownikom oraz opłat stałych. Ponadto zapisuje dane do faktur. Aby działał poprawnie powinien być uruchamiany codziennie.

Skrypt ten udostępnia dwie opcje do fakturowania, które można ustawić w sekcji [payments] pliku lms.ini:

4.3.5. lms-traffic

Skrypt służy do logowania informacji o ilości danych pobranych i wysłanych przez każdy komputer w sieci lokalnej. W bazie danych zapisywana jest ilość danych w bajtach, numer komputera z bazy lms i znacznik czasu. Od użytkownika zależy w jakich odstępach dane będą odczytywane. Ponieważ dane odczytywane są z pliku utworzonego przez użytkownika, nie ma znaczenia z jakiego źródła pochodzą, może to być iptables, ipchains lub program zewnętrzny np. ipfm.

Przeglądanie wykresów wykorzystania łącza oraz definiowanie filtrów dostępne jest z głównego menu 'Statystyki'.

4.3.5.1. Instalacja

Przed uruchomieniem lms-traffic należy zadbać o utworzenie pliku z danymi. Zawartość pliku powinna mieć następujący format:

<adres IP> <n_spacji> <upload> <n_spacji> <download>
<adres IP> <n_spacji> <upload> <n_spacji> <download>
...

Skrypt tworzący statystyki należy uruchamiać z taką samą częstotliwością co lms-traffic.

Notatka

Przykład takiego skryptu dla iptables znajduje się w pliku /sample/traffic_ipt.sh.

Następnie instalujemy skrypt dopisując do crontaba. Oprócz standardowych opcji wiersza poleceń możliwe jest zdefiniowanie lokalizacji pliku z logiem

-f=/plik 	położenie i nazwa pliku ze statystykami domyślnie /var/log/traffic.log

Ostrzeżenie

Częstotliwość zapisywania danych do bazy ustala użytkownik. Ustawienie jej poniżej 10 minut, może spowodować szybki przyrost ilości rekordów w bazie danych, a co za tym idzie zwiększyć czas oczekiwania na wyświetlenie wyników.

4.3.6. lms-traffic-logiptables

Skrypt służy do logowania informacji o ilości danych pobranych i wysłanych przez każdy komputer z sieci lokalnej, na podstawie liczników iptables. Dane sczytuje z firewalla, tworząc jednocześnie odpowiednie reguły. Zatem, nie jest konieczne ręczne tworzenie reguł iptables. Dane zapisywane są do pliku o formacie wymaganym przez lms-traffic.

Konfigurację należy umieścić w sekcji [traffic-logiptables]:

4.3.7. lms-makeiptables, lms-makeipchains

Para skryptów służących do generowania plików zawierających reguły firewalla. Do utworzonego pliku możesz dołączyć inne wcześniej utworzone pliki, a w końcu nadać mu odpowiednie uprawnienia. Skrypty nie uruchamiają wygenerowanych plików.

Konfigurację dla tych skryptów możesz ustalić w pliku lms.ini w sekcji [iptables] (i odpowiednio [ipchains]). Oba skrypty posiadają te same opcje:

4.3.8. lms-etherdesc

Skrypt służący do generowania pliku zawierającego MAC adresy oraz nazwy hostów pobierane z bazy lms'a. Adresy zapisywane są w formacie 'stripped mac', czyli bez ":". Tego typu plik wykorzystywany jest przez pakiet iptraf.

Konfigurację tego skryptu zawiera sekcja [ethers] w pliku lms.ini:

4.3.9. lms-sendinvoices

Skrypt służy do wysyłania pocztą elektroniczną faktur, jako załączników do wiadomości. Faktury generowane są na podstawie szablonu dostępnego w lms-ui, dlatego wymagane jest podanie użytkownika i hasła do interfejsu www lms-ui.

W odróżnieniu od pozostałych skrytpów ten wymaga dodatkowych modułów perla: Data::Dumper, LWP::UserAgent, MIME::Entity.

Konfigurację należy umieścić w sekcji [sendinvoices]:

4.3.10. lms-updatewarnings

Skrypt automatycznie włącza ostrzeżenia (czyli ustawia odpiwednią flagę w bazie danych) wszystkim komputerom użytkownika z saldem mniejszym niż kwota określona parametrem 'limit'. Reguły firewalla przekierowujące na stronę z ostrzeżeniem należy wygenerować innym skryptem.

Konfigurację dla lms-updatewarnings możemy ustalić w pliku lms.ini w sekcji [warnings]. Możemy tam ustawić: