Pokud jste pravidelným čtenářem Techglimpse, možná jste si přečetli naše předchozí články o DNS, jeho typech, jak funguje, rozdílech mezi autoritativními a rekurzivními servery. Také jsme vám ukázali, jak identifikovat IP adresu serveru DNS nakonfigurovanou na vašich počítačích se systémem Windows a Linux a jak analyzovat rychlost různých serverů DNS pomocí nástroje Benchmarking s názvem namebench. Dnes ukážu, jak nainstalovat a nakonfigurovat Bind na vašich počítačích se systémem Linux.
Tento tutoriál ukáže základní konfiguraci serveru DNS pomocí bind. Bind je bezplatný balíček, který vám umožňuje nastavit DNS server. Základní nastavení vazby zabere 200 MB vaší paměti RAM a buďte připraveni nakonfigurovat více, když se server dostane do provozu (když přidáte další zóny a když server obdrží více dotazů).
Zvažte základní nastavení, jak je uvedeno níže,
One machine for setting up the DNS server - I am going to call this machine as 10.180.8.115.
Ukázková doména nebo zóna – Techglimpse.com (10.180.3.74) k otestování nastavení
Authoritative Name server for techglimpse.com will be called as ns1.techglimpse.com
Ukázkové subdomény techglimpse.com jsou ftp, www, mail.
Stáhnout a nainstalovat Bind
Na počítačích založených na Debianu
apt-get install bind9 dnsutils
Na počítačích založených na CentOs/Fedoře
yum install bind dnsutils
Poznámka:Bind je server DNS, zatímco dnsutils obsahuje několik příkazů souvisejících s dns pro testování a odstraňování problémů. Například dig.
Vytvořit soubor zóny pro doménu
Jak jsem řekl dříve, naše ukázková doména bude techglimpse.com. Vytvoříme tedy soubor zóny pro tuto doménu. Chcete-li to provést, vytvořte adresář pro uložení souborů zóny.
cd /var/named mkdir -p zones/master cd zones/master/
Poznámka:Můj adresář vazeb je „/var/named“, ale to se může změnit ve vašem nastavení. Například /etc/named, /etc/bind atd…
Nyní je čas vytvořit soubor zóny pro techglimpse.com. Zóna bude pojmenována jako „db.techglimpse.com ” který bude obsahovat DNS záznamy jako A, MX, CNAME atd…
vi /var/named/zones/master/db.techglimpse.com
Vložte níže uvedený kód,
; ; BIND data file for techglimpse.com ; $TTL 3h @ IN SOA ns1.techglimpse.com. admin.techglimpse.com. ( 1 ; Serial 3h ; Refresh after 3 hours 1h ; Retry after 1 hour 1w ; Expire after 1 week 1h ) ; Negative caching TTL of 1 day ; @ IN NS ns1.techglimpse.com. techglimpse.com. IN MX 10 mail.techglimpse.com. techglimpse.com. IN A 10.180.3.74 ns1 IN A 10.180.3.74 www IN CNAME techglimpse.com. mail IN A 10.180.3.74 ftp IN CNAME techglimpse.com.
Poznámka:Chcete-li nastavit zóny, měli byste vytvořit podobný soubor zóny pro každou doménu, kterou chcete vyřešit prostřednictvím serveru DNS. Proveďte nezbytné změny ve výše uvedeném souboru vzorové zóny.
Rychlý pohled na soubor zóny:
* SOA Record – Odkazuje na autoritativní jmenný server techglimpse.com jako ns1.techglimpse.com a admin.techglimpse.com odkazuje na e-mailovou adresu správce serveru DNS.
* NS Records:techglimpse.com má jeden jmenný server ns1.techglimpse.com. Normálně budou mít domény alespoň dva jmenné servery pro vysokou dostupnost. Pro ukázku jsem pojmenoval pouze jeden jmenný server.
* MX (Mail Exchange):záznam o výměně pošty techglimpse.com.
* Záznam CNAME:Kanonický název.
OK! Cokoli jsme teď udělali, je mapování jména na adresu. Nyní vytvoříme mapování adresy na jméno.
Nastavit mapování adresy na jméno:
Nastavili jsme překlad DNS serveru na IP adresu při dotazu na doménu. Nyní bychom měli říci serveru, aby také provedl zpětné vyhledávání. Myslím, z IP do domény.
vi /var/named/zones/master/db.10.180.3
Vložte níže uvedený kód,
; ; BIND reverse data file for 3.180.10.in-addr.arpa ; $TTL 604800 3.180.10.in-addr.arpa. IN SOA ns1.techglimpse.com. admin.techglimpse.com. ( 1 ; Serial 3h ; Refresh after 3 hours 1h ; Retry after 1 hour 1w ; Expire after 1 week 1h ) ; Negative caching TTL of 1 day ; 3.180.10.in-addr.arpa. IN NS ns1.techglimpse.com. 74.3.180.10.in-addr.arpa. IN PTR techglimpse.com.
Zde je 74.3.180.10 obrácená adresa 10.180.3.74. Poznamenejte si také název souboru.
* Záznam PTR:Mapuje IP adresu k názvu domény.
Nakonfigurujte named.conf pro čtení souborů zóny
Měli bychom nakonfigurovat named.conf tak, aby odkazoval na nově vytvořené soubory zóny.
/var/named/zones/master/db.techglimpse.com /var/named/zones/master/db.10.180.3
V mém počítači named.conf je umístěn pod /etc/. To se však může na vašem počítači změnit; například:/etc/named/named.conf, /etc/bind/named.conf.
vi /etc/named.conf
Zkopírujte a vložte níže uvedené texty
zone "techglimpse.com" { type master; file "/var/named/zones/master/db.techglimpse.com"; };
zóna “3.180.10.in-addr.arpa” {
type master;
soubor “/var/named/zones/master/db.10.180.3”;
};
Poznámka:Proveďte nezbytné změny, aby odrážely skutečnou doménu a její umístění souborů zóny.
Ověřte správnost konfiguračního souboru pomocí níže uvedeného příkazu.
named-checkconf
Pomocí níže uvedeného příkazu
zkontrolujte, zda v souborech zóny nejsou nějaké chybynamed-checkzone
Například
named-checkzone techglimpse.com /var/named/zones/master/db.techglimpse.com zone techglimpse.com/IN: loaded serial 1 OK
named-checkzone 3.180.10.in-addr.arpa /var/named/zones/master/db.10.180.3 zone 3.180.10.in-addr.arpa/IN: loaded serial 1 OK
Pokud výše uvedený příkaz odpoví stavem OK, pak je dobré pokračovat podle níže uvedených kroků, jinak znovu zkontrolujte konfigurační soubory, zda neobsahují nějaké chyby.
Spusťte server Bind
/etc/init.d/bind9 start
nebo
/etc/init.d/named start
Pokud se vyskytnou nějaké chyby, měli byste je vidět při spouštění démonů named nebo bind9.
Otestujte nastavení
Pokud si vzpomínáte, navrhl jsem nainstalovat dnsutils, který nainstaluje příkaz s názvem ‚dig‘.
dig @10.180.8.115 techglimpse.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @10.180.8.115 techglimpse.com ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45562 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; WARNING: recursion requested but not available
;; SEKCE OTÁZEK:
;techglimpse.com. V A
;; SEKCE ODPOVĚDI:
techglimpse.com. 10800 IN A 10.180.3.74
;; SEKCE OPRÁVNĚNÍ:
techglimpse.com. 10800 IN NS ns1.techglimpse.com.
;; DALŠÍ SEKCE:
ns1.techglimpse.com. 10800 IN A 10.180.3.74
;; Doba dotazu:2 ms
;; SERVER:10.180.8.115#53(10.180.8.115)
;; KDY:Út 15. října 12:42:50 2013
;; MSG VELIKOST rcvd:83
Otestujte rozlišení IP na hostitele,
dig @10.180.8.115 -x 10.180.3.74
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> @10.180.8.115 -x 10.180.3.74 ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47357 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; WARNING: recursion requested but not available
;; SEKCE OTÁZKY:
;74.3.180.10.in-addr.arpa. V PTR
;; SEKCE ODPOVĚDI:
74.3.180.10.in-addr.arpa. 604800 V PTR techglimpse.com.
;; SEKCE ORGÁNU:
3.180.10.in-addr.arpa. 604800 IN NS ns1.techglimpse.com.
;; DALŠÍ SEKCE:
ns1.techglimpse.com. 10800 IN A 10.180.3.74
;; Doba dotazu:2 ms
;; SERVER:10.180.8.115#53(10.180.8.115)
;; KDY:Út 15. října 12:44:30 2013
;; MSG VELIKOST rcvd:105
Poznámka:První argument říká příkazu dig, aby se vyřešil pomocí serveru DNS (10.180.8.115; který jsme nyní nainstalovali) a druhý argument je název domény/IP.
A je to. Úspěšně jste nakonfigurovali vazbu.
Přečtěte si také: Měli byste na svém DNS povolit rekurzi? Je to zranitelné!
Přečtěte si také: Jak skrýt název softwaru serveru DNS a jeho verzi? [Zabezpečení DNS]
Přečtěte si také: Jak povolit protokolování serveru DNS BIND pro sledování dotazů a odstraňování problémů?