DNS (Domain Name Service) on Internet-palvelu, joka maps IP-osoite ja toimialueen nimi (FQDN) toisiinsa. Näin DNS lievittää tarvetta muistaa IP-osoitteet. DNS: ää ylläpitäviä tietokoneita kutsutaan nimipalvelimiksi. Ubuntu ships with BIND (Berkley Internet Naming Daemon), yleisin ohjelma, jota käytetään nimipalvelimen ylläpitoon Linuxissa.,
At terminal-kehotteeseen kirjoita seuraava komento asentaa dns:
sudo apt install bind9
erittäin hyödyllinen paketti testaus ja vianmääritys DNS kysymyksiä on dnsutils
paketti. Hyvin usein nämä työkalut on asennettu jo, mutta tarkistaa ja/tai asentaa dnsutils
kirjoita seuraava:
sudo apt install dnsutils
Kokoonpano
On olemassa monia tapoja määrittää BIND9. Yleisimmät kokoonpanot ovat välimuistin nimipalvelin, ensisijainen palvelin ja toissijainen palvelin.,
-
Kun määritetty välimuistia nimipalvelin BIND9 löytää vastauksen nimi kyselyt ja muista vastausta, kun verkkotunnus on tiedusteli uudelleen.
-
ensisijaisena palvelimena BIND9 lukee vyöhykkeen tiedot isäntänsä tiedostosta ja on arvovaltainen kyseiselle vyöhykkeelle.
-
toissijainen palvelin, BIND9 saa zone data toinen nimipalvelin, joka on hallitseva vyöhyke.
Yleistä
DNS-kokoonpano tiedostot tallennetaan /etc/bind
hakemisto., Ensisijainen configuration file on /etc/bind/named.conf
, jonka asettelu esittänyt paketti sisältää nämä tiedostot.
juurimerenkerääjät, joita oli tapana kuvata tiedostossa /etc/bind/db.root
. Tämä on nyt säädetty sen sijaan /usr/share/dns/root.hints
tiedoston mukana dns-root-data
paketti, ja on viitattu named.conf.default-zones
configuration file edellä.
on mahdollista määrittää samalla palvelimella olevan välimuistia nimipalvelin, ensisijainen ja toissijainen: se kaikki riippuu vyöhykkeiden se on tarjoilua., Palvelin voi olla viranomaisen (SOA) alku yhdelle vyöhykkeelle ja tarjota toissijaista palvelua toiselle vyöhykkeelle. Kaikki samalla tarjota välimuistipalvelut isännille paikallisella lähiverkolla.
välimuistin nimipalvelin
oletuskokoonpano toimii välimuistipalvelimena. Yksinkertaisesti poista ja muokkaa /etc/bind/named.conf.options
määritä IP-osoitteet ja ISP: n DNS-palvelimet:
forwarders { 1.2.3.4; 5.6.7.8;};
Huom.
Korvaa
1.2.3.4
ja5.6.7.8
IP-Osoitteet todellinen nimipalvelimet.,
uuden kokoonpanon mahdollistamiseksi Käynnistä DNS-palvelin uudelleen. Terminaali kysyy:
sudo systemctl restart bind9.service
Katso, kaivaa tietoa testaus välimuistia DNS-palvelin.
Ensisijainen Palvelin
tässä osiossa BIND9 on määritetty Ensisijainen palvelin toimialueen example.com
. Korvaa vain example.com
FQDN: llä (täysin pätevä verkkotunnus).,
Eteenpäin Zone-Tiedosto
Voit lisätä DNS zone BIND9, kääntämällä BIND9 osaksi Ensisijainen palvelin, ensimmäinen muokata /etc/bind/named.conf.local
:
zone "example.com" { type master; file "/etc/bind/db.example.com";};
Huom.
Jos sitoutuvat vastaanottaa automaattisia päivityksiä tiedosto, kuten DDNS, sitten käyttää
/var/lib/bind/db.example.com
sijaan/etc/bind/db.example.com
molemmat täällä ja kopioi-komennon alla.,
Nyt käyttää olemassa olevaa alue-tiedoston mallina luoda /etc/bind/db.example.com
tiedosto:
sudo cp /etc/bind/db.local /etc/bind/db.example.com
Muokkaa uusi zone-tiedosto /etc/bind/db.example.com
ja vaihda localhost.
to FQDN palvelimen, jättäen lisää .
lopussa., Vaihda 127.0.0.1
to nimipalvelimen IP-Osoite ja root.localhost
on voimassa oleva sähköpostiosoite, mutta .
sen sijaan tavallista @
symboli, jälleen jättäen .
lopussa. Muuta kommentti osoittaa verkkotunnuksen, että tämä tiedosto on varten.
luo base-verkkotunnuksen levy,example.com
. Myös luoda ennätys ns.example.com
, nimi palvelin, tässä esimerkki:
Sinun täytyy kasvattaa Sarjanumero aina, kun teet muutoksia zone-tiedosto., Jos teet useita muutoksia ennen uudelleenkäynnistystä BIND9, yksinkertaisesti lisätä Serial kerran.
nyt voit lisätä DNS-tietueet vyöhyketiedoston pohjalle. Lisätietoja on yleisissä Tietuetyypeissä.,
Huom.
Monet ylläpitäjät haluavat käyttää viimeinen päivämäärä, muokattu serial alueen, kuten 2020012100 joka on yyyymmddss (jossa ss on Sarjanumero)
Kun olet tehnyt muutoksia zone file BIND9 on käynnistettävä uudelleen, jotta muutokset tulevat voimaan:
sudo systemctl restart bind9.service
Reverse Zone-Tiedosto
Nyt, että alue on setup ja ratkaista nimet, IP-Osoitteet, Käänteinen vyöhyke on lisättävä avulla DNS ratkaista osoitteen nimi.,
Muokkaa /etc/bind/named.conf.local
ja lisää seuraava:
zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192";};
Huom.
Korvaa
1.168.192
kanssa kolme ensimmäistä oktettia, mitä verkkoa käytät. Nimeä myös vyöhyketiedosto/etc/bind/db.192
sopivasti. Sen pitäisi vastata verkon ensimmäistä oktettia.,
Nyt luoda /etc/bind/db.192
tiedosto:
sudo cp /etc/bind/db.127 /etc/bind/db.192
Seuraavaksi muokkaa /etc/bind/db.192
muuttuvat samat vaihtoehdot kuin /etc/bind/db.example.com
:
Sarjanumero Käänteinen vyöhyke on lisätään päälle jokainen muutos samoin. Kunkin tietueen, voit määrittää /etc/bind/db.example.com
, joka on eri osoite, sinun täytyy luoda PTR-tietueen /etc/bind/db.192
.,
Kun olet luonut reverse zone-tiedoston uudelleen BIND9:
sudo systemctl restart bind9.service
Toissijainen Palvelin
Kun Ensisijainen Palvelin on määritetty Toissijainen Palvelin on erittäin suositeltavaa, jotta voidaan ylläpitää saatavuus toimialueen olisi Ensisijainen katketa.
ensin ensisijaisella palvelimella vyöhykkeen siirto on sallittava., Lisää allow-transfer
mahdollisuus esimerkiksi Eteen-ja Taaksepäin vyöhykkeen määritelmät /etc/bind/named.conf.local
:
Huom.
Korvaa
192.168.1.11
IP-Osoite Toissijainen nimipalvelin.
Uudelleenkäynnistys BIND9 Ensisijainen palvelin:
sudo systemctl restart bind9.service
Seuraava, Toissijainen palvelin, asenna bind9 paketti samalla tavalla kuin Ensisijainen., Muokkaa /etc/bind/named.conf.local
ja lisää seuraava ilmoitukset Eteenpäin ja Käänteinen alueet:
Huom.
Korvaa
192.168.1.10
IP-Osoite Ensisijainen nimipalvelin.,
Uudelleenkäynnistys BIND9 Toissijainen palvelin:
sudo systemctl restart bind9.service
/var/log/syslog
sinun pitäisi nähdä jotain vastaavaa seuraavat (jotkut linjat on jaettu sopivaksi muoto tämä asiakirja):
Huom.
Huomautus: alue on vain siirtää, jos Sarjanumero Ensisijainen on suurempi kuin yksi, on Toissijainen., Jos haluat olla Ensisijainen DNS ilmoittamalla muut Toissijaisen nimipalvelimen zone muutoksia, voit lisätä
also-notify { ipaddress; };
ja/etc/bind/named.conf.local
kuten esimerkissä alla:
Huom.
oletuksena hakemistoon ei-arvovaltainen zone-tiedostot on
/var/cache/bind/
. Tämä hakemisto on myös määritetty AppArmor, jotta nimeltä daemon kirjoittaa se. Lisätietoja Apparmorista on Security-AppArmor – sivustolla.,
Vianetsintä
Tämä osio kattaa diagnosoinnissa ongelmia DNS-ja BIND9 kokoonpanoissa.
Testaus
resolv.conf
ensimmäinen vaihe BIND9: n testauksessa on nameserverin IP-osoitteen lisääminen isäntien resolveriin. Ensisijainen nimipalvelin olisi Konfiguroitava sekä toinen isäntä kaksinkertainen tarkistaa asioita. Katso DNS client configuration lisätietoja lisäämällä nimipalvelimen osoitteet verkkoasiakkaille., Lopulta nameserver
rivi /etc/resolv.conf
pitäisi olla suunnattu 127.0.0.53
ja sinulla pitäisi olla search
parametri oman verkkotunnuksen. Jotain, kuten tämä:
nameserver 127.0.0.53search example.com
tarkista, mitkä DNS-palvelimen paikalliseen resolveri käyttää, ajaa:
systemd-resolve --status
Huom.
Sinun tulisi myös lisätä IP-Osoite Toissijainen nimipalvelin teidän client configuration jos Ensisijainen ei ole käytettävissä.,
kaivaa
Jos olet asentanut dnsutils paketin voit testata setup käyttämällä DNS lookup hyödyllisyys kaivaa:
-
Kun olet asentanut BIND9 käyttää dig vastaan loopback liitäntä varmista, että se kuuntelee porttiin 53.,i> –
Jos olet määrittänyt BIND9 kuten Välimuistia nimipalvelin ”kaivaa” ulkopuolisen verkkotunnuksen, voit tarkistaa kyselyn aika:
dig ubuntu.com
Huom kyselyn ajan loppua kohti command output:
;; Query time: 49 msec
sen Jälkeen, kun toinen kaivaa siellä pitäisi olla parannus:
;; Query time: 1 msec
ping
Nyt osoittamaan, miten sovellukset käyttävät DNS ratkaista host name käytä ping lähettää ICMP echo request:
ping example.com
Tämä testaa, jos nimipalvelin voi ratkaista nimi ns.example.com
IP-Osoite., Komento lähtö tulee muistuttaa:
named-checkzone
hyvä tapa testata zone-tiedostot on käyttää named-checkzone
apuohjelma asentaa bind9
paketti. Tämän apuohjelman avulla voit varmistaa, että kokoonpano on oikea ennen bind9: n uudelleenkäynnistämistä ja muutosten live-esittämistä.,
-
testata esimerkiksi Eteenpäin zone-tiedoston, kirjoita seuraava komento komentokehotteeseen:
named-checkzone example.com /etc/bind/db.example.com
Jos kaikki on määritetty oikein, sinun pitäisi nähdä lähtö samanlainen:
zone example.com/IN: loaded serial 6OK
-
Vastaavasti testata Reverse zone-tiedoston, kirjoita seuraava:
named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192
lähtö pitäisi olla samanlainen:
zone 1.168.192.in-addr.arpa/IN: loaded serial 3OK
Huom.
Sarjanumero zone-tiedosto on luultavasti erilainen.,
Nopea tilapäinen kyselyn hakkuut
, Jossa rndc
työkalu, voit nopeasti kääntää kyselyn hakkuut päälle ja pois, ilman uudelleenkäynnistystä palvelu tai muuttamalla configuration file.
kytke kyselyn kirjautumisen, run:
sudo rndc querylog on
Samoin, käännä se pois päältä, suorita:
sudo rndc querylog off
lokit lähetetään syslog ja näkyy /var/log/syslog
oletuksena:
Huom.
määrä lokit syntyy mahdollistamalla
querylog
voisi olla valtava!,
Kirjautuminen
BIND9 on monenlaisia logging configuration vaihtoehtoja, mutta kaksi tärkeimmät ovat kanava ja luokka, joka määrittää, missä lokit mennä, ja mitä tietoja saa kirjata, vastaavasti.
Jos ei ole hakkuut vaihtoehtoja on määritetty oletusarvoinen kokoonpano on:
logging { category default { default_syslog; default_debug; }; category unmatched { null; };};
– Anna on sen sijaan määrittää BIND9 lähettää debug viestejä, jotka liittyvät DNS-kyselyt erilliseen tiedostoon.
meidän täytyy määrittää kanava, joka määrittää, mihin tiedostoon viestit lähetetään, ja luokkaan., Tässä esimerkissä Luokka kirjaa kaikki kyselyt. Muokkaa /etc/bind/named.conf.local
ja lisää seuraava:
logging { channel query.log { file "/var/log/named/query.log"; severity debug 3; }; category queries { query.log; };};
Huom.
debug vaihtoehto voidaan asettaa 1-3. Jos tasoa ei ole määritelty taso 1 on oletusarvo.,
-
Koska nimeltä daemon toimii kuin sitoa käyttäjä
/var/log/named
hakemisto on luotu ja omistus on muuttunut:sudo mkdir /var/log/namedsudo chown bind:bind /var/log/named
-
Nyt BIND9 restart, jotta muutokset tulevat voimaan:
sudo systemctl restart bind9.service
Sinun pitäisi nähdä tiedoston /var/log/named/query.log
täyttää kyselyn tiedot. Tämä on yksinkertainen esimerkki BIND9-hakkuuvaihtoehdoista. Lisätietoa lisävaihtoehtojen kattamisesta.,
Yleiset tietuetyyppejä
Tämä osio kattaa joitakin yleisimpiä DNS-tietuetyypit.
-
A
ennätys: Tämä tallentaa karttoja IP-Osoite, isäntänimi.www IN A 192.168.1.12
-
CNAME
ennätys: Käytetään luoda alias olemassa olevan tietueen. Et voi luodaCNAME
ennätys osoittaa toiseenCNAME
äänitä.web IN CNAME www
-
MX
ennätys: Käytetään määrittää, jos sähköpostia lähetetään., Täytyy kohta on, ettäA
ennätys, eiCNAME
.@ IN MX 1 mail.example.com.mail IN A 192.168.1.13
-
NS
ennätys: Käytetään määrittää, mitkä palvelimet palvelevat kappaletta vyöhyke. Se on seikka on, ettäA
ennätys, eiCNAME
. Tässä määritellään ensisijaiset ja toissijaiset palvelimet.@ IN NS ns.example.com.@ IN NS ns2.example.com.ns IN A 192.168.1.10ns2 IN A 192.168.1.11
Lisätietoja
-
Alkupään BIND9 Dokumentointi
-
Bind9.net on linkkejä suuri kokoelma BIND9 DNS ja resursseja.,
-
DNS ja BIND on suosittu kirja nyt sen viidennessä painoksessa. Nyt on myös DNS ja sitoa IPv6 kirja.
-
hyvä paikka kysyä BIND9 apua, ja saada mukana Ubuntu Server yhteisö, on #ubuntu-server IRC-kanavan freenode.
päivitetty viimeksi 10 kuukautta sitten. Auttaa parantamaan tätä asiakirjaa foorumissa.