Both sides previous revision Previous revision Next revision | Previous revision |
kb:linux:dnsmasq_instalacija [2020/10/14 09:32] – marko.trpeski | kb:linux:dnsmasq_instalacija [2022/02/03 18:47] (current) – milano |
---|
===== Instalacija DNSMasq za interno DNS razrešavanje (SplitDNS) ===== | ====== Instalacija DNSMasq za interno DNS razrešavanje (SplitDNS) ====== |
| |
[[https://forums.zextras.com/zimbra-howto/485-setting-up-dnsmasq-instead-bind-bulletproof-internal-dns-resolution-splitdns.html|Originalna verzija članka]] | [[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: | Ovaj vodič vodi kroz podešavanja dnsmask u cilju postizanja sledećeg: |
* 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) | * 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. | 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 Rekurzivne nameservera (AD DNS). Dnsmask je lagan DNS špediter, koji u ovom slučaju obezbeđuje jednostavno konfigurisanje **Split DNS** modela. \\ \\ Parametri okruženja 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 DNS serveri koje želite da koristite (u ovom slučaju, Google je javni DNS serveri) | 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. |
| |
Prvo instalirati DNSmasq ( videti na [[http://www.google.com|www.google.com]]). \\ | ===== Primer instalacije===== |
Config fajlovi: \\ | |
/etc/resolv.conf \\ | Postavke iskorišćene za primer: |
kod: \\ | |
nameserver 192.168.0.2 \\ | ''192.168.0.2'' je LAN IP servera \\ |
Dnsmask će se vezati na lokalnu adresu da odgovori na DNS upite. \\ | ''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. \\ |
| <file> |
| nameserver 192.168.0.2 |
| </file> |
\\ | \\ |
/etc/resolv.dnsmask \\ | 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. \\ |
kod: \\ | Uređejom ''/etc/resolv.dnsmask'' \\ |
nameserver 8.8.8.8 \\ | <file> |
nameserver 8.8.4.4 \\ | nameserver 8.8.8.8 |
Mi ćemo uputiti dnsmask da odgovori samo neki upiti i na način na koji želimo, a svi ostali upiti će biti prosleđen ovim serverima. \\ | nameserver 8.8.4.4 |
\\ | </file> |
/etc/dnsmask.conf (fajl je prilično velika, pisaću samo elemente config relevantno za ovaj vodič) \\ | |
kod: \\ | Konfiguracioni fajl samog servisa je ''/etc/dnsmask.conf''. Fajl je prilično velika, opisaću samo elemente relevantne za ovaj primer. \\ |
obratiti = / mail.domain.com / 192.168.0.2 \\ | |
resolv-fajl / etc / resolv.dnsmask \\ | <file> |
osim-interfejs = lo \\ | address = /mail.domain.com/192.168.0.2 |
listen-adresa = 192.168.0.2 \\ | resolv-file = /etc/resolv.dnsmask |
bind-interfejs | except-interfejs = lo |
| listen-address = 192.168.0.2 |
| bind-interfaces |
| </file> |
| |
| 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 |
| <file> |
| mx-host = domain.com,mail.domain.com,10 |
| </file> \\ |
| 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:** |
| |
–Ovo se menja u gore navedenom primeru------------------------------ | <file> |
| 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 |
| </file> |
| \\ |
| |
\\ address=/mail.melany.rs/192.168.0.250 \\ except-interface=lo \\ listen-address=192.168.0.250 \\ bind-interfaces | === Restart i provera servisa === |
| |
resolv-file=/etc/resolv.dnsmask \\ mx-host=melany.rs,mail.melany.rs,10 | Restartovati dnsmask sa \\ |
| <file> |
| /etc/init.d/dnsmask restart |
| </file> |
| \\ |
| i proveriti da \\ |
| <file> |
| dig mx domain.com |
| </file> |
| 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: |
| <file> |
| server=/domain.com/10.0.0.1 |
| </file> |
| sa 10.0.0.1 kao IP na autoritativni DNS za domain.com \\ |
| \\ |
| – Da biste naveli obrnutu DNS rezoluciju (PTR zapis) za domen: \\ |
| <file> |
| server=/192.168.in-addr.arpa/192.168.100.1 |
| </file> |
| - Zapišite sve DNS upite (u svrhu otklanjanja grešaka) \\ |
| <file> |
| log-queries |
| </file> |
| - Lokalno vrati SPF zapis za domen \\ |
| <file> |
| txt-record=zextras.com,"v=spf1 mx -all" |
| |
–end—–--------------------------------------------------------------------------------------- \\ Ovo postavlja dnsmask da slušate na lokalnom IP adresom i da se vezuje samo na interfejsu da sluša o. Takođe, tera da odgovara na A-zapis DNS zahteve za mail.domain.com sa LAN IP. Ovo je "naivno" trik koji vam omogućava da privremeno koriste isti hostname na dva servera, bez ikakvih pitanja vrste. \\ \\ U istom fajlu, dodati jednu liniju ovako za svaki domen na vašem serveru: \\ kod: \\ MKS-domaćin = domain.com, mail.domain.com, 10 \\ Ova linija uputiti dnsmask da se uvek vraćaju "mail.domain.com" kao MKS zapis za domena koji, ako vaš / etc / hosts fajl ispravno podešen, uvek ukazuju na lokalnom serveru (dnsmask će onda napred bilo koji drugi zahtev za DNS serveri u resolv.dnsmask fajl). \\ \\ \\ Servis Ponovo i provera: \\ Ponovo pokrenite dnsmask sa \\ kod: \\ /etc/init.d/dnsmask Restart \\ i proverite da li \\ kod: \\ DIG MKS domain.com \\ vraća lokalnu hostname / adresu. \\ \\ Isto tako, uverite se da je server pravilno mogu da reše bilo koji drugi IP preko servera navedenih u /etc/resolv.dnsmask \\ \\ Dodatne dnsmask.conf opcije: \\ - Da biste odredili autoritativan server za domen: \\ kod: \\ Server = / domain.com / 10.0.0.1 \\ sa 10.0.0.1 kao IP na autoritativni DNS za domain.com \\ \\ - Da biste odredili Reverse DNS rezoluciju (PTR Record) za domen: \\ kod: \\ Server = / 192.168.in-addr.arpa / 192.168.100.1 \\ - Log sve upite DNS (za debug purpouse) \\ kod: \\ log SKL \\ - Lokalno vrati SPF zapis za domen \\ kod: \\ tkt-zapis = zektras.com, "v = spf1 mk -all" | |
| |
| nameserver 8.8.8.8 |
| nameserver 8.8.4.4 |
| </file> |
| |
| ---- |
| 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]] |