Instalacija DNSMasq za interno DNS razrešavanje (SplitDNS)

Originalna verzija članka

Ovaj vodič vodi kroz podešavanja dnsmask u cilju postizanja sledećeg:

Zašto dnsmask umesto BIND?
Jedna reč: jednostavnost.

Bind je punopravan DNS server koji može obavljati ulogu autorizatora i rekurzivnog nameservera, ali nam to, za ovu svrhu, ne treba. Već imamo server za autorizaciju u domenu (Active Directory server), i jedan ili više rekurzivnih nameservera (AD DNS). Dnsmask je lagan DNS špediter, koji u ovom slučaju obezbeđuje jednostavno konfigurisanje tzv, Split DNS modela.

Primer instalacije

Postavke iskorišćene za primer:

192.168.0.2 je LAN IP servera
mail.domain.com je ime hosta servera
domain.com je glavni domen
domain2.com je dodatni glavni domen
8.8.8.8 i 8.8.4.4 su javni DNS serveri (internet)

Usmeravanje DNS zahteva na servis vrši se upisom nameserver-a u konfiguracioni fajl na lokaciji /etc/resolv.conf

Vezaćemo *Dnsmask* za lokalnu adresu da odgovori na DNS upite.

nameserver 192.168.0.2


Uputili smo dnsmask da odgovori samo specifičan upiti i na način na koji želimo, a svi ostali upiti će biti prosleđen internet DNS serverima.
Uređejom /etc/resolv.dnsmask

nameserver 8.8.8.8 
nameserver 8.8.4.4 

Konfiguracioni fajl samog servisa je /etc/dnsmask.conf. Fajl je prilično velika, opisaću samo elemente relevantne za ovaj primer.

address = /mail.domain.com/192.168.0.2
resolv-file = /etc/resolv.dnsmask
except-interfejs = lo
listen-address = 192.168.0.2
bind-interfaces

Ovo postavlja *dnsmask* da sluša na lokalnoj IP adresi i da se ne vezuje za loopback interfejs lo (127.0.0.01), odnosno da se veže samo za stvarne interfejse.
Takođe, tera ga da na bilo koji DNS A-record zahtev za mail.domain.com odgovori sa LAN IP adresom računara. Ovaj “naivan” trik omogućava da upotrebimo isti hostname na dva servera, bez bilo kakvog konflikta.

U isti fajl dodajmo liniju

mx-host = domain.com,mail.domain.com,10


Ova linija će uputiti *dnsmask* da uvek vraća “mail.domain.com” kao MX record za definisani domen.


Konkretne postavke za mail.melany.rs su:

address=/mail.melany.rs/192.168.0.250
resolv-file=/etc/resolv.dnsmask
mx-host=melany.rs,mail.melany.rs,10
except-interface=lo
listen-address=192.168.0.250
bind-interfaces


Restart i provera servisa

Restartovati dnsmask sa

/etc/init.d/dnsmask restart


i proveriti da

dig mx domain.com

vraća lokalni hostname / adresu.

Takođe, uverite se da server može ispravno da razreši bilo koju drugu IP adresu preko servera navedenih u /etc/resolv.dnsmask

Dodatne dnsmask.conf opcije:
– Da biste naveli autoritativni server za domen:

server=/domain.com/10.0.0.1

sa 10.0.0.1 kao IP na autoritativni DNS za domain.com

– Da biste naveli obrnutu DNS rezoluciju (PTR zapis) za domen:

server=/192.168.in-addr.arpa/192.168.100.1

- Zapišite sve DNS upite (u svrhu otklanjanja grešaka)

log-queries

- Lokalno vrati SPF zapis za domen

txt-record=zextras.com,"v=spf1 mx -all"


nameserver 8.8.8.8
nameserver 8.8.4.4

Dodatne reference

How to Install Your DNS Server Using Dnsmasq
Installing DNS Server on CentOS/RHEL using dnsmasq