Domain Name Service (DNS) er en Internett-tjeneste som tilordner IP-adresser og fullt kvalifisert domenenavn (FQDN) til en annen. På denne måten, DNS reduserer behovet for å huske IP-adresser. Datamaskiner som kjører DNS kalles navnetjenere. Ubuntu skip med BIND (Berkley Internet Naming Daemon), den mest vanlige program som brukes for å opprettholde et navn server på Linux.,
På en terminal prompt skriver du inn følgende kommando for å installere dns:
sudo apt install bind9
En svært nyttig pakke for testing og feilsøking DNS-problemer er dnsutils
pakken. Svært ofte er disse verktøyene vil bli installert allerede, men for å kontrollere og/eller installere dnsutils
angi følgende:
sudo apt install dnsutils
Konfigurering
Det er mange måter å konfigurere BIND9. Noen av de vanligste konfigurasjonene er en caching nameserver, primær-server og sekundær server.,
-
Når den er konfigurert som en caching nameserver BIND9 vil finne svaret på navnet spørsmål og huske svaret når domenet er avhørt igjen.
-
Som en primær server, BIND9 leser data for en sone fra en fil på sin vert og er autoritativ for denne sonen.
-
Som en sekundær server, BIND9 får sone data fra en annen dns som er autoritativ for sonen.
Oversikt
DNS-konfigurasjonen filer som er lagret i /etc/bind
– katalogen., Den primære konfigurasjonsfilen er /etc/bind/named.conf
, som i oppsettet gitt av pakken som bare inneholder disse filene.
roten navnetjenere som brukes til å være beskrevet i filen /etc/bind/db.root
. Dette er nå i stedet gitt av /usr/share/dns/root.hints
– filen som fulgte med dns-root-data
pakken, og er referert i named.conf.default-zones
konfigurering-filen ovenfor.
Det er mulig å konfigurere den samme serveren til å være en caching server navn, primær og sekundær: det hele avhenger av soner det er servering., En server kan være Starten på en Autoritet (SOA) for én sone, samtidig som det gir sekundær tjeneste for en annen sone. Samtidig gir caching tjenester for vertene på den lokale LAN.
Caching Dns
standard konfigurasjon fungerer som en caching server. Bare uncomment og redigere /etc/bind/named.conf.options
for å angi IP-adressene til din ISP ‘ s DNS-servere:
forwarders { 1.2.3.4; 5.6.7.8;};
Merk
Bytt
1.2.3.4
og5.6.7.8
med IP-Adresser av faktiske navnetjenere.,
for Å aktivere den nye konfigurasjonen, starte DNS-serveren. Fra en terminal-ledeteksten:
sudo systemctl restart bind9.service
Se grave etter informasjon om testing av en caching DNS-serveren.
Primære Serveren
I denne delen BIND9 vil bli konfigurert som den Primære serveren for domenet example.com
. Bare bytt example.com
med FQDN (Fully Qualified Domain Name).,
Videresend Sone Fil
for Å legge til en DNS-sone for å BIND9, snu BIND9 inn en Primær server, redigerer /etc/bind/named.conf.local
:
zone "example.com" { type master; file "/etc/bind/db.example.com";};
Merk
Hvis binde vil motta automatiske oppdateringer til filen som med DDNS, deretter kan du bruke
/var/lib/bind/db.example.com
snarere enn/etc/bind/db.example.com
både her og i copy-kommandoen nedenfor.,
Nå kan du bruke en eksisterende sone fil som en mal for å opprette /etc/bind/db.example.com
fil:
sudo cp /etc/bind/db.local /etc/bind/db.example.com
Rediger den nye sonen filen /etc/bind/db.example.com
bytt localhost.
for å FQDN av din server, forlater ytterligere .
på slutten., Endre 127.0.0.1
til dns IP-Adressen og root.localhost
til en gyldig e-post adresse, men med en .
i stedet for den vanlige @
symbol, igjen forlater .
på slutten. Endre kommentar for å angi domenet at denne filen er for.
Opprette en rekord for base domene, example.com
. Også, kan du opprette en rekord for ns.example.com
, navnet server i dette eksemplet:
Du må tilvekst Serienummeret hver gang du gjør endringer i sonefilen., Hvis du gjør flere endringer før du starter BIND9, rett og slett tilvekst Seriell gang.
Nå kan du legge til DNS-postene til bunnen av sonefilen. Se Vanlige oppføringstyper for detaljer.,
Merk
Mange administratorer liker å bruke den siste datoen endret som føljetong av en sone, for eksempel 2020012100 som er yyyymmddss (der ss er Serienummeret)
Når du har gjort endringer i sonefilen BIND9 må startes på nytt for at endringene skal tre i kraft:
sudo systemctl restart bind9.service
Omvendt Sone Fil
Nå at sonen er oppsett og løse navn til IP-Adresser, en Omvendt sone behov for å bli lagt til lar DNS for å løse en adresse til et navn.,
Rediger /etc/bind/named.conf.local
og legg til følgende:
zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192";};
Merk
Bytt
1.168.192
med de tre første oktettene av hva nettverket du bruker. Også navn på sonen filen/etc/bind/db.192
hensiktsmessig. Det bør samsvare med den første oktetten av nettverket.,
Nå opprette /etc/bind/db.192
file:
sudo cp /etc/bind/db.127 /etc/bind/db.192
Neste rediger /etc/bind/db.192
endre samme valgene som /etc/bind/db.example.com
:
Serienummeret på baksiden sone må økes på hver endring som godt. For hver En oppføring du vil konfigurere i /etc/bind/db.example.com
, som er en annen adresse, må du opprette en PTR-post i /etc/bind/db.192
.,
Etter å skape omvendt sone fil BIND9 restart:
sudo systemctl restart bind9.service
Sekundær Server
Når et Primære Serveren ikke er konfigurert på en Sekundær Server er sterkt anbefalt for å opprettholde tilgjengeligheten av domenet bør den Primære bli utilgjengelig.
Først, på den Primære serveren, sonen overføre behov for å være tillatt., Legg til allow-transfer
alternativ til eksempel Fremover og Bakover sone definisjoner i /etc/bind/named.conf.local
:
Merk
Bytt
192.168.1.11
med IP-Adressen til den Sekundære dns.
BIND9 Restart på Primær-server:
sudo systemctl restart bind9.service
Neste, på den Sekundære server, installere bind9 pakke samme måte som den Primære., Deretter rediger /etc/bind/named.conf.local
og legg til følgende erklæringer for Forover og Bakover soner:
Merk
Bytt
192.168.1.10
med IP-Adressen til den Primære dns.,
BIND9 Restart på Sekundær server:
sudo systemctl restart bind9.service
I /var/log/syslog
bør du se noe som ligner på følgende (noen linjer har blitt delt for å passe formatet i dette dokumentet):
Merk
Merk: En sone er bare overføres hvis Serienummeret på den Primære er større enn på Videregående., Hvis du ønsker å ha den Primære DNS-varsle andre Sekundære DNS-Servere av sone endringer, kan du legge til
also-notify { ipaddress; };
til/etc/bind/named.conf.local
som vist i eksemplet nedenfor:
Merk
standard katalog for ikke-autoritativt sone-filene er
/var/cache/bind/
. Denne katalogen er også konfigurert i AppArmor å tillate heter daemon til å skrive til den. For mer informasjon om AppArmor se Security – AppArmor.,
Feilsøking
Denne delen dekker diagnostisere problemer med DNS og BIND9 konfigurasjoner.
– Testing
resolv.conf
Det første trinnet i å teste BIND9 er å legge til dns IP-Adresse til en vert resolver. Den Primære dns bør være konfigurert samt annen vert å dobbeltsjekke ting. Se DNS-klient konfigurasjon for informasjon om å legge til navneserver-adressene til nettverket kunder., I slutten din nameserver
line i /etc/resolv.conf
skal peke på 127.0.0.53
og du bør ha en search
parameter for ditt domene. Noe sånt som dette:
nameserver 127.0.0.53search example.com
Hvis du vil sjekke hvilken DNS-server på ditt lokale resolver bruker, kjører du:
systemd-resolve --status
Merk
Du bør også legge til IP-Adressen til den Sekundære dns til din klient konfigurasjon i tilfelle den Primære blir utilgjengelig.,
grave
Hvis du har installert dnsutils pakken kan du teste dine oppsett ved å bruke DNS-oppslag utility grave:
-
Etter at du har installert BIND9 bruk grave mot loopback-grensesnitt for å sørge for at det er å lytte på port 53.,jeg>
Hvis du har konfigurert BIND9 som en Caching nameserver «grave» et eksternt domene for å sjekke spørringen tid:
dig ubuntu.com
Merk spørringen tid mot slutten av kommandoen utgang:
;; Query time: 49 msec
Etter at en annen grave det bør være en forbedring:
;; Query time: 1 msec
ping
Nå, for å vise hvordan applikasjoner gjøre bruk av DNS for å løse et vertsnavn bruk ping-verktøyet til å sende en ICMP echo request:
ping example.com
Dette tester om navneserveren kan løse navnet ns.example.com
til en IP-Adresse., Kommandoen utgang, bør ligne:
oppkalt-checkzone
En flott måte å teste din sone-filer ved å bruke named-checkzone
utility er installert med bind9
pakken. Dette verktøyet lar deg kontrollere konfigurasjonen er riktig, før du starter BIND9 og gjør endringene.,
-
for Å teste vårt eksempel Frem zone-filen skriver du inn følgende fra ledeteksten:
named-checkzone example.com /etc/bind/db.example.com
Hvis alt er konfigurert riktig, bør du se output lik:
zone example.com/IN: loaded serial 6OK
-
på samme måte, å teste Omvendt sone fil, angi følgende:
named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192
output skal være lik:
zone 1.168.192.in-addr.arpa/IN: loaded serial 3OK
Merk
Serienummeret til din zone-filen vil trolig være annerledes.,
Rask midlertidig spørring logging
Med rndc
verktøyet, kan du raskt slå spørring logge på og av, uten å måtte starte tjenesten eller endre konfigurasjonen fil.
for Å slå spørring å logge på, kan du kjøre:
sudo rndc querylog on
på samme måte, for å slå den av, kjører du:
sudo rndc querylog off
logger vil bli sendt til syslog, og den vises i /var/log/syslog
standard:
Merk
mengden av tømmer som er generert ved å aktivere
querylog
kan være enorme!,
Logging
BIND9 har et bredt utvalg av logging konfigurasjon alternativer, men de to viktigste er kanal og kategori, som konfigurere hvor logger gå, og hvilken informasjon som blir logget, henholdsvis.
Hvis ingen alternativer for logging er konfigurert for standard konfigurasjon er:
logging { category default { default_syslog; default_debug; }; category unmatched { null; };};
La oss i stedet konfigurere BIND9 å sende debug meldinger relatert til DNS-spørringer til en separat fil.
Vi trenger å konfigurere en kanal for å spesifisere hvilke filer du vil sende meldingene til, og en kategori., I dette eksemplet kategorien vil logge alle henvendelser. Edit /etc/bind/named.conf.local
og legg til følgende:
logging { channel query.log { file "/var/log/named/query.log"; severity debug 3; }; category queries { query.log; };};
Merk
debug-alternativet kan stilles inn fra 1 til 3. Hvis et nivå som ikke er spesifisert, nivå 1 er standard.,
-
Siden som heter daemonen kjører som binder brukeren
/var/log/named
katalogen må være opprettet og eierskap endret:sudo mkdir /var/log/namedsudo chown bind:bind /var/log/named
-
Nå BIND9 restart for at endringene skal tre i kraft:
sudo systemctl restart bind9.service
Du bør se filen /var/log/named/query.log
fyll opp med spørringen informasjon. Dette er et enkelt eksempel på BIND9 logging alternativer. For dekning av avanserte alternativer kan du se Mer Informasjon.,
Vanlige oppføringstyper
Denne delen dekker noen av de vanligste DNS-oppføringstyper.
-
A
spill inn: Denne posten kart en IP-Adresse til et vertsnavn.www IN A 192.168.1.12
-
CNAME
spill inn: Brukes til å opprette et alias til en eksisterende En oppføring. Du kan ikke opprette enCNAME
spill inn peker til en annenCNAME
spill inn.web IN CNAME www
-
MX
spill inn: Brukes for å angi hvor e-posten skal sendes til., Må peke til enA
spill inn, ikke enCNAME
.@ IN MX 1 mail.example.com.mail IN A 192.168.1.13
-
NS
spill inn: Brukes for å definere hvilke servere tjene kopier av en sone. Det må peke til enA
spill inn, ikke enCNAME
. Dette er hvor Primær-og Sekundær-servere er definert.@ IN NS ns.example.com.@ IN NS ns2.example.com.ns IN A 192.168.1.10ns2 IN A 192.168.1.11
få Mer Informasjon
-
Oppstrøms BIND9 Dokumentasjon
-
Bind9.net har lenker til en stor samling av DNS og BIND9 ressurser.,
-
DNS og BIND er en populær bok nå i det femte utgaven. Det er nå også en DNS og BINDER på IPv6-bok.
-
Et flott sted å be for BIND9 hjelp, og bli involvert med Ubuntu Server samfunnet, er #ubuntu-server IRC kanal på freenode.
Sist oppdatert 10 måneder siden. Bidra til å forbedre dette dokumentet i forumet.