Dnsmasq je v informatice malý a snadno konfigurovatelný DNS a DHCP server. Je určen hlavně pro malé firemní a domácí sítě používající NAT. Dnsmasq podporuje jak statické tak dynamické DHCP a pro bootování bezdiskových stanic po počítačové síti je podporován i starší protokol BOOTP. Podporovány jsou platformy Linux (glibc nebo uClibc), BSD a macOS.
Vlastnosti Dnsmasq má následující vlastnosti: Snadná konfigurace DNS serveru, nezávisle na údajích poskytovatele Dnsmasq dokáže vyfiltrovat „falešné NXDOMAIN“ záznamy. Tím preventivně ochraňuje před potenciálními nežádoucími útoky Dnsmasq podporuje MX záznamy a dokáže obnovit MX záznamy pro jakoukoli nebo všechny lokální stanice. Dnsmasq také podporuje NAPTR záznamy, které dovolují užití regulárních výrazů založených na přepisování doménových jmen, které pak mohou být použity jako identifikátory URI. Uživatelé mohou nakonfigurovat Dnsmasq tak, že některé dotazy pro konkrétní domény posílá nadřazeným serverům, které je spravují, což umožňuje integraci do privátních DNS systémů. Skriptování v Lua Podpora DHCPv6
Konfigurace Hlavní konfigurační soubor je /etc/dnsmasq.conf. Je velice dobře komentovaný a tak není problém dnsmasq podle našich představ nastavit. První co bychom měli upravit je specifikace rozhraní kde bude dnsmasq naslouchat. Z hlediska bezpečnosti není vhodné aby byl dostupný z internetu. Ve výchozím nastavení naslouchá na všech rozhraních:
interface=eth1 Rozhraní má více specifikací: interface=eth2 interface=eth3
DNS Kešování DNS a forwarding fungují automaticky. Otestovat to můžeme dotazem na nějakou doménu: dig www.wikipedia.org @127.0.0.1 Dnsmasq využívá naše resolvery (viz /etc/resolv.conf) a odpovědi kešuje. Integruje také informace z /etc/hosts, tím pádem se nám velice usnadní pojmenování lokálních počítačů – nemusíme tvořit zónový soubor. Například, pokud do /etc/hosts vložíte záznam: 10.0.1.15 lilek.local …můžete se po restartu programu dnsmasq rovnou přesvědčit, že od něj dostanete správnou odpověď (tedy, správnou dle /etc/hosts): dig @127.0.0.1 lilek.local ;; ANSWER SECTION: lilek.local. 10800 IN A 10.0.1.15 Výchozí hodnota pro velikost keše je sto padesát záznamů. Chceme-li kešovat více záznamů, specifikujte příslušnou hodnotu cache-size: cache-size=500 Vlastní DNS nemusíme vkládat jenom do /etc/hosts, ale také do samotné konfigurace : host-record=laptop,laptop.local,10.0.1.60,1234::100 Výše uvedená řádka vytvoří A záznam pro jména laptop a laptop.local s IP adresou 10.0.1.60 a AAAA (IPv6) záznam s IPv6 adresou 1234::100. Potřebujete-li vložit vlastní MX záznam, můžete použít mx-host: mx-host=example.org,postovniserver.local,10 Výše uvedený řádek nastaví MX záznam pro doménu example.org o váze 10 s poštovním serverem postovniserver.local.
Podobným způsobem můžete vytvářet i PTR nebo SRV záznamy. Více viz manuálová stránka a komentáře v konfiguračním souboru. Po úpravě konfigurace je třeba dnsmasq restartovat: service dnsmasq restart
DHCP Funkce DHCP serveru je ve výchozím stavu vypnutá dnsmasq. Pro funkčnost stačí specifikovat rozsah adres pro DHCP: dhcp-range=10.0.1.50,10.0.1.150,12h Tato řádka nastaví dynamické přidělování adres v rozsahu 10.0.1.50 až 10.0.1.150, přičemž přidělená IP adresa bude „pronajatá“ dvanáct hodin. Podobně jako v případě direktivy interface můžete dhcp-range specifikovat vícekrát, pokaždé pro jiný rozsah: dhcp-range=10.0.1.50,10.0.1.150,12h dhcp-range=10.0.5.10,10.0.5.50,12h IP adresy můžete specifikovat i staticky, pro konkrétní MAC síťové karty: dhcp-host=11:22:33:44:55:66,10.10.10.10 Tato řádka přidělí MAC adrese 11:22:33:44:55:66 IP adresu 10.10.10.10.
Konkrétní rozsahy můžete přidělovat i konkrétním síťovým rozhraním: dhcp-range=eth1,10.0.1.50,10.0.1.150,12h dhcp-range=eth2,10.0.5.10,10.0.5.50,12h Potřebujete-li specifikovat některé další volby jako router apod., můžete použít dhcp-option: dhcp-option=option:router,10.10.10.10 dhcp-option=option:ntp-server,10.10.10.20,10.10.10.30
Výše uvedená řádka sdělí DHCP klientům, že router je na adrese 10.10.10.10 a NTP servery jsou na 10.10.10.20 a 10.10.10.30. Další příklady naleznete v konfiguračním souboru a v manuálu.
Související články BusyBox obsahuje udhcpd DHCP server
Reference
Kategorie:DNS software Kategorie:Svobodný software Kategorie:Software pod licencí GPL