Narzędzia użytkownika

Narzędzia witryny


hostfile

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

hostfile [2013/01/14 00:00] (aktualna)
Linia 1: Linia 1:
 +===6.2.8. Hostfile===
  
 +==6.2.8.1. Opis==
 +
 +Moduł '​hostfile'​ jest dość uniwersalnym narzędziem. Ponieważ wykonuje pętlę po wszystkich komputerach (oraz adresach urządzeń sieciowych) w bazie rozróżniając ich status podłączenia i ostrzeżenia,​ adresy prywatne i publiczne, a ponadto sieć do której są podłączone oraz grupy do których należą ich właściciele. Dzięki temu możliwe jest tworzenie np. reguł dowolnego firewalla, czy też pliku /etc/hosts. Dane zapisuje do pliku i następnie wykonuje określone polecenie powłoki.
 +
 +==6.2.8.2. Konfiguracja==
 +
 +W opcjach zawierających reguły hosta można stosować specjalne zmienne, które podczas zapisu do pliku zostaną zastąpione odpowiednimi dla danego komputera danymi:
 +
 +%i - adres IP, \\
 +%ipub - publiczny adres IP,\\
 +%id - ID komputera,​\\
 +%m - adres MAC,\\
 +%ms - lista adresów MAC hosta (oddzielonych przecinkiem),​\\
 +%n - nazwa komputera,​\\
 +%p - hasło,\\
 +%port - nr portu w urządzeniu,​ do którego jest podłączony komputer,\\
 +%info - opis komputera,​\\
 +%l - lokalizacja komputera,​\\
 +%devl - lokalizacja urządzenia,​ do którego podłączony jest komputer,\\
 +%domain - domena,\\
 +%net - nazwa sieci, do której należy host,\\
 +%if - interfejs sieci,\\
 +%addr - adres sieci,\\
 +%mask - maska sieci,\\
 +%prefix - maska sieci w postaci prefixu CIDR,\\
 +%gw - adres bramy,\\
 +%dns, %dns2 - adresy serwerów DNS,\\
 +%dhcps, %dhcpe - początek i koniec zakresu DHCP,\\
 +%wins - adres serwera WINS,\\
 +%i16 - ostatni oktet adresu IP w formacie szesnastkowym,​\\
 +%i16pub - ostatni oktet publicznego adresu IP w formacie szesnastkowym.\\
 +%domainpub - domena sieci publicznej,​\\
 +%netpub - nazwa sieci, do której należy adres publiczny,​\\
 +%ifpub - interfejs sieci publicznej,​\\
 +%addrpub - adres sieci publicznej,​\\
 +%maskpub - maska sieci publicznej,​\\
 +%prefixpub - maska sieci publicznej w postaci prefixu CIDR,\\
 +%gwpub - adres bramy w sieci publicznej,​\\
 +%dnspub, %dns2pub - adresy serwerów DNS w sieci publicznej,​\\
 +%dhcpspub, %dhcpepub - początek i koniec zakresu DHCP w sieci publicznej,​\\
 +%winspub - adres serwera WINS w sieci publicznej,​\\
 +%customer - nazwa klienta,\\
 +%cid - ID klienta\\
 +
 +Poniżej opcje udostępniane przez ten moduł:
 +
 +  * file
 +
 +Lokalizacja pliku tymczasowego. Domyślnie: /​tmp/​hostfile
 +
 +    Przykład: file = /​etc/​rc.d/​rc.firewall
 +
 +  * command
 +
 +Polecenie powłoki wyk. po utworzeniu pliku '​file'​. Domyślnie: puste
 +
 +    Przykład: command = '/​bin/​sh /​etc/​rc.d/​rc.firewall'​
 +
 +  * begin
 +
 +Nagłówek pliku tymczasowego. Domyślnie: "/​usr/​sbin/​iptables -F FORWARD\n"​
 +
 +    Przykład: begin = "​IPT=/​usr/​sbin/​iptables \n$IPT -F FORWARD\n"​
 +
 +  * end
 +
 +Stopka pliku tymczasowego. Domyślnie: "/​usr/​sbin/​iptables -A FORWARD -J REJECT\n"​
 +
 +    Przykład: end = "$IPT -A FORWARD -J REJECT\n"​
 +
 +  * host_begin
 +
 +Nagłówek reguły hosta. Domyślnie: ""​
 +
 +    Przykład: host_begin = "#​%n\n"​
 +
 +  * host_end
 +
 +Stopka reguły hosta. Domyślnie: ""​
 +
 +    Przykład: host_end = "​\n"​
 +
 +  * grantedhost
 +
 +Reguła dla hosta podłączonego. Domyślnie: "/​usr/​sbin/​iptables -A FORWARD -s %i -m mac --mac-source %m -j ACCEPT\n"​
 +
 +    Przykład: grantedhost = "$IPT -A FORWARD -s %i -m mac --mac-source %m -j ACCEPT\n"​
 +
 +  * deniedhost
 +
 +Reguła dla hosta odłączonego. Domyślnie: "/​usr/​sbin/​iptables -A FORWARD -s %i -m mac --mac-source %m -j REJECT\n"​
 +
 +    Przykład: deniedhost = "$IPT -A FORWARD -s %i -m mac --mac-source %m -j REJECT\n"​
 +
 +  * public_grantedhost
 +
 +Reguła dla hosta podłączonego,​ który posiada adres publiczny. Domyślnie reguła określona opcją '​grantedhost'​.
 +
 +    Przykład: public_grantedhost = "$IPT -A FORWARD -s %i -m mac --mac-source %m -j ACCEPT\n$IPT -t nat -A PREROUTING -p tcp -d %ipub -j DNAT --to-destination %i\n$IPT -t nat -A POSTROUTING -s %i -j SNAT --to-source %ipub\n"​
 +
 +  * public_deniedhost
 +
 +Reguła dla hosta odłączonego,​ który posiada adres publiczny. Domyślnie reguła określona opcją '​deniedhost'​.
 +
 +    Przykład: public_deniedhost = ""​
 +
 +  * warnedhost
 +
 +Reguła dla hosta z włączonym ostrzeżeniem. Domyślnie reguła określona opcją '​grantedhost'​.
 +
 +    Przykład: warnedhost = "$IPT -A PREROUTING -s %i --dport 80 -p tcp -j REDIRECT --to-port 82\n"
 +
 +  * public_warnedhost
 +
 +Reguła dla hosta z włączonym ostrzeżeniem,​ który posiada adres publiczny. Domyślnie reguła określona opcją '​warnedhost'​.
 +
 +    Przykład: public_warnedhost = ""​
 +
 +  * public_replace
 +
 +Określa czy reguły zdefiniowane dla adresów publicznych mają nadpisać reguły główne, czy zostać dopisane do nich. Domyślnie: włączona.
 +
 +    Przykład: public_replace = false
 +
 +  * warn_replace
 +
 +Określa czy reguły zdefiniowane dla komputerów z ostrzeżeniem mają nadpisać reguły główne, czy zostać dopisane do nich. Domyślnie: wyłączona.
 +
 +    Przykład: warn_replace = true
 +
 +  * networks
 +
 +Lista nazw sieci, które mają być brane pod uwagę. Wielkość liter nie ma znaczenia. Domyślnie: pusta (wszystkie sieci).
 +
 +    Przykład: networks = "lan1 lan2"
 +
 +  * customergroups
 +
 +Lista nazw grup klientów, które mają być brane pod uwagę. Wielkość liter nie ma znaczenia. Domyślnie: pusta (wszystkie grupy).
 +
 +    Przykład: customergroups = "​grupa1 grupa2"​
 +
 +  * nodegroups
 +
 +Lista nazw grup komputerów,​ które mają być brane pod uwagę. Wielkość liter nie ma znaczenia. Domyślnie: pusta (wszystkie grupy).
 +
 +    Przykład: nodegroups = "​grupa1 grupa2"​
 +
 +  * excluded_networks
 +
 +Lista nazw sieci, które nie mają być brane pod uwagę. Wielkość liter nie ma znaczenia. Domyślnie: pusta.
 +
 +    Przykład: excluded_networks = "lan1 lan2"
 +
 +  * excluded_customergroups
 +
 +Lista nazw grup klientów, które nie mają być brane pod uwagę. Wielkość liter nie ma znaczenia. Domyślnie: pusta.
 +
 +    Przykład: excluded_customergroups = "​grupa1 grupa2"​
 +
 +  * excluded_nodegroups
 +
 +Lista nazw grup komputerów,​ które nie mają być brane pod uwagę. Wielkość liter nie ma znaczenia. Domyślnie: pusta.
 +
 +    Przykład: excluded_nodegroups = "​grupa1 grupa2"​
 +
 +  * skip_dev_ips
 +
 +Jeśli ustawiona na tak (yes, true) pominięte zostaną adresy urządzeń sieciowych. Domyślnie: tak
 +
 +    Przykład: skip_dev_ips = nie
 +
 +  * skip_host_ips
 +
 +Jeśli ustawiona na tak (yes, true) pominięte zostaną adresy komputerów. Uwaga: włączenie obu opcji '​skip_*_ips'​ spowoduje ich zignorowanie. Domyślnie: nie
 +
 +    Przykład: skip_host_ips = tak
 +
 +  * multi_mac
 +
 +Jeśli ustawiona na tak (yes, true) utworzony zostanie osobny rekord dla każdego adresu MAC. Tzn. jeśli komputer ma przypisanych kilka adresów MAC, będzie utworzone tyle wpisów ile tych adresów. Domyślnie: nie
 +
 +    Przykład: multi_mac = tak
 +
 +  * share_netdev_pubip
 +
 +Włączenie tej opcji (yes, true, 1) spowoduje, że wszystkim adresom urządzenia sieciowego, które nie posiadają zdefiniowanego adresu publicznego zostanie przypisany jeden (ten sam) ze zdefiniowanych dla danego urządzenia adresów publicznych. Domyślnie: nie
 +
 +    Przykład: share_netdev_pubip = tak
hostfile.txt · ostatnio zmienione: 2013/01/14 00:00 (edycja zewnętrzna)