Weboldal keresés

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ó.

  1. 53-as figyelési port – Ez arra szolgál, hogy a DNS figyeljen az elérhető interfészeken.
  2. Master DNS – Határozza meg a fő DNS IP-címét a lekérdezés figyeléséhez.
  3. 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.
  4. rekurzió nem – Ha igen, akkor a rekurzív lekérdezések a szervert DDOS támadásba helyezik.
  5. Zóna neve – Határozza meg a zóna nevét itt tecminlocal.comként.
  6. type master – Mivel ez a rendszer mesterkiszolgálóhoz lett konfigurálva, a következő szolgakiszolgáló számára ez lesz a szolga.
  7. tecmintlocal.fwd.zone – Ez a fájl tartalmazza a zóna gazdagépinformációit.
  8. 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:

  1. Fejléc – Ez mindent elmond, amit kérdeztünk, és hogy milyen volt az eredmény.
  2. Állapot – Az állapot NINCS HIBA, ami azt jelenti, hogy az általunk küldött lekérdezés sikeres volt HIBA nélkül.
  3. Kérdés – Az általunk készített lekérdezés, itt a lekérdezésem a masterdns.tecmintlocal.com volt.
  4. Válasz – A lekérdezési kérés megoldva, ha vannak elérhető információk.
  5. Hatóság – A névszerver válasza a tartományhoz és a zónához.
  6. További – További információk a névszerverekkel kapcsolatban, például gazdagépnév és IP-cím.
  7. 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.