A Master-Slave DNS-kiszolgáló beállítása az RHEL/CentOS 6.5 „Bind” eszközeivel
Domain Name Server (DNS), amely bármely gazdagép névfeloldására szolgál. A fő DNS-kiszolgálók (elsődleges kiszolgáló) az eredeti zónaadat-kezelők, a slave DNS-kiszolgáló (másodlagos kiszolgáló) pedig csak egy tartalék szerver, amely ugyanazon zónainformációk másolására szolgál. a fő szerverek. A Master Server feloldja a zóna adatbázisban megadott összes gazdagép nevét, és UDP protokollt használ, mivel az UDP protokollok soha nem használják a nyugtázási folyamatot, míg a tcp nyugtázást. A DNS-kiszolgálók UDP-protokollokat is használnak a lekérdezés legkorábbi megoldására.
Hogyan működik a DNS?
A DNS megértése kissé zavaró lehet az újoncok számára. Itt van egy rövid magyarázat a DNS működéséről.
Tegyük fel, hogy ha el kell érnünk egy webhelyet, mit fogunk tenni? Csak írja be a böngészőbe a www.google.com címet, és nyomja meg az Enter billentyűt. Hmm, ennyit tudunk, de tény, hogy a DNS milyen fájdalmat okoz rajta, miközben lekérdez minket. Amíg beírjuk a www.google.com címet, a rendszer a www.google.com címet keresi. Amikor beírunk egy domain nevet, a www.google.com webhely végén egy . (pont) található, amely azt mondja, hogy a névtér gyökérszerverén kell keresni.
Globálisan 13 gyökérkiszolgáló áll rendelkezésre a lekérdezés megoldására. Eleinte, amíg az Enter billentyűt lenyomjuk www.google.com néven, a böngészőnk egy kérést továbbít a helyi feloldónknak, amely tartalmazza a fő és szolga DNS-szerverünk adatait. Ha nem rendelkeznek információval az ilyen kért lekérdezésről, akkor továbbítják a kérést a legfelső szintű domainnek (TLD), ha a TLD azt mondja, hogy nem ismerem a kérést, akkor lehet, hogy a mérvadó szerver ismeri kérésre továbbítja a mérvadó szervereknek, itt csak a www.google.com címet definiáltuk 72.36.15.56 címként.
Időközben a mérvadó szerver megadja a választ a TLD-re, a TLD pedig átadja a root szervernek, a root pedig a böngészőnek, így a böngésző gyorsítótárazza a DNS-kérést későbbi használatra. Így ezek a hosszú folyamatok ezredmásodpercek alatt megoldódnak. Ha nem ismerik a kérést, NXDOMAIN néven válaszolnak. Ez azt jelenti, hogy a zóna adatbázisában nem található rekord. Remélhetőleg ez megérti a DNS működését.
Olvassa el még: A DNS-gyorsítótár-kiszolgáló beállítása az Ubuntuban
Saját tesztelési környezet
Ehhez a cikkhez 3 gépet használok, 2-t a szerver beállításához (fő és szolga), egyet pedig a klienshez.
---------------------------------------------------
Master DNS Server
---------------------------------------------------
IP Address : 192.168.0.200
Host-name : masterdns.tecmintlocal.com
OS : Centos 6.5 Final
---------------------------------------------------
Slave DNS Server
---------------------------------------------------
IP Address : 192.168.0.201
Host-name : slavedns.tecmintlocal.com
OS : Centos 6.5 Final
---------------------------------------------------
Client Machine to use DNS
---------------------------------------------------
IP Address : 192.168.0.210
Host-name : node1.tecmintlocal.com
OS : Centos 6.5 Final
Követelménycsomagok
bind, bind-utils, bind-chroot
Használt konfigurációs fájlok
config file : /etc/named.conf
script file : /etc/init.d/named
Port és használt protokollok
53, UDP
Állítsa be a fő DNS-kiszolgálót
Először ellenőrizze a Master DNS Server IP-címét, gazdagépnevét és terjesztési verzióját, mielőtt továbblép a beállításhoz.
sudo ifconfig | grep inet
hostname
cat /etc/redhat-release
Ha megerősíti, hogy a fenti beállítások helyesek, ideje továbblépni a szükséges csomagok telepítéséhez.
sudo yum install bind* -y
A Bind telepítése és konfigurálása
A szükséges csomagok telepítése után most határozza meg a zónafájlokat a fő konfigurációs „named.conf” fájlban.
sudo vim /etc/named.conf
Az alábbiakban látható a named.conf fájl bejegyzésem, módosítsa a konfigurációs fájlt igényei szerint.
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { 127.0.0.1; 192.168.0.200; }; # Here we need to add our Master DNS Server IP.
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; 192.168.0.0/24; }; # subnet range where my hosts are allowed to query our DNS.
allow-transfer { localhost; 192.168.0.201; }; # Here we need to our Slave DNS server IP.
recursion no;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
## Define our forward & reverse Zone file here for tecmintlocal.com.
zone"tecmintlocal.com" IN {
type master;
file "tecmintlocal.fwd.zone";
allow-update { none; };
};
zone"0.168.192.in-addr.arpa" IN {
type master;
file "tecmintlocal.rev.zone";
allow-update { none; };
};
#####
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
Az alábbiakban a fenti fájlban használt konfigurációk magyarázata található.
- 53-as figyelési port – Ez arra szolgál, hogy a DNS figyeljen az elérhető interfészeken.
- Master DNS – Határozza meg a fő DNS IP-címét a lekérdezés figyeléséhez.
- Slave DNS – Határozza meg a Slave DNS-ét, amely a zónainformációk szinkronizálására szolgál, hogy feloldja a gazdagépeket a mestertől.
- rekurzió nem – Ha igen, akkor a rekurzív lekérdezések a szervert DDOS támadásba helyezik.
- Zóna neve – Határozza meg a zóna nevét itt tecminlocal.comként.
- type master – Mivel ez a rendszer mesterkiszolgálóhoz lett konfigurálva, a következő szolgakiszolgáló számára ez lesz a szolga.
- tecmintlocal.fwd.zone – Ez a fájl tartalmazza a zóna gazdagépinformációit.
- nem engedélyezi a frissítést – Ha egyik sem lesz beállítva. nem fogja használni a dinamikus DNS-t (DDNS).
Master Zone fájlok létrehozása
Először definiáljuk az előretekintő zóna bejegyzést. Itt létre kell hoznunk a zónafájlokat annak a nevében, amit a named.conf fájlban definiáltunk az alábbiak szerint.
tecmintlocal.fwd.zone
tecmintlocal.rev.zone
Minta konfigurációs fájlokat használunk a továbbítási zóna fájlok létrehozásához, ehhez át kell másolnunk a minta konfigurációs fájlokat.
sudo cp /var/named/named.localhost /var/named/tecmintlocal.fwd.zone
sudo cp /var/named/named.loopback /var/named/tecmintlocal.rev.zone
Miután másolta a konfigurációs fájlokat, most szerkessze ezeket a zónafájlokat a vim szerkesztővel.
sudo vim /var/named/tecmintlocal.fwd.zone
Mielőtt megadná a gazdagép információit a továbbított zónafájlban, először tekintse meg a mintazónafájlt.
Ez az én előremenő zóna konfigurációm, fűzze hozzá az alábbi bejegyzést, és végezze el a szükséges módosításokat.
$TTL 86400
@ IN SOA masterdns.tecmintlocal.com. root.tecmintlocal.com. (
2014090401 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
86400 ) ; minimum
; Name server's
@ IN NS masterdns.tecmintlocal.com.
@ IN NS slavedns.tecmintlocal.com.
; Name server hostname to IP resolve.
@ IN A 192.168.0.200
@ IN A 192.168.0.201
; Hosts in this Domain
@ IN A 192.168.0.210
@ IN A 192.168.0.220
masterdns IN A 192.168.0.200
slavedns IN A 192.168.0.201
node1 IN A 192.168.0.210
rhel1 IN A 192.168.0.220
Mentse el, és lépjen ki a fájlból a wq! paranccsal. Az előrekeresés szerkesztése után az alábbiak szerint néz ki: A TAB használatával megfelelő formátumot kaphat a zónafájlban.
Most hozzon létre fordított keresési fájlt, már készítettünk egy másolatot a visszahurkolt fájlról a tecmintlocal.rev.zone néven. Tehát ezt a fájlt használjuk a fordított keresés konfigurálásához.
sudo vim /var/named/tecmintlocal.rev.zone
Mielőtt megadná gazdagépinformációinkat a fordított zónafájlban, tekintse meg gyorsan a minta fordított lekérdezési fájlt az alábbiak szerint.
Ez az én fordított zóna konfigurációm, csatolja az alábbi bejegyzést, és szükség szerint módosítsa.
$TTL 86400
@ IN SOA masterdns.tecmintlocal.com. root.tecmintlocal.com. (
2014090402 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
86400 ) ; minimum
; Name server's
@ IN NS masterdns.tecmintlocal.com.
@ IN NS slavedns.tecmintlocal.com.
@ IN PTR tecmintlocal.com.
; Name server hostname to IP resolve.
masterdns IN A 192.168.0.200
slavedns IN A 192.168.0.201
;Hosts in Domain
node1 IN A 192.168.0.210
rhel IN A 192.168.0.220
200 IN PTR masterdns.tecmintlocal.com.
201 IN PTR slavedns.tecmintlocal.com.
210 IN PTR node1.tecmintlocal.com.
220 IN PTR rhel1.tecmintlocal.com.
Mentse el, és lépjen ki a fájlból a wq! paranccsal. A fordított keresés szerkesztése után az alábbiak szerint néz ki: A TAB használatával megfelelő formátumot kaphat a zónafájlban.
A konfigurációs hibák ellenőrzése előtt ellenőrizze az előre- és visszakeresési fájlok csoportos tulajdonjogát.
sudo ls -l /var/named/
Itt láthatjuk, hogy mindkét fájl root felhasználók tulajdonában van, mivel a mintafájlokból másolt fájlok a /var/named/ alatt érhetők el. Módosítsa a csoportot elnevezettre mindkét fájlban a következő parancsokkal.
sudo chgrp named /var/named/tecmintlocal.fwd.zone
sudo chgrp named /var/named/tecmintlocal.rev.zone
Miután beállította a fájlok helyes tulajdonjogát, ellenőrizze őket újra.
sudo ls -l /var/named/
Most ellenőrizze a hibákat a zónafájlokban, mielőtt elindítja a DNS-szolgáltatást. Először ellenőrizze a named.conf fájlt, majd ellenőrizze a többi zónafájlt.
sudo named-checkconf /etc/named.conf
sudo named-checkzone masterdns.tecminlocal.com /var/named/tecmintlocal.fwd.zone
sudo named-checkzone masterdns.tecminlocal.com /var/named/tecmintlocal.rev.zone
Alapértelmezés szerint az iptables futott és a DNS szerverünk a localhostra korlátozódik, ha a kliens a DNS szerverünkről akar feloldani a nevet, akkor engedélyeznünk kell a bejövő kérést, ehhez az 53-as porthoz kell hozzáadnunk az iptables bejövő szabályt.
sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
Most ellenőrizze, hogy a szabályok megfelelően lettek-e hozzáadva az INPUT lánchoz.
sudo iptables -L INPUT
Ezután mentse el a szabályokat, és indítsa újra a tűzfalat.
sudo service iptables save
sudo service iptables restart
Indítsa el a megnevezett szolgáltatást, és tegye állandóvá.
sudo service named start
sudo chkconfig named on
sudo chkconfig --list named
Végül tesztelje a konfigurált Master DNS zónafájlokat (előre és vissza) a dig és az nslookup eszközökkel.
dig masterdns.tecmintlocal.com [Forward Zone]
dig -x 192.168.0.200
nslookup tecmintlocal.com
nslookup masterdns.tecmintlocal.com
nslookup slavedns.tecmintlocal.com
Menő! konfiguráltunk egy Master DNS-t, most be kell állítanunk egy Slave DNS-kiszolgálót. Haladjunk tovább a slave szerver beállításával, ez nem fog sok időt igénybe venni fő beállításként.
Állítsa be a slave DNS-kiszolgálót
A Slave gépben is ugyanazokat a bind csomagokat kell telepítenünk, mint a Masterben, ezért telepítsük őket a következő paranccsal.
sudo yum install bind* -y
Nyissa meg és szerkessze a „named.conf” fájlt a zónaadatbázisunkhoz és a portfigyeléshez.
sudo vim /etc/named.conf
Végezze el a módosításokat az ábrán látható módon, igényei szerint.
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
options {
listen-on port 53 { 127.0.0.1; 192.168.0.201}; # Our Slave DNS server IP
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; 192.168.0.0/24; };
recursion no;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
## Define our slave forward and reverse zone, Zone files are replicated from master.
zone"tecmintlocal.com" IN {
type slave;
file "slaves/tecmintlocal.fwd.zone";
masters { 192.168.0.200; };
};
zone"0.168.192.in-addr.arpa" IN {
type slave;
file "slaves/tecmintlocal.rev.zone";
masters { 192.168.0.200; };
};
#####
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
Indítsa el a DNS szolgáltatást a használatával.
sudo service named start
A kötési szolgáltatás újraindítása után nem kell külön definiálnunk a zónainformációkat, mivel az átvitel engedélyezése replikálja a zónainformációkat a főkiszolgálóról, amint az az alábbi képen látható.
sudo ls -l /var/named/slaves
Ellenőrizze a zóna információkat a cat paranccsal.
sudo cat /var/named/slaves/tecmintlocal.fwd.zone
sudo cat /var/named/slaves/tecmintlocal.rev.zone
Ezután nyissa meg az iptables 53-as DNS-portját a bejövő kapcsolat engedélyezéséhez.
sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
Mentse az iptables szabályokat, és indítsa újra az iptables szolgáltatást.
sudo service iptables save
sudo service iptables restart
Állandó legyen a szolgáltatás a rendszerindításkor.
sudo chkconfig iptables on
Check whether persistent set for run-levels .
sudo chkconfig --list iptables
Ez az!. Itt az ideje, hogy konfiguráljuk az ügyfélgépeinket, és ellenőrizzük a gazdagép nevét.
Konfigurálja az ügyfélgépet
Az ügyféloldalon hozzá kell rendelnünk az Elsődleges (192.168.0.200) és a Másodlagos DNS (192.168.0.201) bejegyzést a hálózati beállításokban, hogy megkapjuk a gazdagépnév hozzárendelését. Ehhez futtassa a setup parancsot, hogy meghatározza ezeket a bejegyzéseket a képen látható módon.
setup
Ellenkező esetben szerkessze az „/etc/reslov.conf” fájlt, és adja hozzá a következő bejegyzéseket.
vim /etc/resolv.conf
search tecmintlocal.com
nameserver 192.168.0.200
nameserver 192.168.0.201
Most ellenőrizze az ip, a gazdagépnév és a névszerver keresését.
ifconfig | grep inet
hostname
nslookup tecmintlocal.com
Most ellenőrizze a továbbított és fordított DNS-keresést a használatával.
dig masterdns.tecmintlocal.com
dig -x 192.168.0.200
Az ásási kimenet értelmezése:
- Fejléc – Ez mindent elmond, amit kérdeztünk, és hogy milyen volt az eredmény.
- Állapot – Az állapot NINCS HIBA, ami azt jelenti, hogy az általunk küldött lekérdezés sikeres volt HIBA nélkül.
- Kérdés – Az általunk készített lekérdezés, itt a lekérdezésem a masterdns.tecmintlocal.com volt.
- Válasz – A lekérdezési kérés megoldva, ha vannak elérhető információk.
- Hatóság – A névszerver válasza a tartományhoz és a zónához.
- További – További információk a névszerverekkel kapcsolatban, például gazdagépnév és IP-cím.
- Lekérdezési idő – Mennyi ideig tartott a nevek feloldása a fenti szerverekről.
Végül ellenőrizze a csomópontunkat, és ping-eljen.
dig node1.tecmintlocal.com
ping masterdns.tecmintlocal.com -c 2
ping slavedns.tecmintlocal.com -c 2
ping 192.168.0.200 -c 2
ping 192.168.0.201 -c 2
Végül a telepítés befejeződött, itt sikeresen konfiguráltuk az elsődleges (fő) és a szolga (másodlagos) DNS-kiszolgálót is, reméljük, mindenki minden probléma nélkül beállította. Nyugodtan írjon megjegyzést, ha bármilyen problémával szembesül a telepítés során.