BIND lze nakonfigurovat jako hlavní nebo podřízený, aby obsluhoval požadavek DNS pro každou zónu. Když je BIND nakonfigurován jako slave, získává kopii zónových dat z hlavního serveru pomocí metody zónového přenosu.
V předchozím příspěvku jsme nakonfigurovali DNS server na CentOS 7, který bude fungovat jako zdroj pro podřízený server.
Životní prostředí
Název domény:itzgeek.local | ||
---|---|---|
primary.itzgeek.local | 192.168.1.10 | Hlavní server DNS |
secondary.itzgeek.local | 192.168.1.20 | Podřízený server DNS |
V tomto máme dva servery s názvem primární a sekundární. Primární je již nakonfigurován jako hlavní pro doménu itzgeek.local.
Nyní nakonfigurujeme sekundární server jako podřízený DNS server pro itzgeek.local.
Na hlavním serveru
Nakonfigurujte BIND na hlavním serveru tak, aby umožňoval přenos zóny na sekundární server, upravte soubor /etc/named.conf v primární.itzgeek.local.
vi /etc/named.conf
Přidejte do souboru následující položku. Servery, které jsou uvedeny v povolení přenosu, budou schopny přenášet zóny z hlavního serveru.
options { . . . allow-transfer { 192.168.1.20; }; also-notify { 192.168.1.20; }; . . . }
Přidejte informace o sekundárním serveru DNS do souboru dopředného vyhledávání na adrese primary.itzgeek.local.
vi /var/named/fwd.itzgeek.local.db
Záznamy budou vypadat níže.
@ IN SOA primary.itzgeek.local. root.itzgeek.local. ( 1002 ;Serial 3H ;Refresh 15M ;Retry 1W ;Expire 1D ;Minimum TTL ) ;Name Server Information @ IN NS primary.itzgeek.local. ;Secondary Name server @ IN NS secondary.itzgeek.local. ;IP address of Primary Name Server primary IN A 192.168.1.10 ;IP address of Secondary Name Server secondary IN A 192.168.1.20 ;Mail exchanger itzgeek.local. IN MX 10 mail.itzgeek.local. ;A - Record HostName To IP Address www IN A 192.168.1.100 mail IN A 192.168.1.150 ;CNAME record ftp IN CNAME www.itgeek.local.
Restartujte službu BIND.
systemctl restart named
Přidejte do brány firewall pravidlo povolení, které povolí zóny přenosu z hlavního serveru.
firewall-cmd --permanent --add-port=53/tcp firewall-cmd --reload
Na podřízeném serveru
Je čas přidat deklaraci slave zóny na sekundární server, ujistěte se, že jste na sekundární server instalovali následující balíčky.
yum -y install bind bind-utils
Upravte /etc/named.conf soubor. Zakomentujte následující řádek, aby BIND mohl naslouchat na všech rozhraních.
// listen-on port 53 { 127.0.0.1; }; // listen-on-v6 port 53 { ::1; };
Přidejte svou síť v následujícím řádku. Přidal jsem 192.168.1.0/24 aby klienti ze sítě 192.168.1.0/24 mohli dotazovat DNS na překlad názvu na IP.
options { . . . allow-query { localhost; 192.168.1.0/24; }; . . . }
Přidejte podřízenou zónu jako níže.
zone "itzgeek.local" IN { type slave; masters { 192.168.1.10; }; file "slaves/fwd.itzgeek.local.db"; }; zone "1.168.192.in-addr.arpa" IN { type slave; masters { 192.168.1.10; }; file "slaves/1.168.192.db"; };
itzgeek.local – Název domény
otrok – Sekundární DNS
fwd.itzgeek.local.db &1.168.192.db – Soubor pro dopředné a zpětné vyhledávání slave
Restartujte službu BIND na sekundární.itzgeek.local
systemctl restart named
Přidejte do brány firewall pravidlo pro povolení, aby se klienti mohli připojit k serveru DNS za účelem překladu názvů.
firewall-cmd --permanent --add-port=53/udp firewall-cmd --reload
Ověřte vyhledávání pro www.itzgeek.local pomocí Secondary.itzgeek.local (192.168.1.20)
[root@client ~]# dig @192.168.1.20 www.itzgeek.local
Výstup:
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.1 <<>> @192.168.1.20 www.itzgeek.local ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5314 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.itzgeek.local. IN A ;; ANSWER SECTION: www.itzgeek.local. 604800 IN A 192.168.1.100 ;; AUTHORITY SECTION: itzgeek.local. 604800 IN NS secondary.itzgeek.local. itzgeek.local. 604800 IN NS primary.itzgeek.local. ;; ADDITIONAL SECTION: primary.itzgeek.local. 604800 IN A 192.168.1.10 secondary.itzgeek.local. 604800 IN A 192.168.1.20 ;; Query time: 0 msec ;; SERVER: 192.168.1.20#53(192.168.1.20) ;; WHEN: Wed Jul 17 21:53:45 IST 2019 ;; MSG SIZE rcvd: 140
Aktualizace záznamu
Kdykoli změníte záznam DNS na hlavním serveru, nezapomeňte změnit sériové číslo v souboru zóny a spuštěním následujícího příkazu na hlavním serveru znovu načtěte zónu.
Změňte itzgeek.local a 1.168.192.in-addr.arpa pomocí názvů zón.
### Forward Zone ### rndc reload itzgeek.local ### Reverse Zone ### rndc reload 1.168.192.in-addr.arpa
Závěr
To je vše. Doufám, že jste se naučili, jak nastavit podřízený DNS server na CentOS 7 / RHEL 7.