jriguera.dnsmasq

ansible-role-dnsmasq

Wszechstronna rola do konfiguracji dnsmasq, stworzona zgodnie z tą filozofią:
https://github.com/jriguera/ansible-role-pattern/blob/master/README.md

Ta rola wspiera definiowanie różnych interfejsów do różnych celów (dns, tftp ...) oraz wiele parametrów dnsmasq. Może również zarządzać plikiem resolv.conf.

Działa z Ansible 2.0 na Ubuntu Trusty, Xenial i CentOS 7.

Konfiguracja

Domyślne parametry konfiguracji to:

dnsmasq_enabled_on_startup: True
# Zarządzaj resolvconf
dnsmasq_resolvconf: False

# Instalacja z repozytoriów lub bezpośrednio z pakietów systemowych
dnsmasq_os_packages: True

# Parametry globalne, wymagane ustawienia! w przeciwnym razie będą ignorowane!
dnsmasq_dhcp: True
dnsmasq_tftp: True

### resolv.conf
#dnsmasq_host_domain: local
#dnsmasq_host_search: local
dnsmasq_host_resolvers: [ "127.0.0.1" ]

# Ustaw instytucję, do której dnsmasq będzie wysyłać wpisy syslog, domyślnie to 
# DAEMON, a w trybie debugowania to LOCAL0. Jeżeli podana instytucja 
# zawiera przynajmniej jeden znak '/', jest traktowana jako nazwa pliku, 
# a dnsmasq zapisuje do tego pliku, zamiast do syslog. Jeżeli instytucja to '-' 
# to dnsmasq zapisuje do stderr.
dnsmasq_conf_log: /var/log/dnsmasq.log

# Włącz asynchroniczne logowanie i opcjonalnie ustaw limit na liczbę 
# linii, które będą kolejkowane przez dnsmasq, gdy zapis do syslog jest wolny.
#dnsmasq_conf_log_async:
dnsmasq_conf_log_dns: False

# Lista adresów ip lub interfejsów do nasłuchiwania (pusta lista dla wszystkich)
dnsmasq_conf_listen: []

# Na systemach, które to wspierają, dnsmasq wiąże adres dziki,
# nawet gdy nasłuchuje tylko na niektórych interfejsach. Odrzuca wtedy 
# żądania, na które nie powinien odpowiadać. To ma tę zaletę, 
# że działa nawet gdy interfejsy pojawiają się i znikają oraz zmieniają adresy.
dnsmasq_conf_bind_interfaces: 'dynamic'


### DNS
# Akceptuj zapytania DNS tylko od hostów, których adres jest w lokalnej podsieci,
# tj. podsieci, dla której interfejs istnieje na serwerze.
#dnsmasq_conf_local_service: True

# Nigdy nie przekazuj prostych nazw (bez kropki lub części domeny)
dnsmasq_conf_domain_needed: True

# Włącz kod do wykrywania pętli przekazywania DNS; tj. sytuacji, gdy zapytanie
# wysłane do jednego z serwerów upstream ostatecznie wraca jako nowe zapytanie do 
# instancji dnsmasq. 
#dnsmasq_conf_dns_loop_detect: True

# Wszystkie odwrócone wyszukiwania dla prywatnych zakresów IP (tj. 192.168.x.x, itp.), 
# które nie zostały znalezione w /etc/hosts lub w pliku dzierżaw DHCP 
# są odpowiedziane "brak takiej domeny", zamiast być przekazywane dalej.
# Nigdy nie przekazuj adresów w przestrzeniach adresowych, które nie są routowane.
dnsmasq_conf_bogus_priv: True

# Jeśli nie chcesz, aby dnsmasq odczytywał /etc/hosts, odkomentuj poniższą linię.
dnsmasq_conf_no_hosts: False

# Dodatkowy plik hosts, format /etc/hosts (to jest lista!)
#dnsmasq_conf_hosts:
# - ["127.0.0.1", "localhost"]
# - ["::1", "ip6-localhost", "ip6-loopback"]
# - ["fe00::0", "ip6-localnet"]
# - ["ff00::0", "ip6-mcastprefix"]
# - ["ff02::1", "ip6-allnodes"]
# - ["ff02::2", "ip6-allrouters"]
# - ["192.168.1.10", "foo.mydomain.org", "foo" ]
dnsmasq_conf_hosts: []

# Ustaw tutaj rozmiar pamięci podręcznej dns.
cache-size: 1024

# Wyłącz pamięć podręczną dla odpowiedzi negatywnych. Pamięć podręczna negatwynych 
# odpowiedzi pozwala dnsmasq pamiętać o odpowiedziach "brak takiej domeny" 
# z serwerów nazw upstream i odpowiadać na podobne zapytania bez dalszego 
# przekazywania ich.
# Negatywne odpowiedzi z serwerów upstream normalnie zawierają informacje o
# czasie życia w rekordach SOA, które dnsmasq wykorzystuje do pamięci podręcznej. 
# Jeśli ten parametr nie jest zdefiniowany: "no-negcache".
dnsmasq_conf_negcache: 5

# Ta flaga zmusza dnsmasq do próby każdej kwerendy z każdym serwerem ściśle w
# kolejności, w jakiej pojawiają się w /etc/resolv.conf
dnsmasq_conf_strict_order: False

# Ta flaga zmusza dnsmasq do wysyłania wszystkich zapytań do wszystkich dostępnych serwerów.
# Odpowiedź z serwera, który odpowie jako pierwszy, zostanie zwrócona 
# do pierwotnego żądania.
dnsmasq_conf_all_servers: False

# Jeśli chcesz, by dnsmasq odczytywał "/etc/resolv.conf" lub jakikolwiek inny plik.
# Pusta lub niezdefiniowana wartość wyłączy odczytywanie resolv.conf
dnsmasq_conf_resolv: /etc/resolv.conf

# Nie sprawdzaj /etc/resolv.conf pod kątem zmian.
dnsmasq_conf_no_poll: False

# Jeśli dnsmasq_conf_no_poll jest False, to /etc/resolv.conf jest ponownie odczytywane
# lub serwery upstream są ustawiane przez DBus, wyczyść pamięć podręczną DNS.
dnsmasq_conf_clear_on_reload: True

# Określ adres IP serwerów upstream bezpośrednio. Ustawienie tej flagi nie 
# zapobiega odczytywaniu /etc/resolv.conf: ['localnet', '192.168.0.1']
# Przykład trasowania zapytań PTR do serwerów nazw: to wyśle wszystkie:
# zapytania z adresu->nazwa dla 192.168.3/24 do serwera nazw 10.1.2.3
# ['3.168.192.in-addr.arpa', '10.1.2.3']
#dnsmasq_conf_servers:
#  - [ "/google.com/", "8.8.8.8" ]
#  - "8.8.4.4"
dnsmasq_conf_servers: [ "8.8.8.8", "8.8.4.4" ]

# Zwróć rekord MX wskazujący na siebie dla wszystkich lokalnych maszyn: '_self'
# Rekord MX wskazujący na serwer dnsmasq dla wszystkich lokalnych maszyn: '_local' lub ''
# Rekord MX wskazujący na "servername" dla wszystkich lokalnych maszyn: 'servername'
# Zwróć rekord MX o nazwie "maildomain.com" z celem 
# "servername" i preferencją 50: [maildomain.com, servername, 50]
#dnsmasq_conf_mx: servername
#dnsmasq_conf_mx_domain: {{ hostvars['k4.ww.mens.de'].
#dnsmasq_conf_mx_pref: 1

# Dodaj rekordy A, AAAA i PTR do DNS. To dodaje jedną lub więcej nazw do 
# DNS z przypisanymi rekordami IPv4 (A) i IPv6 (AAAA)
#dnsmasq_conf_host_records:
#  - []

# Zdefiniuj strefę DNS, dla której dnsmasq działa jako serwer autorytatywny.
#dnsmasq_conf_auth_zone: []


### DHCP

# Loguj wiele dodatkowych informacji o transakcjach DHCP.
dnsmasq_conf_log_dhcp: False

# Ustaw domenę dla dnsmasq. To jest opcjonalne, ale jeśli jest ustawione, 
# realizuje następujące zadania:
# 1) Pozwala hostom DHCP mieć w pełni kwalifikowane nazwy domenowe, pod warunkiem, 
#     że część domenowa zgadza się z tym ustawieniem.
# 2) Ustawia opcję DHCP "domain", co potencjalnie ustawia domenę dla wszystkich 
#     systemów skonfigurowanych przez DHCP
# 3) Dostarcza część domenową dla "expand-hosts"
# Jeśli domena jest podana jako "#" wtedy domena jest odczytywana z pierwszej
# dyrektywy "search" w /etc/resolv.conf
dnsmasq_conf_domain: '#'

# Tylko jeśli dnsmasq_conf_domain jest ustawiona, niekwalifikowana nazwa 
# nie jest już umieszczana w DNS, tylko nazwa kwalifikowana.
dnsmasq_conf_dhcp_fqdn: True

# Powinno być ustawione, gdy dnsmasq jest zdecydowanie jedynym serwerem DHCP w sieci.
dnsmasq_conf_dhcp_authoritative: True

# Dnsmasq jest zaprojektowany do wyboru adresów IP dla klientów DHCP przy użyciu 
# hasha adresu MAC klienta.
dnsmasq_conf_dhcp_sequential_ip: True

# Wyłącz ponowną używanie pól nazwy serwera DHCP i nazwy pliku jako dodatkowej przestrzeni opcji.
dnsmasq_conf_dhcp_no_override: True

# Odkomentuj, aby włączyć zintegrowany serwer DHCP, musisz 
# podać zakres adresów dostępnych do dzierżawy i opcjonalnie 
# czas dzierżawy. Jeśli masz więcej niż jedną sieć, musisz 
# powtórzyć to dla każdej sieci, w której chcesz dostarczyć usługę DHCP.
#dnsmasq_conf_dhcp: []
#dnsmasq_conf_dhcp:
#   - device: eth0:
#     range: [192.168.1.80, 192.168.1.150, nieskończoność]
#     option: []
#     ignore_names: True
#     generate_names: True
#     boot: []
#     tftp: /var/lib/tftpboot

# Odczytaj informacje o hostach DHCP z listy lub z określonego lokalnego pliku
#dnsmasq_conf_dhcp_hosts: []

# Całkowicie stłumić użycie pliku bazy danych dzierżawy. Plik nie będzie 
# tworzony, odczytywany ani zapisywany.
dnsmasq_conf_dhcp_leasefile_ro: False

# Kiedy tworzona jest nowa dzierżawa DHCP, lub stara jest niszczona, 
# lub zakończenie transferu pliku TFTP, wykonywalny plik określony 
# przez tę opcję jest uruchamiany.
#dnsmasq_conf_dhcp_script: files/program.bin


### TFTP

# Włącz zabezpieczony tryb TFTP: bez tego, każdy plik, który jest czytelny przez 
# proces dnsmasq zgodnie z normalnymi zasadami kontroli dostępu Unix jest dostępny 
# za pomocą TFTP
dnsmasq_conf_tftp_secure: False

# Przekształci nazwy plików w zapytaniach TFTP na małe litery. To jest przydatne w 
# zapytaniach z urządzeń Windows
dnsmasq_conf_tftp_lowercase: True

# Ustaw maksymalną liczbę równoczesnych połączeń TFTP
dnsmasq_conf_tftp_max: 50

# Zatrzymaj serwer TFTP przed negocjacją opcji "blocksize" z klientem
dnsmasq_conf_tftp_no_blocksize: False

Możesz nadpisać te domyślne parametry jako zmienne roli. Zobacz przykład w site.yml z vagrant i przetestuj, używając vagrant up.

Oprócz zarządzania dnsmasq, ta rola jest w stanie zarządzać plikiem /etc/resolv.conf, definiując dnsmasq_resolvconf: true oraz parametry dnsmasq_host_*.

Autor

José Riguera López jriguera@gmail.com

O projekcie

Install and setup Dnsmasq server on RedHat/Debian based distributions

Zainstaluj
ansible-galaxy install jriguera.dnsmasq
Licencja
Unknown
Pobrania
714