- Úvod
- Předpoklady
- Příklad Hostí
- náš cíl
- nainstalujte BIND na DNS servery
- konfigurace primárního DNS serveru
- Configure Bind
- Konfigurovat Lokální Soubor
- vytvořit soubor Forward Zone
- vytvořit soubor(y) reverzní zóny
- Zkontrolujte, zda VÁZAT Konfiguraci Syntaxe
- Začněte VÁZAT
- konfigurace sekundárního serveru DNS
- Konfigurovat DNS Klienty
- klienti CentOS
- Ubuntu Klienty
- testovací klienti
- dopředného Vyhledávání
- Vyhledávání
- údržba záznamů DNS
- přidání hostitele do DNS
- Primární Nameserver
- Sekundární Nameserver
- Configure New Host to Use your DNS
- Odstranění Hostitele DNS
- závěr
Úvod
důležitou součástí řízení konfigurace serveru a infrastruktury zahrnuje udržování snadný způsob, jak se podívat síťové rozhraní a IP adresy, podle názvu, podle nastavení správné DNS (Domain Name System). Pomocí plně kvalifikované názvy domény (Fqdn) namísto adresy IP, zadejte síťové adresy usnadňuje konfiguraci služby a aplikace, a zvyšuje udržovatelnost konfiguračních souborů. Nastavení vlastního DNS pro vaši privátní síť je skvělý způsob, jak zlepšit správu vašich serverů.
V tomto tutoriálu se budeme jít nad tím, jak nastavit interní server DNS, pomocí BIND name server software (BIND9) na CentOS 7, který může být použit Virtuální Privátní Servery (VPS) k řešení vlastní názvy hostitele a privátní IP adresy. To poskytuje centrální způsob správy Interních názvů hostitelů a soukromých IP adres, což je nezbytné, když se vaše prostředí rozšíří na více než několik hostitelů.
verzi Ubuntu tohoto tutoriálu najdete zde.
Předpoklady
dokončit tento návod, budete potřebovat následující:
- Některé servery, které jsou spuštěny ve stejném datacenter a mají vlastní sítě povoleny
- nový VPS sloužit jako Primární DNS server, ns1
- Volitelné: nový VPS sloužit jako Sekundární server DNS, ns2
- Root přístup ke všem výše (kroky 1-4)
Pokud jste obeznámeni s DNS pojmy, je doporučeno, aby si přečíst alespoň první tři díly našeho Úvod do Správa DNS.
Příklad Hostí
Pro účely příkladu budeme předpokládat následující:
- Máme dvě stávající VPS názvem „host1“ a „host2“
- Oba VPS existují v nyc3 datacenter
- Oba VPS mají vlastní sítě povoleny (a jsou na 10.128.0.0/16 podsítě)
- Oba VPS jsou nějakým způsobem souvisí s naší webové aplikace, která běží na „example.com“
S těmito předpoklady, rozhodli jsme se, že to dává smysl použít schéma pojmenování, které používá „nyc3.example.com“ se odkazovat na náš soukromý kanál nebo zónu. Proto host1 soukromé Plně Kvalifikovaný Název Domény (FQDN), bude „host1.nyc3.example.com“. Viz následující tabulka příslušné údaje:
Host | Role | Soukromé úplný název | Privátní IP Adresa |
---|---|---|---|
host1 | Generic Host 1 | host1.nyc3.example.com | 10.128.100.101 |
host2 | Generic Host 2 | host2.nyc3.example.com | 10.128.200.102 |
Poznámka: Vaše stávající nastavení se bude lišit, ale například názvy a adresy IP budou použity k prokázání, jak konfigurovat server DNS zajistit fungování vnitřního DNS. Měli byste být schopni snadno přizpůsobit toto nastavení svému vlastnímu prostředí nahrazením názvů hostitelů a soukromých IP adres vlastními. Ve vašem schématu pojmenování není nutné používat název oblasti datového centra, ale zde jej používáme k označení, že tito hostitelé patří do soukromé sítě konkrétního datového centra. Pokud využíváte více datových center, Můžete nastavit interní DNS v každém příslušném datacentru.
náš cíl
na konci tohoto tutoriálu budeme mít primární DNS server ns1 a volitelně sekundární DNS server ns2, který bude sloužit jako záloha.
Zde je tabulka s příkladem jména a IP adresy:
Host | Role | Soukromé úplný název | Privátní IP Adresa |
---|---|---|---|
ns1 | Primární DNS Server | ns1.nyc3.example.com | 10.128.10.11 |
ns2 | Sekundární DNS Server | ns2.nyc3.example.com | 10.128.20.12 |
Pojďme začít instalací naší Primární DNS server, ns1.
nainstalujte BIND na DNS servery
Poznámka: Text, který je zvýrazněn červeně, je důležitý! Často se používá k označení něčeho, co je třeba nahradit vlastním nastavením, nebo že by mělo být upraveno nebo přidáno do konfiguračního souboru. Například, pokud vidíte něco jako host1.nyc3.příklad.s, nahraďte jej FQDN svého vlastního serveru. Podobně, pokud vidíte host1_private_IP, nahraďte jej Soukromou IP adresou vašeho vlastního serveru.
Na oba DNS servery ns1 a ns2, nainstalovat VÁZAT s yum:
- sudo yum install bind bind-utils
Potvrdit řádku zadáním y
.
Nyní, když je BIND nainstalován, nakonfigurujme primární server DNS.
konfigurace primárního DNS serveru
BIND konfigurace se skládá z více souborů, které jsou zahrnuty z hlavního konfiguračního souboru, named.conf
. Tyto názvy souborů začínají na „pojmenované“, protože to je název procesu, který BIND běží. Začneme konfigurací souboru možností.
Configure Bind
BIND proces je známý jako pojmenovaný. Jako takový, mnoho souborů odkazovat na“ pojmenovaný „namísto “ BIND“.
Na ns1, otevřete named.conf
soubor pro editaci:
- sudo vi /etc/named.conf
Nad stávající options
blok, vytvořit nový ACL blok s názvem „důvěryhodné“. Zde definujeme seznam klientů, ze kterých povolíme rekurzivní dotazy DNS (tj. vaše servery, které jsou ve stejném datovém centru jako ns1). Pomocí našeho příkladu soukromých IP adres přidáme ns1, ns2, host1 a host2 do našeho seznamu důvěryhodných klientů:
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};
Nyní, že máme seznam důvěryhodných DNS klienti, budeme chtít upravit options
blok. Přidejte Soukromou IP adresu ns1 do směrnice listen-on port 53
a komentujte řádek listen-on-v6
:
options { listen-on port 53 { 127.0.0.1; 10.128.10.11; };# listen-on-v6 port 53 { ::1; };...
Níže uvedené položky, změnit na allow-transfer
směrnice z „none“, ns2 privátní IP adresu. Také změňte allow-query
direktivu z „localhost“ na „trusted“:
na konec souboru přidejte následující řádek:
include "/etc/named/named.conf.local";
Nyní uložte a ukončete named.conf
. Výše uvedená konfigurace určuje, že pouze vaše vlastní servery („důvěryhodné“) budou moci dotazovat na váš server DNS.
dále nakonfigurujeme místní soubor, abychom určili naše zóny DNS.
Konfigurovat Lokální Soubor
Na ns1, otevřete named.conf.local
soubor pro editaci:
- sudo vi /etc/named/named.conf.local
soubor by měl být prázdný. Zde specifikujeme naše zóny vpřed a vzad.
přidejte dopřednou zónu následujícími řádky (nahraďte název zóny vlastním):
zone "nyc3.example.com" { type master; file "/etc/named/zones/db.nyc3.example.com"; # zone file path};
za předpokladu, že naše soukromá podsíť je 10.128.0.0/16, přidejte reverzní zónu pomocí následujících řádků (všimněte si, že náš název reverzní zóny začíná „128.10“, což je obrat oktetu „10.128“):
zone "128.10.in-addr.arpa" { type master; file "/etc/named/zones/db.10.128"; # 10.128.0.0/16 subnet };
Pokud vaše servery pokrývají více soukromých podsítí, ale jsou ve stejném datovém centru, nezapomeňte zadat další soubor zóny a zóny pro každou odlišnou podsíť. Po dokončení přidávání všech požadovaných zón uložte a ukončete soubor named.conf.local
.
Nyní, když jsou naše zóny specifikovány v BIND, musíme vytvořit odpovídající soubory zóny vpřed a vzad.
vytvořit soubor Forward Zone
soubor forward zone je místo, kde definujeme záznamy DNS pro forward DNS vyhledávání. To znamená, že když DNS obdrží dotaz na jméno, „host1.nyc3.example.com“ například bude vypadat v souboru forward zone, aby vyřešil odpovídající Soukromou IP adresu host1.
vytvoříme adresář, kde budou umístěny naše soubory zóny. Podle našich jmenovaných.conf.místní konfigurace, toto umístění by mělo být /etc/named/zones
:
- sudo chmod 755 /etc/named
- sudo mkdir /etc/named/zones
Teď pojďme upravovat své zóny dopředného souboru:
- sudo vi /etc/named/zones/db.nyc3.example.com
za Prvé, budete chtít přidat záznam SOA. Nahraďte zvýrazněný ns1 FQDN vlastním FQDN a poté nahraďte druhý „nyc3.example.com“ s vlastní doménou. Pokaždé, když upravíte soubor zóny, měli byste zvýšit sériovou hodnotu před restartováním procesu named
– zvýšíme jej na „3“. Mělo by to vypadat takto:
poté přidejte záznamy nameserveru následujícími řádky(nahraďte názvy vlastními). Všimněte si, že druhý sloupec určuje, že se jedná o „NS“ záznamů:
; name servers - NS records IN NS ns1.nyc3.example.com. IN NS ns2.nyc3.example.com.
přidejte záznamy pro vaši hostitelé, které patří v této zóně. To zahrnuje jakýkoli server, jehož název chceme ukončit „.nyc3.example.com “ (nahraďte jména a soukromé IP adresy). Pomocí našich příkladů a soukromých IP adres přidáme záznamy pro ns1, ns2, host1 a host2 podobně:
Uložit a konec db.nyc3.example.com
soubor.
Náš poslední příklad zóny dopředného souboru vypadá následovně:
Teď se pojďme přesunout do zóny zpětného soubor(y).
vytvořit soubor(y) reverzní zóny
soubor reverzní zóny jsou tam, kde definujeme záznamy DNS PTR pro reverzní vyhledávání DNS. To je, když DNS obdrží dotaz, podle IP adresy, „10.128.100.101“ například, bude to vypadat v reverzní zóně soubor(y) na řešení odpovídající FQDN, „host1.nyc3.example.com “ v tomto případě.
v ns1 vytvořte pro každou reverzní zónu zadanou v souboru named.conf.local
soubor reverzní zóny.
Upravte soubor zóny zpětného soubor, který odpovídá reverzní zóna(y) definovanou v named.conf.local
:
- sudo vi /etc/named/zones/db.10.128
V stejným způsobem, jako přední zóna soubor nahradit zvýrazněné ns1 FQDN s vlastní název DOMÉNY, pak nahradit druhé „nyc3.example.com“ s vaší vlastní doméně. Pokaždé, když upravíte soubor zóny, měli byste zvýšit sériovou hodnotu před restartováním procesu named
– zvýšíme jej na „3“. Mělo by to vypadat takto:
poté přidejte záznamy nameserveru následujícími řádky(nahraďte názvy vlastními). Všimněte si, že druhý sloupec určuje, že se jedná o záznamy „NS“:
; name servers - NS records IN NS ns1.nyc3.example.com. IN NS ns2.nyc3.example.com.
přidejte PTR
záznamy pro všechny vaše servery, jejichž IP adresy jsou na podsítě zóna soubor, který upravujete. V našem příkladu to zahrnuje všechny naše hostitele, protože jsou všichni v podsíti 10.128.0.0/16. Všimněte si, že první sloupec se skládá z posledních dvou oktetů soukromých IP adres vašich serverů v obráceném pořadí. Nezapomeňte nahradit jména a soukromé IP adresy tak, aby odpovídaly vašim serverům:
Uložte a ukončete soubor reverzní zóny (opakujte tuto část, pokud potřebujete přidat další soubory reverzní zóny).
náš konečný příklad souboru reverzní zóny vypadá takto:
Zkontrolujte, zda VÁZAT Konfiguraci Syntaxe
Spusťte následující příkaz ke kontrole syntaxe named.conf*
soubory:
- sudo named-checkconf
Pokud vaše pojmenovaný konfigurační soubory nemají žádné syntaktické chyby, zobrazí se příkazový řádek a vidět žádné chybové zprávy. Pokud se vyskytnou problémy s konfiguračními soubory, zkontrolujte chybovou zprávu a sekci konfigurovat primární server DNS a zkuste znovu named-checkconf
.
příkaz named-checkzone
lze použít ke kontrole správnosti souborů zóny. Jeho první argument určuje název zóny, a druhý argument určuje odpovídající soubor zóny, které jsou definovány v named.conf.local
.
Chcete-li například zkontrolovat „nyc3.example.com“ konfigurace zóny vpřed, spusťte následující příkaz (změňte názvy tak, aby odpovídaly vaší zóně vpřed a souboru):
- sudo named-checkzone nyc3.example.com /etc/named/zones/db.nyc3.example.com
A podívejte se na „128.10.in-addr.arpa“ reverzní zóny konfigurace, spusťte následující příkaz (změna čísla, aby odpovídaly vaší reverzní zóna a souboru):
- sudo named-checkzone 128.10.in-addr.arpa /etc/named/zones/db.10.128
Když všechny vaše konfigurace a soubory zón mít žádné chyby v nich, měli byste být připraveni, aby znovu SVÁZAT služby.
Začněte VÁZAT
Spustit BIND:
- sudo systemctl start named
Nyní budete chtít, aby to, takže to bude start na boot:
- sudo systemctl enable named
Váš primární DNS server je nyní nastaven a připraven reagovat na dotazy DNS. Pojďme k vytvoření sekundárního serveru DNS.
konfigurace sekundárního serveru DNS
ve většině prostředí je vhodné nastavit sekundární server DNS, který bude reagovat na požadavky, pokud bude primární nedostupný. Naštěstí je konfigurace sekundárního serveru DNS mnohem snazší.
Na ns2, upravit named.conf
file:
- sudo vi /etc/named.conf
Poznámka: Pokud chcete přeskočit na tyto pokyny, můžete kopírovat ns1 named.conf
soubor a upravit jej tak, aby naslouchat na ns2 privátní IP adresy, a ne povolit převody.
nad existujícímoptions
blok vytvořte nový blok ACL nazvaný „důvěryhodné“. To je místo, kde budeme definovat seznam klientů, které nám umožní rekurzivní DNS dotazy (tj. servery, které jsou ve stejném datovém centru jako ns1). Pomocí našeho příkladu soukromých IP adres přidáme ns1, ns2, host1 a host2 do našeho seznamu důvěryhodných klientů:
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};
Nyní, že máme seznam důvěryhodných DNS klienti, budeme chtít upravit options
blok. Přidejte Soukromou IP adresu ns1 do směrnice listen-on port 53
a komentujte řádek listen-on-v6
:
options { listen-on port 53 { 127.0.0.1; 10.128.20.12; };# listen-on-v6 port 53 { ::1; };...
Změnit na allow-query
směrnice z „localhost“ na „důvěryhodné“:
...options {... allow-query { trusted; }; # allows queries from "trusted" clients...
Na konec souboru přidejte následující řádek:
include "/etc/named/named.conf.local";
Nyní uložte a ukončete named.conf
. Výše uvedená konfigurace určuje, že pouze vaše vlastní servery („důvěryhodné“) budou moci dotazovat na váš server DNS.
dále nakonfigurujeme místní soubor, abychom určili naše zóny DNS.
Uložit a ukončit named.conf
.
upravit named.conf.local
file:
- sudo chmod 755 /etc/named
- sudo vi /etc/named/named.conf.local
Definovat slave zón, které odpovídají master zóny na primárním serveru DNS. Všimněte si, že typ je „otrok“, souboru neobsahuje cestu, a tam je masters
směrnice, která by měla být nastavena na primární DNS server privátní IP. Pokud jste v primárním serveru DNS definovali více reverzních zón, nezapomeňte je přidat všechny zde:
Nyní uložte a ukončete named.conf.local
.
Spusťte následující příkaz ke kontrole platnosti své konfigurační soubory:
- sudo named-checkconf
Jakmile se to potvrdí, začít VÁZAT.
- sudo systemctl start named
Povolit VÁZAT na start na boot:
sudo systemctl enable named
Nyní máte primární a sekundární DNS servery pro soukromé síťové jméno a IP adresu rozlišení. Nyní musíte nakonfigurovat své servery tak, aby používaly vaše soukromé servery DNS.
Konfigurovat DNS Klienty
předtím, Než všechny vaše servery v „důvěryhodných“ ACL mohou dotazovat DNS serverů, musíte nastavit každý z nich použít ns1 a ns2 jako nameservery. Tento proces se liší v závislosti na operačním systému, ale pro většinu distribucí Linuxu zahrnuje přidání jmenných serverů do souboru /etc/resolv.conf
.
klienti CentOS
na CentOS, RedHat a Fedora Linux VPS jednoduše upravte soubor resolv.conf
:
- sudo vi /etc/resolv.conf
přidejte následující řádky na začátek souboru (nahradit svou soukromou doménu, a ns1 a ns2, že soukromé adresy IP):
search nyc3.example.com # your private domainnameserver 10.128.10.11 # ns1 private IP addressnameserver 10.128.20.12 # ns2 private IP address
Nyní uložte a ukončete. Váš klient je nyní nakonfigurován tak, aby používal vaše servery DNS.
Ubuntu Klienty
Na Ubuntu a Debian Linux VPS, můžete upravit head
soubor, který je předřazen resolv.conf
na boot:
- sudo vi /etc/resolvconf/resolv.conf.d/head
Přidejte následující řádky do souboru (nahradit svou soukromou doménu, a ns1 a ns2, že soukromé adresy IP):
search nyc3.example.com # your private domainnameserver 10.128.10.11 # ns1 private IP addressnameserver 10.128.20.12 # ns2 private IP address
spustit resolvconf
vytvořit nový resolv.conf
file:
- sudo resolvconf -u
Váš klient je nyní nakonfigurován tak, aby použít DNS servery.
testovací klienti
použijte nslookup
– zahrnuto v balíčku“ bind-utils “ – k testování, zda vaši klienti mohou dotazovat vaše jmenné servery. Měli byste být schopni to udělat na všech klientech, které jste nakonfigurovali a jsou v „důvěryhodném“ ACL.
dopředného Vyhledávání
například, můžeme provést dopředného vyhledávání načíst IP adresu host1.nyc3.example.com spuštěním následujícího příkazu:
- nslookup host1
Dotazování „host1“ rozbalí „host1.nyc3.example.com protože search
je nastavena možnost, aby vaše vlastní subdoménu, a dotazy DNS, pokusí se podívat na subdoménu před hledáním hostitele jinde. Výstup příkazu výše by vypadat takto:
Output:Server: 10.128.10.11Address: 10.128.10.11#53Name: host1.nyc3.example.comAddress: 10.128.100.101
Vyhledávání
testovat zpětné vyhledávání, dotaz na server DNS s host1 je privátní IP adresa:
- nslookup 10.128.100.101
měli Byste vidět výstup, který vypadá jako následující:
Output:Server: 10.128.10.11Address: 10.128.10.11#5311.10.128.10.in-addr.arpa name = host1.nyc3.example.com.
Pokud jsou všechny názvy a IP adresy vyřešit správné hodnoty, to znamená, že vaše soubory zón jsou správně nakonfigurován. Pokud obdržíte neočekávané hodnoty, nezapomeňte zkontrolovat soubory zón na primárním serveru DNS (např. db.nyc3.example.com
a db.10.128
).
Gratulujeme! Vaše interní servery DNS jsou nyní správně nastaveny! Nyní se budeme zabývat udržováním záznamů o vaší zóně.
údržba záznamů DNS
Nyní, když máte funkční interní DNS, musíte udržovat záznamy DNS tak, aby přesně odrážely prostředí serveru.
přidání hostitele do DNS
kdykoli přidáte hostitele do svého prostředí (ve stejném datovém centru), budete jej chtít přidat do DNS. Zde je seznam kroků, které musíte podniknout:
Primární Nameserver
- Vpřed souboru zóny: Přidat záznam „A“ pro nového hostitele, přírůstek hodnoty „Sériové“
- Reverse zónový soubor: Přidat „PTR“ záznam pro nové hostitele, přírůstek hodnoty „Sériové“
- Přidat nového hostitele je privátní IP adresa „důvěryhodný“ ACL (
named.conf.options
)
Pak se znovu VÁZAT:
- sudo systemctl reload named
Sekundární Nameserver
- Přidat nového hostitele je privátní IP adresa „důvěryhodný“ ACL (
named.conf.options
)
Pak se znovu VÁZAT:
- sudo systemctl reload named
Configure New Host to Use your DNS
- Configure resolv.conf použít DNS servery
- Test pomocí
nslookup
Odstranění Hostitele DNS
Pokud jste odstranit hostitele z vašeho prostředí, nebo chcete jen vzít to z DNS, stačí odstranit všechny věci, které byly přidány, když jste přidali server DNS (tj. reverzní z výše uvedených kroků).
závěr
nyní můžete odkazovat na privátní síťová rozhraní vašich serverů podle názvu, nikoli podle IP adresy. To usnadňuje konfiguraci služeb a aplikací, protože si již nemusíte pamatovat soukromé adresy IP a soubory budou snáze čitelné a srozumitelné. Také, nyní můžete změnit nastavení konfigurace bodu na nové servery na jednom místě, váš primární DNS server, místo toho, aby musel upravit řadu distribuovaný konfigurační soubory, což usnadňuje údržbu.
jakmile máte interní DNS nastaveno a konfigurační soubory používají soukromé FQDN k určení síťových připojení, je důležité, aby vaše servery DNS byly řádně udržovány. Pokud se obě stanou nedostupnými, vaše služby a aplikace, které se na ně spoléhají, přestanou správně fungovat. Proto se doporučuje nastavit DNS alespoň s jedním sekundárním serverem a udržovat funkční zálohy všech z nich.