Domain Name Service (DNS) je internetová služba, která mapuje IP adresy a plně kvalifikované názvy domén (FQDN) k sobě. Tímto způsobem DNS zmírňuje potřebu zapamatovat si IP adresy. Počítače, které spouštějí DNS, se nazývají jmenné servery. Ubuntu je dodáván s BIND (Berkley Internet pojmenování démona), nejběžnější program používaný pro udržení jmenného serveru v Linuxu.,
V terminálu řádku, zadejte následující příkaz pro instalaci serveru dns:
sudo apt install bind9
velmi užitečné balíček pro testování a řešení problémů DNS problémy, je dnsutils
balíček. Velmi často tyto nástroje budou již nainstalována, ale pro kontrolu a/nebo nainstalovat dnsutils
zadejte následující:
sudo apt install dnsutils
Nastavení
Existuje mnoho způsobů, jak nakonfigurovat server BIND9. Některé z nejběžnějších konfigurací jsou caching nameserver, primární server a sekundární server.,
-
Pokud je nakonfigurován jako caching nameserver BIND9 bude najít odpověď na dotazy na názvy a pamatovat si odpověď, když doména je dotázána znovu.
-
jako primární server čte BIND9 data pro zónu ze souboru na svém hostiteli a je autoritativní pro tuto zónu.
-
jako sekundární server získá bind9 data zóny z jiného jmenného serveru, který je pro zónu autoritativní.
přehled
konfigurační soubory DNS jsou uloženy v adresáři /etc/bind
., Hlavní konfigurační soubor je /etc/bind/named.conf
, který v rozvržení poskytována balíček zahrnuje jen tyto soubory.
kořenové nameservery byly popsány v souboru /etc/bind/db.root
. To je nyní k dispozici místo /usr/share/dns/root.hints
soubor dodávány s dns-root-data
balíček, a je odkazoval se na v named.conf.default-zones
konfiguračního souboru výše.
je možné nakonfigurovat stejný server jako server pro ukládání do mezipaměti, primární a sekundární: vše závisí na zónách, které slouží., Server může být začátkem autority (SOA) pro jednu zónu a zároveň poskytuje sekundární službu pro jinou zónu. Po celou dobu poskytování služeb ukládání do mezipaměti pro hostitele v místní síti LAN.
Caching Nameserver
výchozí konfigurace funguje jako server pro ukládání do mezipaměti. Jednoduše odkomentovat a upravit /etc/bind/named.conf.options
nastavit IP adresy, váš ISP servery DNS:
forwarders { 1.2.3.4; 5.6.7.8;};
Poznámka:
Nahradit
1.2.3.4
5.6.7.8
s IP Adresy aktuální nameservery.,
Chcete-li povolit novou konfiguraci, restartujte server DNS. Z terminálu výzva:
sudo systemctl restart bind9.service
viz dig pro informace o testování mezipaměti DNS server.
Primární Server
V této části BIND9 bude nakonfigurován jako hlavní server pro doménu example.com
. Jednoduše nahraďte example.com
FQDN (plně kvalifikovaný název domény).,
Vpřed Zóny Souboru
přidat zóny DNS server BIND9, soustružení BIND9 na Primární server, nejprve upravit /etc/bind/named.conf.local
:
zone "example.com" { type master; file "/etc/bind/db.example.com";};
Poznámka:
Pokud bind bude dostávat automatické aktualizace jako soubor s DDNS, pak použijte
/var/lib/bind/db.example.com
místo/etc/bind/db.example.com
oba tady a v kopii příkazu níže.,
použít existující soubor zóny jako šablonu k vytvoření /etc/bind/db.example.com
souboru:
sudo cp /etc/bind/db.local /etc/bind/db.example.com
Upravte nový soubor zóny /etc/bind/db.example.com
localhost.
je plně kvalifikovaný název DOMÉNY pro váš server, takže další .
na konci., Změnit 127.0.0.1
nameserver je IP Adresa a root.localhost
, aby platnou e-mailovou adresu, ale s .
namísto obvyklého @
symbol, znovu opouštět .
na konci. Změňte komentář a označte doménu, pro kterou je tento soubor určen.
vytvořte záznam pro základní doménu, example.com
. Také, vytvořit záznam pro ns.example.com
název serveru v tomto příkladu:
musíte zvýšit Sériové Číslo pokaždé, když provedete změny v souboru zóny., Pokud provedete více změn před restartováním BIND9, jednoduše zvyšte sériové jednou.
nyní můžete přidat záznamy DNS do spodní části souboru zóny. Podrobnosti viz běžné typy záznamů.,
Poznámka:
Mnoho admini chtěli použít poslední data upravovat jako sériové zóny, jako 2020012100 což je yyyymmddss (kde ss je Pořadové Číslo)
Jakmile jste provedli změny v souboru zóny BIND9 musí být restartován, aby se změny projevily:
sudo systemctl restart bind9.service
Reverzní Zóny Souboru
Nyní, že zóny je nastavení a překladu názvů na Adresy IP, Reverzní zóny musí být přidán umožňuje DNS vyřešit adresu na jméno.,
Upravit /etc/bind/named.conf.local
a přidejte následující:
zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192";};
Poznámka:
Nahradit
1.168.192
s první tři oktety bez ohledu na síť, kterou používáte. Také pojmenujte soubor zóny/etc/bind/db.192
odpovídajícím způsobem. Mělo by odpovídat prvnímu oktetu vaší sítě.,
vytvořit /etc/bind/db.192
file:
sudo cp /etc/bind/db.127 /etc/bind/db.192
Další edit /etc/bind/db.192
mění stejné možnosti jako /etc/bind/db.example.com
:
Sériové Číslo v Reverzní zóně, musí být zvýšen na každou změnu stejně. Pro každý záznam konfigurace v /etc/bind/db.example.com
, to je na jinou adresu, musíte vytvořit záznam PTR v /etc/bind/db.192
.,
Po vytvoření zóny zpětného soubor restart BIND9:
sudo systemctl restart bind9.service
Sekundární Server
Jakmile Primární Server byl nakonfigurován Sekundární Server je vysoce doporučeno v zájmu zachování dostupnosti domény by měl Primární nedostupná.
nejprve je třeba na primárním serveru povolit přenos zóny., Přidat do allow-transfer
možnost příkladem Vpřed a zóny Zpětného definice je v /etc/bind/named.conf.local
:
Poznámka:
Nahradit
192.168.1.11
Adresa IP Sekundární nameserver.
Restart BIND9 na Primární server:
sudo systemctl restart bind9.service
Next, na Sekundární server, nainstalujte balíček bind9 stejným způsobem jako na Primární., Pak upravit /etc/bind/named.conf.local
a přidat následující prohlášení pro Vpřed a Vzad zón:
Poznámka:
Nahradit
192.168.1.10
s IP Adresu vašeho Primárního nameserveru.,
Restart BIND9 na Sekundární server:
sudo systemctl restart bind9.service
V /var/log/syslog
měli byste vidět něco podobného následujícímu (některé linky byly rozděleny, aby se vešly na formát tohoto dokumentu):
Poznámka:
Poznámka: zóna je pouze převeden, pokud Sériové Číslo Primární je větší, než na Střední., Pokud chcete mít svůj Primární DNS oznamující další Sekundární Servery DNS zóny změny, můžete přidat
also-notify { ipaddress; };
/etc/bind/named.conf.local
jak je uvedeno v příkladu níže:
Poznámka:
výchozí adresář pro non-autoritativní zóna soubory
/var/cache/bind/
. Tento adresář je také nakonfigurován v aplikaci AppArmor, aby do něj mohl napsat pojmenovaný démon. Pro více informací o AppArmor viz Security-AppArmor.,
řešení problémů
tato část se zabývá diagnostikou problémů s konfiguracemi DNS a BIND9.
testování
resolv.conf
prvním krokem při testování BIND9 je přidání IP adresy nameserveru do resolveru hosts. Primární nameserver by měl být nakonfigurován, stejně jako jiný hostitel, aby znovu zkontroloval věci. Podrobnosti o přidávání adres serveru nameserver pro síťové klienty naleznete v konfiguraci klienta DNS., Na konci své nameserver
/etc/resolv.conf
by měl být ukázal na 127.0.0.53
a měli byste mít search
parametr pro vaši doménu. Něco jako toto:
nameserver 127.0.0.53search example.com
zjistit, které server DNS místní resolver používá, run:
systemd-resolve --status
Poznámka:
měli Byste také přidat Adresu IP Sekundární nameserver, aby vaše konfigurace klienta v případě, že Primární není k dispozici.,
kopat
Pokud jste nainstalovali balíčku dnsutils si můžete vyzkoušet své nastavení pomocí DNS lookup utility kopat:
-
Po instalaci BIND9 použití kopat proti loopback rozhraní, aby se ujistil, že je naslouchání na portu 53.,i>
Pokud jste nakonfigurovali server BIND9 jako Caching nameserver „kopat“ externí domény pro kontrolu času dotazu:
dig ubuntu.com
Poznámka: čas dotazu ke konci výstupu příkazu:
;; Query time: 49 msec
Po druhé kopat tam by mělo být zlepšení:
;; Query time: 1 msec
ping
ukazují, jak aplikace využít DNS k překladu názvu hostitele, použijte nástroj ping pošle ICMP echo request:
ping example.com
testy, pokud nameserver lze vyřešit název ns.example.com
na IP Adresu., Výstup příkazu by měl vypadat:
named-checkzone
skvělý způsob, jak vyzkoušet své zóny souborů pomocí named-checkzone
nástroj nainstalován bind9
balíček. Tento nástroj vám umožní ujistit se, že konfigurace je správná před restartováním BIND9 a provedením změn naživo.,
-
vyzkoušet náš příklad Vpřed souboru zóny zadejte následující z příkazového řádku:
named-checkzone example.com /etc/bind/db.example.com
Pokud je vše nakonfigurováno správně, měli byste vidět výstup podobný:
zone example.com/IN: loaded serial 6OK
-
Podobně, zkušební zóny Zpětného soubor, zadejte následující:
named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192
výstup by měl být podobný:
zone 1.168.192.in-addr.arpa/IN: loaded serial 3OK
Poznámka:
Sériové Číslo zónového souboru bude pravděpodobně jiná.,
Rychlé dočasné protokolování dotazu
rndc
nástroj, můžete rychle zapnout protokolování dotazu zapnutí a vypnutí, bez restartování služby nebo změnou konfiguračního souboru.
zapnout protokolování dotazu, spuštění:
sudo rndc querylog on
Podobně, vypněte jej, spusťte:
sudo rndc querylog off
protokoly bude zaslána syslog a zobrazí se v /var/log/syslog
ve výchozím nastavení:
Poznámka:
množství protokolů generovaných systémem umožňující
querylog
mohl by to být obrovský!,
Přihlášení
BIND9 má širokou škálu protokolování možnosti konfigurace k dispozici, ale dvě hlavní jsou kanál a kategorie, které se konfigurovat protokoly, kde jít, a jaké informace dostane přihlášen, resp.
Pokud žádné možnosti protokolování jsou nakonfigurovány výchozí nastavení je:
logging { category default { default_syslog; default_debug; }; category unmatched { null; };};
Pojďme místo toho nakonfigurujte server BIND9 posílat zprávy ladění týkající se DNS dotazy do samostatného souboru.
musíme nakonfigurovat kanál, abychom určili, do kterého souboru se mají zprávy odesílat, a kategorii., V tomto příkladu bude kategorie zaznamenávat všechny dotazy. Edit /etc/bind/named.conf.local
a přidejte následující:
logging { channel query.log { file "/var/log/named/query.log"; severity debug 3; }; category queries { query.log; };};
Poznámka:
debug volba může být nastavena od 1 do 3. Pokud úroveň není zadána, úroveň 1 je výchozí.,
-
Od jménem daemon běží jako bind uživatele
/var/log/named
adresář musí být vytvořen a vlastnictví změněno:sudo mkdir /var/log/namedsudo chown bind:bind /var/log/named
-
restart BIND9, aby se změny projevily:
sudo systemctl restart bind9.service
měli Byste vidět soubor /var/log/named/query.log
vyplní se informace o dotazu. Toto je jednoduchý příklad možností protokolování BIND9. Pro pokrytí pokročilých možností viz více informací.,
běžné typy záznamů
tato část pokrývá některé z nejběžnějších typů záznamů DNS.
-
A
záznam: tento záznam mapuje IP adresu názvu hostitele.www IN A 192.168.1.12
-
CNAME
nahrát: slouží k vytvoření aliasu k existující záznam. Nelze vytvořit záznamCNAME
směřující na jiný záznamCNAME
.web IN CNAME www
-
MX
record: Používá se k definování, kam má být e-mail odeslán., Musí ukazovat na záznamA
, nikoliCNAME
.@ IN MX 1 mail.example.com.mail IN A 192.168.1.13
-
NS
record: Používá se k definování, které servery slouží kopiím zóny. Musí ukazovat na záznamA
, nikoliCNAME
. Zde jsou definovány primární a sekundární servery.@ IN NS ns.example.com.@ IN NS ns2.example.com.ns IN A 192.168.1.10ns2 IN A 192.168.1.11
Další Informace
-
proti Proudu BIND9 Dokumentaci
-
Bind9.net má vazby na velkou sbírku DNS a BIND9 zdrojů.,
-
DNS a BIND je populární kniha nyní v jeho pátém vydání. Nyní je také DNS a BIND na IPv6 knize.
-
skvělé místo, kde můžete požádat o pomoc BIND9 a zapojit se do komunity serveru Ubuntu, je IRC kanál #ubuntu-server na freenode.
Naposledy aktualizováno před 10 měsíci. Pomozte vylepšit tento dokument ve fóru.