====== Instalacija DNSMasq za interno DNS razrešavanje (SplitDNS) ======
[[https://community.zextras.com/forum/zimbra-howto/setting-up-dnsmasq-instead-of-bind-for-bulletproof-internal-dns-resolution-splitdns/|Originalna verzija članka]]
Ovaj vodič vodi kroz podešavanja dnsmask u cilju postizanja sledećeg:
* Kada Zimbra servera pošalje A DNS upit za svoj javni //Hostname// nekom od javnih DNS servisa, umesto javne IP adrese dobiće IP adresu samog sebe (severa).
* Kada Zimbra servera pošalje DNS upit za MKS zapis jednom od javnih DNS domena, dobiće, takođe, sopstvenu LAN IP adresu (umeto javne)
* Kada Zimbra servera pošalje bilo koji drugi DNS upit, javni DNS će vratiti ispravnu (javnu) adresu.
* Neka dnsmask vezuje se samo za interfejs koji koristi tako da drugi DNS serveri mogu da rade paralelno ako treba (glavni server, AD, HOME domena)
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 \\ \\
[[https://community.zextras.com/how-to-install-your-dns-server-using-dnsmasq/|How to Install Your DNS Server Using Dnsmasq]] \\
[[https://community.zextras.com/dns-server-installation-guide-on-centos-7-rhel-7-and-centos-8-rhel-8-using-dnsmasq/|Installing DNS Server on CentOS/RHEL using dnsmasq]]