====== 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]]