LMS 1.0

Strona domowa

<< Poprzednia

Następna >>

Zawartość

Przedmowa

Rozdział 1 - Na początek
Czym jest LMS
Co LMS może a czego nie
Co wchodzi w skład LMS
Instalacja
Konfiguracja
Pierwsze logowanie
Prawa dostępu
Rozdział 2 - LMS UI (User Interface)
Konfiguracja
Rozdział 3 - LMS-MGC
Rozdział 4 - Skrypty
Instalacja
lms-notify
lms-cutoff
lms-eachmonth

Rozdział 3. LMS-MGC

LMS-MGC to "magiczny" generator plików konfiguracyjnych. Przy odrobinie wysiłku można stworzyć przy jego pomocy dowolnego rodzaju plik konfiguracyjny (np. generujący odpowiednie strefy dla DNS)

Konfigurację dla LMS-MGC można ustalić w pliku lms-mgc.ini, kótry jest podzielony na kilka sekcji. Podstawowe opcje można ustawić w sekcji [database]:

  • type

    Typ bazy danych. Aktualnie w 100% supportowany jest 'mysql', ale jak narazie 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:

    instaces = dhcp firewall squid

Teraz, każda instancja ma swoją nazwę i jej konfigruację 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:

  • outfile

    Definiuje plik do którego ma być zapisany wynik działania bierzącej instancji (jeżeli ta zmienna 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

    Uwaga!:

    Właściciel musi być podany numerycznie!

  • outfile_group

    Pozwala na ustawienie grupy pliku wyjściowego (domyślnie 0)

    Przykład:

    outfile_group = 0

    Uwaga!:

    Grupa musi być podana numerycznie!

  • header_file

    Pozwala na umieszczenie w pliku wynikowym zawaroś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

    Notatka:

    Znak \n został tu użyty jako seperator 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

    Notatka:

    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 {

    Notatka:

    Teraz MGC rozpocznie przetwarzanie kolejnych adresów IP. Robi to w dosyć specyficzny sposób. Tj. oblicza kolejny adres IP, i kolejno sprawdza:
  • 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 = ??

  • 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 = ??

  • 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;

  • grantednode_prv

    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_prv = \t\tnode %NAME (%IP/%MAC) unique %ID;

  • 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;

  • deniednode_prv

    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_prv = node %NAME (%IP/%MAC) unique %ID deny;

  • 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;

  • dhcpnode_prv

    Jest przetwarzana gdy dany adres IP zawiera się w klasie DHCP (regułka przetwarzana dla adresów prywatnych)

    Przykład:

    dhcpnode_prv = node unknown (%IP) reject;

  • 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;

  • freeip_prv

    Jest przetwarzana gdy dany adres IP nie jest przypisany do żadnego komputera (regułka przetwarzana dla adresów prywatnych)

    Przykład:

    freeip_prv = node unknown (%IP) lock_as_unused;

  • 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;

  • default_prv

    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_publ = node unknown (%IP) lock_as_intruder;

    Notatka:

    lms-mgc sam rozpoznaje który adres należy do klasy publicznej, a który do prywatnej.
  • network_footer

    Pozwala na ustawienie stopki dla właśnie przetwarzanej sieci

    Przykład:

    network_footer = ??

  • footer_file

    Pozwala na umieszczenie w pliku wynikowym zawaroś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

  • Przykład:

Oprócz tego w części opcji konfiguracyjnych możemy używać następujących zmiennych:

  • %IP - zostanie rozwinięte do adresu IP

  • %ID - ID sieci w bazie

  • %MAC - zostanie rozwinięte do adresu MAC karty sieciowej

  • %OWNER - właściciel komputera

  • %NAME - nazwa sieci dużymi znakami

  • %name - nazwa sieci małymi znakami

  • %UPRATE - limit transferu dla danych wychodzących

  • %DOWNRATE - limit transferu dla danych przychodzących

  • %1 %2 %3 %4 - kolejne oktety (od lewej) adresu IP

  • %ADDR - adres sieci

  • %GATE - brama sieci

  • %DNS - 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

  • %DATE - data w formacie YYYYMMDD;

  • %TIME - czas w formacie HHMM;

  • %TIMES - czas w formacie HHMMSS;

  • %UTIME - czas w formacie unix timestamp;

<< Poprzednia

© 2001-2003 LMS Developers

Następna >>

LMS 1.0