Hogyan konfigurálhatjuk a BIND-et privát hálózati DNS-kiszolgálóként a CentOS 7

Bevezetés

a kiszolgáló konfigurációjának és infrastruktúrájának kezelésének fontos része a hálózati interfészek és IP-címek név szerinti megkeresésének egyszerű módja a megfelelő Domain Névrendszer (DNS) létrehozásával. A teljesen minősített tartománynevek (FQDNS) használata IP-címek helyett a hálózati címek megadásához megkönnyíti a szolgáltatások és alkalmazások konfigurálását, valamint növeli a konfigurációs fájlok karbantarthatóságát. A saját DNS beállítása a magánhálózathoz nagyszerű módja annak, hogy javítsa a kiszolgálók kezelését.

ebben az oktatóanyagban áttekintjük, hogyan állíthatunk be egy belső DNS-kiszolgálót a BIND name server szoftver (bind9) segítségével a CentOS 7-en, amelyet a virtuális Magánszerverek (VPS) használhatnak a privát gazdagépnevek és a privát IP-címek megoldására. Ez egy központi módja annak, hogy kezelni a belső hostnames és privát IP-címeket, ami elengedhetetlen, ha a környezet kitágul több mint néhány házigazdák.

a bemutató Ubuntu verziója itt található.

Előfeltételek

A teljes ez a bemutató, akkor a következőkre van szükség:

  • Egy kis szervereket futtató ugyanabban az adatközpont, valamint egy privát hálózat engedélyezve van
  • Egy új VPS szolgálni, mint az Elsődleges DNS-szerver, ns1
  • Opcionális: Egy új VPS szolgál a Másodlagos DNS-szerver, ns2
  • a Root hozzáférés a fenti (1-4 lépéseket ide)

Ha nem ismeri a DNS-fogalmak, javasoljuk, hogy olvassa el legalább az első három rész a Bevezető Irányító DNS.

Példa Házigazdák

például célokra, azt fogjuk feltételezni, hogy a következő:

  • két meglévő VPS úgynevezett “host1”, illetve “host2”
  • Mindkét VPS létezik a nyc3 adatközpont
  • Mindkét VPS privát hálózat engedélyezve van (a 10.128.0.0/16 alhálózat)
  • Mindkét VPS valamilyen módon kapcsolódik a web alkalmazás fut tovább “example.com”

ezek A feltételezések, úgy döntünk, hogy van értelme használni egy elnevezési rendszert használó “nyc3.example.com” hogy lásd, hogy a magánhálózat vagy zóna. Ezért host1 privát Teljesen Minősített tartománynevét (FQDN) lesz “host1.nyc3.example.com”. Tekintse meg az alábbi táblázatot a vonatkozó részleteket:

Host Szerepet Privát FQDN Privát IP-Cím
host1 a Generic Host 1 host1.nyc3.example.com 10.128.100.101
host2 a Generic Host 2 host2.nyc3.example.com 10.128.200.102

Megjegyzés Önnek képesnek kell lennie arra, hogy ezt a beállítást egyszerűen a saját környezetéhez igazítsa, ha a gazdaneveket és a privát IP-címeket a sajátjára cseréli. Nem szükséges az adatközpont régiónevét használni az elnevezési sémában, de itt arra használjuk, hogy jelezzük, hogy ezek a házigazdák egy adott adatközpont magánhálózatához tartoznak. Ha több adatközpontot használ, beállíthat egy belső DNS-t az egyes adatközpontokon belül.

célunk

a bemutató végére lesz egy elsődleges DNS-kiszolgáló, ns1, és opcionálisan egy másodlagos DNS-kiszolgáló, ns2, amely biztonsági mentésként szolgál.

itt van egy táblázat példanevekkel és IP-címekkel:

Host Role Private FQDN Private IP Address
ns1 elsődleges DNS szerver ns1.nyc3.example.com 10.128.10.11
ns2 másodlagos DNS-kiszolgáló ns2.nyc3.example.com 10.128.20.12

kezdjük el az elsődleges DNS-kiszolgáló, az ns1 telepítésével.

BIND telepítése DNS-kiszolgálókra

Megjegyzés: A piros színnel kiemelt szöveg fontos! Gyakran használják valami jelölésére, amelyet ki kell cserélni a saját beállításaival, vagy módosítani kell vagy hozzá kell adni egy konfigurációs fájlhoz. Például, ha látsz valamit, mint a host1.nyc3.példa.com, cserélje ki a saját szerver FQDN-jére. Hasonlóképpen, ha látja host1_private_IP, cserélje ki a saját szerver privát IP-címére.

mindkét DNS-szerverek, ns1, valamint ns2, telepítse a BIND a yum:

  • sudo yum install bind bind-utils

Erősítse meg a prompt megadásával y.

most, hogy a BIND telepítve van, konfiguráljuk az elsődleges DNS-kiszolgálót.

Elsődleges DNS-kiszolgáló konfigurálása

a BIND konfigurációja több fájlból áll, amelyek a fő konfigurációs fájlból származnak, named.conf. Ezek a fájlnevek “elnevezéssel” kezdődnek, mert ez a folyamat neve, amely a BIND fut. Kezdjük az opciók fájl konfigurálásával.

configure Bind

a BIND folyamat neve ismert. Mint ilyen, sok fájl a “BIND” helyett a “named” – re utal.

ns1, nyissa meg a named.conf fájl szerkesztése:

  • sudo vi /etc/named.conf

a Fenti a meglévő options blokk, hozzon létre egy új ACL blokk címe, hogy “megbízható”. Itt fogjuk meghatározni az ügyfelek listáját, amelyekből rekurzív DNS-lekérdezéseket engedélyezünk (azaz az Ön szerverei, amelyek ugyanabban az adatközpontban vannak, mint az ns1). A privát IP-címeket használó példánkban ns1, ns2, host1 és host2-t adunk hozzá a megbízható ügyfelek listájához:

/etc/named.conf-1 Az 4
acl "trusted" { 10.128.10.11; # ns1 - can be set to localhost 10.128.20.12; # ns2 10.128.100.101; # host1 10.128.200.102; # host2};

most, hogy megvan a megbízható DNS-ügyfelek listája, szeretnénk szerkeszteni a options blokkot. Adja hozzá az ns1 privát IP-címét a listen-on port 53irányelvhez, majd kommentálja a listen-on-v6 Sort:

/etc/named.conf-2 nak, – nek 4
options { listen-on port 53 { 127.0.0.1; 10.128.10.11; };# listen-on-v6 port 53 { ::1; };...

a bejegyzések alatt módosítsa a allow-transfer irányelvet a “none” – ról az ns2 privát IP-címére. Ezenkívül módosítsa a allow-query irányelvet a” localhost “- ról”trusted” – re:

/etc/named.conf-3 az 4

a fájl végén adja hozzá a következő sort:

/etc/named.conf — 4 of 4
include "/etc/named/named.conf.local";

now save and exit named.conf. A fenti konfiguráció meghatározza, hogy csak a saját szerverei (a “megbízható” kiszolgálók) képesek lekérdezni a DNS-kiszolgálót.

ezután konfiguráljuk a helyi fájlt a DNS-zónák megadásához.

helyi fájl konfigurálása

az ns1-en nyissa meg anamed.conf.local szerkesztési fájlt:

  • sudo vi /etc/named/named.conf.local

a fájlnak üresnek kell lennie. Itt meghatározzuk az előre-hátra zónáinkat.

adja hozzá az elülső zónát a következő sorokkal (cserélje ki a zóna nevét a sajátjával):

/etc/named/named.conf.helyi — 1 Az 2
zone "nyc3.example.com" { type master; file "/etc/named/zones/db.nyc3.example.com"; # zone file path};

feltételezve, hogy a privát alhálózatunk 10.128.0.0/16, adja hozzá a fordított zónát a következő sorokkal (vegye figyelembe, hogy a fordított zóna neve “128.10” – vel kezdődik, amely az “10.128”oktett megfordítása):

/etc/named/named.conf.helyi — 2 az 2
zone "128.10.in-addr.arpa" { type master; file "/etc/named/zones/db.10.128"; # 10.128.0.0/16 subnet };

Ha a szerverek több privát alhálózatot ölelnek fel, de ugyanabban az adatközpontban vannak, feltétlenül adjon meg egy további zónafájlt minden különálló alhálózathoz. Ha befejezte az összes kívánt zóna hozzáadását, mentse el és lépjen ki a named.conf.local fájlból.

most, hogy a zónák vannak megadva BIND, létre kell hoznunk a megfelelő előre-hátra zóna fájlokat.

hozzon létre Forward Zone File

a forward zone fájl, ahol meghatározzuk DNS rekordok forward DNS keresések. Vagyis amikor a DNS név lekérdezést kap, “host1.nyc3.example.com” például a forward zone fájlban meg fogja oldani a host1 megfelelő privát IP-címét.

hozzuk létre azt a könyvtárat, ahol a zónafájlok laknak. A nevünk szerint.conf.helyi konfiguráció, ez a hely legyen /etc/named/zones:

  • sudo chmod 755 /etc/named
  • sudo mkdir /etc/named/zones

most szerkesztjük a forward zone fájlt:

  • sudo vi /etc/named/zones/db.nyc3.example.com

először hozzá kell adni a SOA rekordot. Cserélje ki a kiemelt ns1 FQDN-t saját FQDN-re, majd cserélje ki a második “nyc3.example.com” saját domainjével. Minden alkalommal, amikor egy zónafájlt szerkeszt, a named folyamat újraindítása előtt növelnie kell a Soros értéket–”3″ – ra növeljük. Valahogy így kell kinéznie:

/ etc / named / zones / db.nyc3.példa.com-1 Az 3

Ezután adja hozzá a névszerver rekordjait a következő sorokkal (cserélje ki a neveket a sajátjára). Vegye figyelembe, hogy a második oszlop meghatározza, hogy ezek “NS” rekordok:

/etc/named/zones/db.nyc3.example.com — 2 of 3
; name servers - NS records IN NS ns1.nyc3.example.com. IN NS ns2.nyc3.example.com.

majd adja hozzá az ebbe a zónába tartozó házigazdák a rekordjait. Ez magában foglal minden olyan szervert, amelynek nevét a “.nyc3.example.com” (helyettesítse a neveket és a privát IP-címeket). A példanevek és a privát IP-címek használatával hozzáadunk egy rekordot az ns1, ns2, host1 és host2 fájlokhoz, mint így:

/ etc / named / zones / db. nyc3. example. com-3 of 3

mentse el és lépjen ki a db.nyc3.example.com fájlból.

a végső példa forward zone fájl úgy néz ki, mint a következő:

/etc/named/zones/db.nyc3.example.com — complete

most lépjünk át a fordított zóna fájl(OK) ra.

hozzon létre Reverse Zone File(s)

Reverse zone file vannak, ahol meghatározzuk DNS PTR rekordok fordított DNS keresések. Ez azt jelenti, hogy amikor a DNS lekérdezést kap IP-címmel, például “10.128.100.101”, akkor a fordított zónafájl(ok) ban fog kinézni, hogy megoldja a megfelelő FQDN-t, “host1.nyc3.example.com ” ebben az esetben.

az ns1-en a named.conf.local fájlban megadott minden fordított zónához hozzon létre egy fordított zónafájlt.

Szerkessze a named.conf.local:

  • sudo vi /etc/named/zones/db.10.128

a forward zone fájlhoz hasonlóan cserélje ki a kiemelt ns1 FQDN-t saját FQDN-jére, majd cserélje ki a második “nyc3.example.com” saját domainjével. Minden alkalommal, amikor egy zónafájlt szerkeszt, a named folyamat újraindítása előtt növelnie kell a Soros értéket–”3″ – ra növeljük. Valahogy így kell kinéznie:

/ etc / named / zones / db.10.128-1 Az 3

Ezután adja hozzá a névszerver rekordjait a következő sorokkal (cserélje ki a neveket a sajátjára). Vegye figyelembe, hogy a második oszlop meghatározza, hogy ezek” NS ” rekordok:

/etc/named/zones/db.10.128-2 nak, – nek 3
; name servers - NS records IN NS ns1.nyc3.example.com. IN NS ns2.nyc3.example.com.

majd add PTR bejegyzések az összes szerver, amelynek IP-címét az alhálózaton a zóna fájlt, hogy a Szerkesztés. Példánkban ez magában foglalja az összes házigazdánkat, mert mind a 10.128.0.0 / 16 alhálózaton vannak. Vegye figyelembe, hogy az első oszlop a kiszolgálók privát IP-címeinek utolsó két oktettjéből áll fordított sorrendben. Ügyeljen arra, hogy helyettesítse a neveket és a privát IP-címeket, hogy megfeleljen a kiszolgálóknak:

/etc/named/zones/db.10.128-3 nak, – nek 3

mentse el és lépjen ki a fordított zóna fájlból (ismételje meg ezt a részt, ha további fordított zónafájlokat kell hozzáadnia).

a végső példa fordított zóna fájl úgy néz ki, mint a következő:

/etc/named/zones/db.10.128-teljes

Check BIND Configuration Syntax

futtassa a következő parancsot, hogy ellenőrizze a szintaxis a named.conf* fájlok:

Ha a megnevezett konfigurációs fájlok nem szintaxis, akkor visszatér a shell hibaüzenet nem jelenik meg. Ha problémák vannak a konfigurációs fájlokkal, tekintse át a hibaüzenetet és az elsődleges DNS-kiszolgáló konfigurálása részt, majd próbálja meg újra a named-checkconf parancsot.

a named-checkzone parancs használható a zónafájlok helyességének ellenőrzésére. Az első argumentum egy zónanevet határoz meg, a második argumentum pedig a megfelelő zónafájlt adja meg, amelyet mindkettő a named.conf.localalatt definiál.

például, hogy ellenőrizze a “nyc3.example.com” forward zone configuration, futtassa a következő parancsot (módosítsa a neveket, hogy megfeleljen a forward zone and file):

  • sudo named-checkzone nyc3.example.com /etc/named/zones/db.nyc3.example.com

128.10.in-addr.arpa “reverse zone configuration, futtassa a következő parancsot (változtassa meg a számokat, hogy megfeleljen a fordított zóna és fájl):

  • sudo named-checkzone 128.10.in-addr.arpa /etc/named/zones/db.10.128

Ha az összes konfigurációs és zónafájlban nincs hiba, készen kell állnia a BIND szolgáltatás újraindítására.

start BIND

start BIND:

  • sudo systemctl start named

most engedélyezni fogja, így indul a boot:

  • sudo systemctl enable named

az elsődleges DNS-kiszolgáló most már készen áll a DNS-lekérdezések megválaszolására. Lépjünk tovább a másodlagos DNS-kiszolgáló létrehozásához.

konfigurálja a másodlagos DNS-kiszolgálót

a legtöbb környezetben jó ötlet egy másodlagos DNS-kiszolgáló beállítása, amely válaszol a kérésekre, ha az elsődleges elérhetetlenné válik. Szerencsére a másodlagos DNS-kiszolgálót sokkal könnyebb konfigurálni.

az ns2-en szerkessze a named.conf fájlt:

  • sudo vi /etc/named.conf

Megjegyzés: Ha inkább kihagyja ezeket az utasításokat, átmásolhatja az ns1 named.conf fájlját, és módosíthatja azt, hogy meghallgassa az ns2 privát IP-címét, és ne engedélyezze a transzfereket.

a meglévőoptions blokk felett hozzon létre egy új ACL blokkot “trusted”néven. Itt fogjuk meghatározni azon ügyfelek listáját,amelyekből rekurzív DNS-lekérdezéseket engedélyezünk (azaz az Ön szervereit, amelyek ugyanabban az adatközpontban vannak, mint az ns1). A privát IP-címeket használó példánkban ns1, ns2, host1 és host2-t adunk hozzá a megbízható ügyfelek listájához:

/etc/named.conf-1 Az 4
acl "trusted" { 10.128.10.11; # ns1 - can be set to localhost 10.128.20.12; # ns2 10.128.100.101; # host1 10.128.200.102; # host2};

most, hogy megvan a megbízható DNS-ügyfelek listája, szeretnénk szerkeszteni a options blokkot. Adja hozzá az ns1 privát IP-címét a listen-on port 53irányelvhez, majd kommentálja a listen-on-v6 Sort:

/etc/named.conf-2 nak, – nek 4
options { listen-on port 53 { 127.0.0.1; 10.128.20.12; };# listen-on-v6 port 53 { ::1; };...

Change allow-query directive from” localhost “to”trusted”:

/etc/named.conf-3 az 4
...options {... allow-query { trusted; }; # allows queries from "trusted" clients...

a fájl végén adja hozzá a következő sort:

/etc/named.conf — 4 of 4
include "/etc/named/named.conf.local";

now save and exit named.conf. A fenti konfiguráció meghatározza, hogy csak a saját szerverei (a “megbízható” kiszolgálók) képesek lekérdezni a DNS-kiszolgálót.

ezután konfiguráljuk a helyi fájlt a DNS-zónák megadásához.

mentés és kilépés named.conf.

most szerkessze anamed.conf.local fájlt:

  • sudo chmod 755 /etc/named
  • sudo vi /etc/named/named.conf.local

definiálja a szolga zónákat, amelyek megfelelnek az elsődleges DNS-kiszolgáló fő zónáinak. Vegye figyelembe, hogy a típus “slave”, a fájl nem tartalmaz elérési utat, és van egy masters irányelv, amelyet az elsődleges DNS-kiszolgáló privát IP-jére kell állítani. Ha több fordított zónát definiált az elsődleges DNS-kiszolgálón, győződjön meg róla, hogy mindet itt adja hozzá:

/etc/named/named.conf.helyi

Most mentse el és lépjen kinamed.conf.local.

a következő parancs futtatásával ellenőrizze az érvényességét a konfigurációs fájlokat:

  • sudo named-checkconf

Ha ez stimmel, akkor indítsa el a BIND:

  • sudo systemctl start named

Engedélyezés KÖTŐDIK a start indítás:

sudo systemctl enable named

Most az elsődleges, mind a másodlagos DNS-szerver privát hálózati név, IP cím állásfoglalás. Most be kell állítania a szervereket a privát DNS-kiszolgálók használatához.

konfigurálja a DNS-klienseket

mielőtt a “megbízható” ACL összes kiszolgálója lekérdezné a DNS-kiszolgálókat, mindegyiknek konfigurálnia kell az ns1 és az ns2 névszerverek használatát. Ez a folyamat az operációs rendszertől függően változik, de a legtöbb Linux disztribúció esetében magában foglalja a névszerverek hozzáadását a /etc/resolv.conf fájlhoz.

CentOS kliensek

CentOS, RedHat és Fedora Linux VPS esetén egyszerűen szerkessze a resolv.conf fájlt:

  • sudo vi /etc/resolv.conf

ezután adja hozzá a következő sorokat a fájl tetejére (cserélje ki a privát domainjét, valamint az ns1 és az ns2 privát IP-címeket):

/etc/resolv.conf
search nyc3.example.com # your private domainnameserver 10.128.10.11 # ns1 private IP addressnameserver 10.128.20.12 # ns2 private IP address

Most mentse el és lépjen ki. Az ügyfél most úgy van beállítva, hogy a DNS-kiszolgálókat használja.

Ubuntu kliensek

Ubuntu és Debian Linux VPS esetén a head fájlt szerkesztheti, amely a resolv.conf fájlra van előkészítve:

  • sudo vi /etc/resolvconf/resolv.conf.d/head

adja hozzá a következő sorokat a fájlhoz (cserélje ki a privát tartományt, valamint az ns1 és az ns2 privát IP-címeket):

/etc/resolvconf/resolv.conf.d/head
search nyc3.example.com # your private domainnameserver 10.128.10.11 # ns1 private IP addressnameserver 10.128.20.12 # ns2 private IP address

most futtassa a resolvconf új resolv.conf fájl:

  • sudo resolvconf -u

az ügyfél most úgy van beállítva, hogy a DNS-t használja szerverek.

teszt kliensek

használja anslookup—a “bind-utils” csomagban található—annak tesztelésére, hogy az ügyfelek lekérdezhetik-e a névszervereket. Meg kell tudni, hogy ezt az összes ügyfél, hogy már konfigurált, valamint a “megbízható” ACL.

a címkeresési

például, tudjuk végrehajtani a címkeresési letölteni az IP-címet host1.nyc3.example.com a következő parancs futtatásával:

  • nslookup host1

Lekérdezése “host1” tágul “host1.nyc3.example.com mert a search beállítás, hogy a saját aldomain, DNS-lekérdezések megkísérli, hogy nézd meg hogy a subdomain előtt keres a fogadó máshol. A parancs kimenete a fenti volna a következőképpen néz ki:

Output:
Server: 10.128.10.11Address: 10.128.10.11#53Name: host1.nyc3.example.comAddress: 10.128.100.101

Reverse Lookup

tesztelni a fordított keresési, lekérdezési a DNS-kiszolgáló a host1 privát IP cím:

  • nslookup 10.128.100.101

látnod kell kimeneti úgy néz ki, mint a következő:

Output:
Server: 10.128.10.11Address: 10.128.10.11#5311.10.128.10.in-addr.arpa name = host1.nyc3.example.com.

Ha a név vagy IP-cím megoldani, hogy a megfelelő értékeket, ez azt jelenti, hogy a zóna állományok helyesen vannak-e megadva. Ha váratlan értékeket kap, feltétlenül nézze át a zónafájlokat az elsődleges DNS-kiszolgálón (pl. db.nyc3.example.comés db.10.128).

gratulálok! A belső DNS-kiszolgálók most megfelelően vannak beállítva! Most lefedjük a zóna rekordjainak fenntartását.

DNS-rekordok fenntartása

most, hogy működő belső DNS-je van, meg kell őriznie a DNS-rekordokat, hogy azok pontosan tükrözzék a szerver környezetét.

gazdagép hozzáadása a DNS-hez

amikor gazdagépet ad hozzá a környezetéhez (ugyanabban az adatközpontban), hozzá szeretné adni a DNS-hez. Itt található a lépések listája, amelyeket meg kell tennie:

Elsődleges Nameserver

  • Előre zóna fájl: Adjunk egy “A” rekord az új gazda, a növekmény értéke “Soros”
  • a Fordított zóna fájl: Add a “PTR” rekord az új fogadó, a növekmény értéke “Soros”
  • Hozzáadás az új fogadó privát IP-címe, hogy a “megbízható” ACL (named.conf.options)

Aztán újra BIND:

  • sudo systemctl reload named

Másodlagos Nameserver

  • Hozzáadás az új fogadó privát IP-címe, hogy a “megbízható” ACL (named.conf.options)

Aztán újra BIND:

  • sudo systemctl reload named

konfigurálja az új gazdagépet a DNS használatához

  • állítsa be a resolv-t.conf, hogy használja a DNS-szerverek
  • Teszt használata nslookup

Eltávolítása Fogadó a DNS

Ha eltávolítunk egy fogadó, a környezet, vagy szeretné, hogy csak vegyék ki a DNS, csak távolítsa el az összes a dolog, hogy ki, mikor hozzátette, hogy a szerver DNS (azaz fordított a fenti lépéseket).

következtetés

most már utalhat a szerverek privát hálózati interfészeire név szerint, nem pedig IP-cím szerint. Ez megkönnyíti a szolgáltatások és alkalmazások konfigurálását, mivel már nem kell emlékezni a privát IP-címekre, így a fájlok könnyebben olvashatók és érthetők lesznek. Ezenkívül most megváltoztathatja konfigurációit úgy, hogy egy új kiszolgálóra mutasson egyetlen helyen, az elsődleges DNS-kiszolgálón, ahelyett, hogy különféle elosztott konfigurációs fájlokat kellene szerkesztenie, ami megkönnyíti a karbantartást.

miután beállította a belső DNS-t, és a konfigurációs fájlok privát fqdns-eket használnak a hálózati kapcsolatok megadásához, fontos, hogy a DNS-kiszolgálók megfelelően legyenek karbantartva. Ha mindkettő elérhetetlenné válik, a rájuk támaszkodó szolgáltatások és alkalmazások nem fognak megfelelően működni. Ezért javasoljuk, hogy a DNS-t legalább egy másodlagos kiszolgálóval állítsuk be, valamint hogy mindegyikről működő biztonsági mentéseket tartsunk fenn.

Related Posts

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük