LMS - LAN Management System 1.9.8 Idos | ||
---|---|---|
Poprzedni | Rozdział 5. Generator plików konfiguracyjnych (lms-mgc) | Następny |
Konfigurację dla LMS-MGC przeprowadza się w pliku lms-mgc.ini
type
Typ bazy danych. Aktualnie w 100% supportowany jest 'mysql', ale jak na razie nie widać większych problemów z 'postgres'. Domyślnie: mysql
Przykład: type = mysql
host
Host gdzie zainstalowana jest baza danych. Najczęściej, localhost, ale można tutaj wstawić cokolwiek (ipek, domena, path to socketa w formacie 'localhost:/path/to/socket'). Domyślnie: localhost
Przykład: host = localhost
user
Użytkownik do bazy danych. W wielu wypadkach (jeżeli postępowałeś zgodnie ze wskazówkami w doc/INSTALL) będzie to 'lms'. Jeżeli chcesz używać konta uprzywilejowanego, prawdopodobnie wpiszesz 'root' (MySQL na większości *nixów), 'mysql' (na PLD) bądź 'postgres' (PostgreSQL). Domyślnie: root
Przykład: user = mysql
password
Hasło do bazy danych. Domyślnie puste.
Przykład: password = tajne_haslo
database
Nazwa bazy danych, domyślnie lms.
Przykład: database = lms
Właściwa konfiguracja dotycząca generatorów poszczególnych plików konfiguracyjnych jest umieszczana w sekcji [mgc] i pochodnych. W samej sekcji [mgc] możemy użyć następującego parametru:
instances
Lista "instancji" oddzielona spacjami.
Przykład: instances = dhcp firewall squid
Zmienną instances można także umieścić w sekcji dowolnej instancji. Patrz niżej. |
Każda instancja ma swoją nazwę i jej konfigurację tworzy się umieszczając sekcję o nazwie [mgc:nazwa], czyli przykładowo: [mgc:mydaemon]
W samych instancjach możemy używać następujących opcji konfiguracyjnych:
instances
Zmienna, w której możesz podać listę innych instancji, aby następnie wywoływać mgc poleceniem 'lms-mgc -i sekcja' zamiast 'lms-mgc -i "sekcja1 sekcja2 sekcja3"'. Jeśli zostanie użyta, wszystkie pozostałe zmienne tej sekcji zostaną zignorowane.
Przykład: instances = dns1 dns2 dns3
outfile
Definiuje plik do którego ma być zapisany wynik działania bieżącej instancji (jeżeli ta zmienna będzie nie ustawiona, instancja się zakończy)
Przykład: outfile = /etc/somefile
append
Pozwala ustawić aby wynik działania instancji nie nadpisywał pliku wynikowego, lecz został dopisany na jego końcu
Przykład: append = 1
outfile_perm
Pozwala na ustawienie praw dostępu do pliku wyjściowego (domyślnie 600)
Przykład: outfile_perm = 700
outfile_owner
Pozwala na ustawienie właściciela pliku wyjściowego (domyślnie 0)
Przykład: outfile_owner = 0
Właściciel musi być podany numerycznie! |
outfile_group
Pozwala na ustawienie grupy pliku wyjściowego (domyślnie 0)
Przykład: outfile_group = 0
Grupa musi być podana numerycznie! |
header_file
Pozwala na umieszczenie w pliku wynikowym zawartości innego pliku jako nagłówek (domyślnie nie ustawione)
Przykład: header_file = /etc/lms/myservice_header
header
Pozwala na umieszczenie w pliku wynikowym zawartości zmiennej jako nagłówka (domyślnie puste)
Przykład: header = option1 = bla\noption2 = blabla
Znak \n został tu użyty jako separator linii. Końcowe \n nie jest wymagane. |
networks
Pozwala ustalić które z naszych sieci będą uwzględniane w pliku konfiguracyjnym (domyślnie wszystkie)
Przykład: networks = cust1-publ cust2-publ cust3-priv
Teraz mgc pobiera kolejne sieci i wykonuje w kółko następujące czynności:
network_header
Generuje nagłówek dla każdej sieci (domyślnie puste):
Przykład: network_header = network %ADDR/%MASK { # Config section for %NAME
dst_networks
Pozwala ustawić sieci docelowe, czyli takie dla których będzie przetwarzany parametr: dst_network_header (domyślnie wszystkie):
Przykład: dst_networks = main coalloc
dst_network_header
Pozwala ustawić nagłówek dla sieci docelowych
Przykład: dst_network_header = \tallow to %DADDR/%DMASK;
network_body
Parametr jest przetwarzany po wysłaniu nagłówków dla sieci, a przed rozpoczęciem analizy adresów IP
Przykład: network_body = \tnodes {
Teraz MGC rozpocznie przetwarzanie regułek dla kolejnych adresów IP. Robi to w dosyć specyficzny sposób. Tzn. oblicza kolejny adres IP i sprawdza czy zdefiniowano regułę dla hosta i wykonuje pierwszą. Sprawdzanie jest wykonywane w następującej kolejności:
ignore
Pozwala na ustawienie listy adresów w postaci adres/prefix lub adres/maska oddzielanej spacjami dla której ma być ignorowane generowanie
Przykład: ignore = 192.168.0.100/32
node(IP)
Przy pomocy tej opcji można zdefiniować regułę dla wybranego komputera. W nawiasie podaje się jego adres IP. Każda sekcja instancji może zawierać dowolną ilość takich opcji.
Przykład: node(192.168.0.20) = ??
allnodes
Pozwala na ustawienie regułki przetwarzanej dla każdego kolejnego adresu IP.
Przykład: allnodes = ??
allexistnodes
Pozwala na ustawienie regułki przetwarzanej dla każdego kolejnego adresu IP który jest używany.
Przykład: allexistnodes = ??
netdevnode
Pozwala na ustawienie regułki przetwarzanej dla każdego kolejnego adresu IP urządzenia sieciowego.
Przykład: netdevnode = ??
grantednode_priv
Jest przetwarzana gdy dany adres komputer z danym adresem IP istnieje, ale w lms-ui ma status "podłączony" (regułka przetwarzana dla adresów prywatnych)
Przykład: grantednode_priv = \t\tnode %NAME (%IP/%MAC) unique %ID;
grantednode_publ
Jest przetwarzana gdy dany adres komputer z danym adresem IP istnieje, ale w lms-ui ma status "podłączony" (regułka przetwarzana dla adresów publicznych)
Przykład: grantednode_publ = \t\tnode %NAME (%IP/%MAC) unique %ID;
deniednode_priv
Jest przetwarzana gdy dany adres komputer z danym adresem IP istnieje, ale w lms-ui ma status "odłączony" (regułka przetwarzana dla adresów prywatnych)
Przykład: deniednode_priv = node %NAME (%IP/%MAC) unique %ID deny;
deniednode_publ
Jest przetwarzana gdy dany adres komputer z danym adresem IP istnieje, ale w lms-ui ma status "odłączony" (regułka przetwarzana dla adresów publicznych)
Przykład: deniednode_publ = node %NAME (%IP/%MAC) unique %ID deny;
dhcpnode_priv
Jest przetwarzana gdy dany adres IP zawiera się w klasie DHCP (regułka przetwarzana dla adresów prywatnych)
Przykład: dhcpnode_priv = node unknown (%IP) reject;
dhcpnode_publ
Jest przetwarzana gdy dany adres IP zawiera się w klasie DHCP (regułka przetwarzana dla adresów publicznych)
Przykład: dhcpnode_publ = node unknown (%IP) reject;
freeip_priv
Jest przetwarzana gdy dany adres IP nie jest przypisany do żadnego komputera (regułka przetwarzana dla adresów prywatnych)
Przykład: freeip_priv = node unknown (%IP) lock_as_unused;
freeip_publ
Jest przetwarzana gdy dany adres IP nie jest przypisany do żadnego komputera (regułka przetwarzana dla adresów publicznych)
Przykład: freeip_publ = node unknown (%IP) lock_as_unused;
default_priv
Regułka domyślna. Jest przetwarzana gdy adres nie zostanie przetworzony przez żadną regułkę grantednode lub deniednode (regułka przetwarzana dla adresów prywatnych)
Przykład: default_priv = node unknown (%IP) lock_as_intruder;
lms-mgc sam rozpoznaje który adres należy do klasy publicznej, a który do prywatnej. |
default_publ
Regułka domyślna. Jest przetwarzana gdy adres nie zostanie przetworzony przez żadną regułkę grantednode lub deniednode (regułka przetwarzana dla adresów publicznych)
Przykład: default_publ = node unknown (%IP) lock_as_intruder;
W końcu następuje wygenerowanie końcowej części pliku i wykonanie polecenia systemowego.
network_footer
Pozwala na ustawienie stopki dla właśnie przetwarzanej sieci
Przykład: network_footer = ??
footer_file
Pozwala na umieszczenie w pliku wynikowym zawartości innego pliku jako stopka (domyślnie nie ustawione)
Przykład: footer_file = /etc/lms/myservice_footer
footer
Pozwala na umieszczenie w pliku wynikowym zawartości zmiennej jako stopki (domyślnie puste)
Przykład: footer = # End.
post_exec
Komenda do wywołania po wygenerowaniu pliku konfiguracyjnego
Przykład: post_exec = killall -HUP mydaemon
W opcjach konfiguracyjnych można używać następujących zmiennych, które zostaną podmienione na odpowiednie dane z bazy:
Zmienne dla komputerów:
%IP - adres IP komputera
%PUBIP - drugi (publiczny) adres IP komputera
%PIN - pin klienta posiadającego dany komputer
%ID - ID komputera w bazie
%MAC - adres MAC karty sieciowej
%SMAC - adres MAC pisany małymi literami z usuniętymi dwukropkami
%CMAC - adres MAC pisany w formacie CISCO (FFFF.FFFF.FFFF)
%OWNER - ID właściciela komputera
%CUSTOMER - nazwisko i imię właściciela komputera
%NAME - nazwa komputera dużymi znakami
%name - nazwa komputera małymi znakami
%INFO - opis komputera
%PASSWD - hasło komputera
%UPRATE - gwarantowany transfer dla danych wychodzących
%DOWNRATE - gwarantowany transfer dla danych przychodzących
%UPCEIL - maksymalny transfer dla danych wychodzących
%DOWNCEIL - maksymalny transfer dla danych przychodzących
%CLIMIT - limit równoczesnych połączeń
%PLIMIT - limit pakietów
%1 %2 %3 %4 - kolejne oktety (od lewej) adresu IP
%NID - ID sieci, do której należy komputer
%NNAME - nazwa sieci dużymi znakami
%nname - nazwa sieci małymi znakami
%NADDR - adres sieci
%NIFACE - interfejs sieci
%NMASK - maska sieci
%NGATE - adres bramy
%NDNS - adres serwera DNS
%NDNS2 - adres drugiego serwera DNS
%NDOMAIN - domena sieci
%NWINS - adres serwera WINS dla tej sieci
%NDHCPS - pierwszy adres DHCP sieci
%NDHCPE - ostatni adres DHCP sieci
Zmienne dla sieci (w opcjach dotyczących tylko sieci):
%ID - ID sieci w bazie
%NAME - nazwa sieci dużymi znakami
%name - nazwa sieci małymi znakami
%ADDR - adres sieci
%IFACE - interfejs
%MASK - maska
%GATE - brama sieci
%DNS - serwer DNS tej sieci
%DNS2 - drugi serwer DNS tej sieci
%DOMAIN - domena tej sieci
%WINS - adres serwera WINS dla tej sieci
%DHCPS - pierwszy adres DHCP tej sieci
%DHCPE - ostatni adres DHCP tej sieci
W opcji konfiguracyjnej dst_network_header można ponadto użyć powyższych zmiennych ale poprzedzonych literą D (np. %DADDR, %dname) jako parametry sieci docelowych. |
Zmienne które można stosować we wszystkich opcjach:
%DATE - data w formacie YYYYMMDD;
%TIME - czas w formacie HHMM;
%TIMES - czas w formacie HHMMSS;
%UTIME - czas w formacie unix timestamp;
Poprzedni | Spis treści | Następny |
Generator plików konfiguracyjnych (lms-mgc) | Początek rozdziału | Przykład zastosowania lms-mgc |