Materiały edukacyjne z informatyki
sudo apt-get install dnsmasq
Wszystkie ustawienia znajdują się w pliku /etc/dnsmasq.conf, chociaż moglibyśmy umieścić je w osobnych plikach w katalogu /etc/dnsmasq.d. Konfiguracja funkcjonalności serwera DHCP i DNS (cache) dla sieci lokalnej na interfejsie eth1 o adresie 192.168.19.1 przedstawia się następująco:
domain-needed bogus-priv filterwin2k # nie korzystaj z pliku /etc/resolv.conf no-resolv # serwery Open DNS (lub naszego ISP) server=208.67.222.222 server=208.67.220.220 # nasza domena local=/mojadomena.org/ # nasłuchuj na interfejsie interface=eth1 expand-hosts domain=mojadomena.org # zakres adresów dhcp-range=192.168.19.100,192.168.19.200,255.255.255.0,12h # przykład rezerwacji adresów stałych dhcp-host=00:1E:33:49:0E:C2,stacja1,192.168.19.14,12h # dodatkowe opcje dhcp-option=3,192.168.19.1 # adres routera # Opcje dla Samby w roli PDC jeżeli korzystamy #dhcp-option=19,0 # opcja ip-forwarding off #dhcp-option=44,0.0.0.0 # WINS server(s) #dhcp-option=45,0.0.0.0 # netbios datagram distribution server #dhcp-option=46,8 # netbios node type (hybrid) dhcp-option=vendor:MSFT,2,1i # zwalnianie przydzielonego adresu DHCP # serwer autorytatywny dhcp-authoritative cache-size=200
W opcjach server podano adresy serwerów Open DNS, ale można podać oczywiście inne. Pozostałe ustawienia są bardzo dobrze opisane w oryginalnym pliku konfiguracyjnym (warto zrobić jego kopię).
Aby wszystko działało, trzeba jeszcze pamiętać o dwóch rzeczach. W pliku /etc/dhcp/dhclient.conf:
supersede domain-name "mojadomena.org"; prepend domain-name-servers 127.0.0.1;
Natomiast w pliku /etc/hosts, który dnsmasq propaguje do wszystkich klientów, powinna znaleźć się linia definiująca adres naszego routera (i ewentualnie serwera Samby):
#127.0.1.1 mojserwer.mojadomena.org mojserwer #to zakomentowujemy 192.168.19.1 mojserwer.mojadomena.org mojserwer
Dnsmasq zużywa o wiele mniej zasobów niż tandem ISC DHCP + ISC Bind, jest też, jak widać, prostszy w konfiguracji. Przydzielone adresy przejrzymy za pomocą polecenia: cat /var/lib/misc/dnsmasq.leases
Usługę uruchamiamy standardowo, tzn. sudo service dnsmasq start
.