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.
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/
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
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:
limit (opcjonalny)
Pozwala na ustalenie limitu bilansu poniżej którego do użytkownika zostanie wysłany sms z upomnieniem. Domyślnie: 0
Przykład: limit = -20
smstemplate (wymagany)
Szablon wiadomości. Domyślnie: nie ustawione.
Przykład: smstemplate = /etc/lms/smstemplate.txt
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:
limit (opcjonalny)
Pozwala na ustalenie limitu bilansu poniżej którego do bazy danych zostanie zapisany stan odłączony. Domyślnie: 0
Przykład: limit = -20
Skrypt służący do naliczania opłat abonamentowych przypisanych użytkownikom oraz opłat stałych. Aby działał poprawnie powinien być uruchamiany codziennie.
Skrypt ten nie posiada żadnych opcji konfiguracyjnych.
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'.
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.
![]() | 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
![]() | 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. |
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]:
logfile
Lokalizacja pliku na dane. Domyślnie: niezdefiniowana.
Przykład: logfile = /var/log/traffic.log
outfile
Lokalizacja skryptu z regułami iptables. Domyślnie: /etc/rc.d/rc.stat
Przykład: outfile = /etc/rc.d/rc.stat
iptables_binary
Lokalizacja programu iptables. Domyślnie: /usr/sbin/iptables
Przykład: iptables_binary = /usr/local/sbin/iptables
wan_interfaces
Nazwy interfejsów, na których dane mają być zliczane. Domyślnie: niezdefiniowane.
Przykład: wan_interfaces = eth0
local_ports
Lista portów (źródłowych i docelowych) dla zliczanych pakietów. Domyślnie: niezdefiniowane.
Przykład: local_ports = 80
script_owneruid
UID właściciela skryptu określonego w 'outfile'. Domyślnie: 0 (root).
Przykład: script_owneruid = 0
script_ownergid
GID właściciela skryptu określonego w 'outfile'. Domyślnie: 0 (root).
Przykład: script_ownergid = 0
script_permission
Uprawnienia skryptu określonego w 'outfile'. Domyślnie: 700 (rwx------).
Przykład: script_permission = 700
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:
networks
Lista nazw sieci (oddzielonych spacjami), które mają być uwzględnione podczas generowania pliku firewalla. Jeśli nie ustawiono, zostanie stworzony konfig dla wszystkich sieci.
Przykład: networks = public-custa public-custb
iptables_binary (ipchains_binary)
Lokalizacja programu iptables (ipchains). Domyślnie: /usr/sbin/iptables (/usr/sbin/ipchains)
Przykład: iptables_binary = /usr/local/sbin/iptables
script_file
Plik, do którego zapisujemy reguły firwalla. Domyślnie: /etc/rc.d/rc.masq
Przykład: script_file = /etc/rc.d/rc.firewall
pre_script
Plik wykonywany PO wyczyszczeniu regułek, ale PRZED ustawieniem nowych. Domyślnie: niezdefiniowany.
Przykład: pre_script = /etc/rc.d/rc.masq-pre
post_script
Plik wykonywany PO ustawieniu regułek. Domyślnie: niezdefiniowany.
Przykład: post_script = /etc/rc.d/rc.masq-post
forward_to
Lista sieci, dla których włączamy forwarding. Możliwe wartości: "" - pełny forward, "dowolny ciąg" - wyłącz forward, "siec1 siec2" - lista sieci z włączonym forwardingiem. Domyślnie: pełny forward.
Przykład: forward_to = public-custa public-custb
script_owneruid
UID właściciela pliku. Domyślnie: 0 (root).
Przykład: script_owneruid = 0
script_ownergid
GID właściciela pliku. Domyślnie: 0 (root).
Przykład: script_ownergid = 0
script_permission
Uprawnienia pliku skryptu. Domyślnie: 700 (rwx------).
Przykład: script_permission = 700
snat_address
Adres SNAT. Jeśli nie ustawiono, dla hostów z adresami publicznymi będzie użyte "-j MASQUERADE". Jeśli ustawiono zostanie użyte "-j SNAT --to xxx.xxx.xxx.xxx". Dotyczy lms-makeiptables. Domyślnie: nie ustawiony.
Przykład: snat_address = 123.123.123.123
tcp_redirect_ports (udp_redirect_ports)
Konfiguracja przekierowań w formie port_źródłowy:port_docelowy dla przekierowań na lokalną maszynę dla połączeń wychodzących. Dotyczy lms-makeipchains. Domyślnie: nie ustawione.
Przykład: tcp_redirect_ports = 80:3128 25:25
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:
networks
Lista nazw sieci (oddzielonych spacjami), które mają być uwzględnione podczas generowania pliku. Jeśli nie ustawiono, zostanie stworzony konfig dla wszystkich sieci.
Przykład: networks = public-custa public-custb
etherdesc_owneruid
UID właściciela pliku. Domyślnie: 0 (root).
Przykład: etherdesc_owneruid = 0
etherdesc_file
Lokalizacja pliku. Domyślnie: /var/lib/iptraf/ethernet.desc.
Przykład: etherdesc_file = /etc/ethernet.desc
etherdesc_ownergid
GID właściciela pliku. Domyślnie: 0 (root).
Przykład: etherdesc_ownergid = 0
etherdesc_permission
Uprawnienia pliku skryptu. Domyślnie: 600 (rw-------).
Przykład: etherdesc_permission = 600
Poprzedni | Spis treści | Następny |
Lista dostępnych skryptów | Początek rozdziału | Generator plików konfiguracyjnych (lms-mgc) |