- Bevezetés
- Előfeltételek
- Példa Házigazdák
- célunk
- BIND telepítése DNS-kiszolgálókra
- Elsődleges DNS-kiszolgáló konfigurálása
- configure Bind
- helyi fájl konfigurálása
- hozzon létre Forward Zone File
- hozzon létre Reverse Zone File(s)
- Check BIND Configuration Syntax
- start BIND
- konfigurálja a másodlagos DNS-kiszolgálót
- konfigurálja a DNS-klienseket
- CentOS kliensek
- Ubuntu kliensek
- teszt kliensek
- a címkeresési
- Reverse Lookup
- DNS-rekordok fenntartása
- gazdagép hozzáadása a DNS-hez
- Elsődleges Nameserver
- Másodlagos Nameserver
- konfigurálja az új gazdagépet a DNS használatához
- Eltávolítása Fogadó a DNS
- következtetés
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:
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 53
irányelvhez, majd kommentálja a listen-on-v6
Sort:
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:
a fájl végén adja hozzá a következő sort:
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):
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):
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:
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:
; 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:
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ő:
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:
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:
; 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:
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ő:
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.local
alatt 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:
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 53
irányelvhez, majd kommentálja a listen-on-v6
Sort:
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”:
...options {... allow-query { trusted; }; # allows queries from "trusted" clients...
a fájl végén adja hozzá a következő sort:
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á:
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):
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):
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.