Servery DNS lze nakonfigurovat tak, aby fungovaly jako hlavní nebo podřízené pro obsluhu požadavku DNS. Když je DNS nakonfigurován jako slave, získává kopii zónových dat od mastera pomocí metody zónového přenosu a uchovává je v mezipaměti po určitou dobu pro obsluhu DNS dotazů.
Životní prostředí
itzgeek.local | ||
---|---|---|
ns1.itzgeek.local | 192.168.0.10 | Hlavní server DNS |
ns2.itzgeek.local | 192.168.0.20 | Podřízený server DNS. Stará se o požadavky DNS, když hlavní server selže |
ns1.itzgeek.local je již nakonfigurován jako hlavní pro doménu itzgeek.local.
ČTĚTE :Konfigurace serveru DNS na Ubuntu 18.04 / Ubuntu 16.04
PŘEČTĚTE :Konfigurace serveru DNS na Debian 10 / Debian 9
Nyní nakonfigurujeme ns2.itzgeek.local jako podřízený DNS server pro doménu itzgeek.local.
Konfigurace hlavního serveru
Musíme nakonfigurovat BIND na hlavním serveru (ns1.itzgeek.local), abychom umožnili přenos zóny na náš sekundární server (ns2.itzgeek.local).
Upravte soubor /etc/named.conf.local v ns1.itzgeek.local.
sudo nano /etc/bind/named.conf.local
Budete muset aktualizovat stávající zóny, které jsme vytvořili pro itzgeek.local, pomocí parametru allow-transfer and also-notify.
Povolení přenosu vám umožní přenést zóny z hlavního na podřízený server a také nám pomůže upozornit podřízený server, když dojde ke změně zón na hlavním serveru.
Dopředná zóna
zone "itzgeek.local" IN { // Domain name type master; // Primary DNS file "/etc/bind/forward.itzgeek.local.db"; // Forward lookup file allow-transfer { 192.168.0.20; }; //Allow Transfer of zone from the master server also-notify { 192.168.0.20; }; //Notify slave for zone changes };
Reverzní zóna
zone "0.168.192.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order type master; // Primary DNS file "/etc/bind/reverse.itzgeek.local.db"; //Reverse lookup file allow-transfer { 192.168.0.20; }; //Allow Transfer of zone from the master server also-notify { 192.168.0.20; }; //Notify slave for zone changes };
Restartujte službu DNS na adrese ns1.itzgeek.local.
sudo systemctl restart bind9
Konfigurace podřízeného serveru
Ujistěte se, že jste na podřízený server nainstalovali následující balíčky.
sudo apt-get install -y bind9 bind9utils bind9-doc dnsutils
Je čas přidat deklaraci podřízené zóny na podřízený server (ns2.itzgeek.local). Upravte soubor /etc/bind/named.conf.local.
sudo nano /etc/bind/named.conf.local
Dopředná zóna
Přidejte podřízenou zónu jako níže.
zone "itzgeek.local" IN { //Domain name type slave; //Secondary Slave DNS file "/var/cache/bind/forward.itzgeek.local.db"; //Forward Zone Cache file masters { 192.168.0.10; }; //Master Server IP };
Reverzní zóna
Přidejte podřízenou zónu jako níže.
zone "0.168.192.in-addr.arpa" IN { //Reverse lookup name. Should match your network in reverse order type slave; // Secondary/Slave DNS file "/var/cache/bind/reverse.itzgeek.local.db"; //Reverse Zone Cache file masters { 192.168.0.10; }; //Master Server IP };
Restartujte službu DNS na ns2.itzgeek.local
sudo systemctl restart bind9
Počkejte několik minut a v souboru /var/log/syslog byste začali vidět něco jako níže.
Jan 4 23:18:49 ns2 named[2637]: zone itzgeek.local/IN: Transfer started. Jan 4 23:18:49 ns2 named[2637]: transfer of 'itzgeek.local/IN' from 192.168.0.10#53: connected using 192.168.0.20#54333 Jan 4 23:18:49 ns2 named[2637]: zone itzgeek.local/IN: transferred serial 3 Jan 4 23:18:49 ns2 named[2637]: transfer of 'itzgeek.local/IN' from 192.168.0.10#53: Transfer status: success Jan 4 23:18:49 ns2 named[2637]: transfer of 'itzgeek.local/IN' from 192.168.0.10#53: Transfer completed: 1 messages, 8 records, 228 bytes, 0.004 secs (57000 bytes/sec) Jan 4 23:18:49 ns2 named[2637]: managed-keys-zone: Key 20326 for zone . acceptance timer complete: key now trusted Jan 4 23:18:49 ns2 named[2637]: resolver priming query complete Jan 4 23:18:49 ns2 named[2637]: zone 0.168.192.in-addr.arpa/IN: Transfer started. Jan 4 23:18:49 ns2 named[2637]: transfer of '0.168.192.in-addr.arpa/IN' from 192.168.0.10#53: connected using 192.168.0.20#55105 Jan 4 23:18:49 ns2 named[2637]: zone 0.168.192.in-addr.arpa/IN: transferred serial 3 Jan 4 23:18:49 ns2 named[2637]: transfer of '0.168.192.in-addr.arpa/IN' from 192.168.0.10#53: Transfer status: success Jan 4 23:18:49 ns2 named[2637]: transfer of '0.168.192.in-addr.arpa/IN' from 192.168.0.10#53: Transfer completed: 1 messages, 6 records, 210 bytes, 0.007 secs (30000 bytes/sec) Jan 4 23:18:49 ns2 named[2637]: zone 0.168.192.in-addr.arpa/IN: sending notifies (serial 3)
Aktualizace záznamu DNS
Při úpravě záznamů jakékoli zóny na hlavním serveru se ujistěte, že jste aktualizovali sériové číslo na nějaké náhodné číslo, vyšší než aktuální. Spusťte také následující příkaz na hlavním serveru a znovu načtěte zónu, aby podřízená zóna získala aktualizované záznamy.Změňte itzgeek.local &0.168.192.in-addr.arpa pomocí názvů zón.
### Forward Zone ### sudo rndc reload itzgeek.local ### Reverse Zone ### sudo rndc reload 0.168.192.in-addr.arpa
Ověřte podřízený DNS server
Na klientském počítači přidejte IP adresu podřízeného DNS serveru do souboru /etc/resolv.conf.
sudo nano /etc/resolv.conf
Přidejte další záznam DNS, jak je uvedeno níže, spolu se stávajícími záznamy.
nameserver 192.168.0.20
NEBO
Přečtěte si níže uvedený návod k nastavení IP serveru DNS v Linuxu.
ČTĚTE: Jak nastavit DNS IP adresu v CentOS / Fedora
ČTĚTE: Jak nastavit IP adresu DNS v Ubuntu / Debian – ifupdown
ČTĚTE: Jak nastavit IP adresu DNS v Ubuntu 18.04 – Netplan
K ověření serveru DNS můžete použít příkaz nslookup nebo dig.
Použijte příkaz dig k ověření dopředného vyhledávání spolu s @Ověřte vyhledávání pro www.itzgeek.local pomocí ns2.itzgeek.local (192.168.0.20)
dig www.itzgeek.local @192.168.0.20
Výstup:
; <<>> DiG 9.11.3-1ubuntu1.7-Ubuntu <<>> www.itzgeek.local @192.168.0.20 ;; global options: +cmd ;; Got answer: ;; WARNING: .local is reserved for Multicast DNS ;; You are currently testing what happens when an mDNS query is leaked to DNS ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29076 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ; COOKIE: 0ff4fbeabbfe6d45cf28f0e85e11725b14943fb073203e78 (good) ;; QUESTION SECTION: ;www.itzgeek.local. IN A ;; ANSWER SECTION: www.itzgeek.local. 604800 IN A 192.168.0.100 ;; AUTHORITY SECTION: itzgeek.local. 604800 IN NS ns1.itzgeek.local. ;; ADDITIONAL SECTION: ns1.itzgeek.local. 604800 IN A 192.168.0.10 ;; Query time: 0 msec ;; SERVER: 192.168.0.20#53(192.168.0.20) ;; WHEN: Sun Jan 05 10:51:26 IST 2020 ;; MSG SIZE rcvd: 124
Nyní můžete vidět, že podřízený server odpovídá na dotazy DNS.
Závěr
To je vše. Úspěšně jste nakonfigurovali Slave DNS Server na Ubuntu 18.04 / Ubuntu 16.04 &Debian 10 / Debian 9. Podělte se prosím o svůj názor v sekci komentářů.