Domain Name Service (DNS) er en internettjeneste, der kortlægger IP-adresser og fuldt kvalificerede domænenavne (f .dn) til hinanden. På denne måde lindrer DNS behovet for at huske IP-adresser. Computere, der kører DNS kaldes navneservere. Ubuntu skibe med BIND (Berkley Internet Naming Daemon), det mest almindelige program, der bruges til at opretholde en navneserver på Linu..,
I en terminal-prompten, skal du indtaste følgende kommando til at installere dns:
sudo apt install bind9
En meget nyttig pakke til test og fejlfinding DNS-problemer er dnsutils
pakke. Meget ofte er disse værktøjer vil blive installeret i forvejen, men for at kontrollere og/eller installere dnsutils
indtast følgende:
sudo apt install dnsutils
Konfiguration
Der er mange måder at konfigurere BIND9. Nogle af de mest almindelige konfigurationer er en caching navneserver, primær server og sekundær server.,
-
når konfigureret som en caching navneserver BIND9 vil finde svaret på navneforespørgsler og huske svaret, når domænet forespørges igen.
-
som en primær server læser BIND9 dataene for en fileone fra en fil på dens vært og er autoritativ for den zoneone.
-
som en sekundær server får BIND9 zoneonedataene fra en anden navneserver, der er autoritativ for zoneonen.
oversigt
DNS-konfigurationsfilerne gemmes i mappen/etc/bind
., Den primære konfigurationsfil er /etc/bind/named.conf
, som i layoutet, der leveres af pakken, kun indeholder disse filer.
de rodnavneservere, der tidligere blev beskrevet i filen /etc/bind/db.root
. Dette leveres nu i stedet af /usr/share/dns/root.hints
– filen, der leveres med dns-root-data
– pakken, og der henvises til i named.conf.default-zones
konfigurationsfilen ovenfor.
det er muligt at konfigurere den samme server til at være en caching-navneserver, primær og sekundær: det hele afhænger af de zonesoner, den betjener., En server kan være starten på Authority (SOA) for en zoneone, mens den leverer sekundær service til en anden .one. Alt imens leverer caching-tjenester til værter på det lokale LAN.
caching navneserver
standardkonfigurationen fungerer som en caching-server. Bare udkommentere og redigere /etc/bind/named.conf.options
for at angive IP-adressen på din INTERNETUDBYDERS DNS-servere:
forwarders { 1.2.3.4; 5.6.7.8;};
Bemærk!
Erstat
1.2.3.4
og5.6.7.8
med IP-Adresser på de faktiske navneservere.,
for at aktivere den nye konfiguration skal du genstarte DNS-serveren. Fra en terminalprompt:
sudo systemctl restart bind9.service
se dig for oplysninger om test af en caching DNS-server.
primær Server
i dette afsnit vil BIND9 blive konfigureret som den primære server for domænetexample.com
. Du skal blot erstatte example.com
med dit F .dn (fuldt kvalificeret domænenavn).,
Videresend Zone-Fil
for At tilføje en DNS-zone, BIND9, dreje BIND9 i en Primær server, ved først at redigere /etc/bind/named.conf.local
:
zone "example.com" { type master; file "/etc/bind/db.example.com";};
Bemærk!
Hvis binde vil modtage automatiske opdateringer til den fil, som med DDNS, brug derefter
/var/lib/bind/db.example.com
snarere end/etc/bind/db.example.com
både her og på kommandoen kopier nedenfor.,
Nu bruge en eksisterende zone-fil som en skabelon til at oprette /etc/bind/db.example.com
fil:
sudo cp /etc/bind/db.local /etc/bind/db.example.com
Rediger den nye zone-fil /etc/bind/db.example.com
og ændre localhost.
til FQDN ‘ et på din server, så den ekstra .
i slutningen., Ændre 127.0.0.1
for at navneserver IP-Adresse og root.localhost
for at en gyldig e-mail-adresse, men med en .
i stedet for de sædvanlige @
symbol, igen forlader .
i slutningen. Skift kommentaren for at angive det domæne, som denne fil er til.
Opret en a-post for basisdomænet,example.com
. Opret også en a-post for ns.example.com
, navneserveren i dette eksempel:
Du skal øge serienummeret, hver gang du foretager ændringer i zoneonefilen., Hvis du foretager flere ændringer, før du genstarter BIND9, skal du blot øge serienummeret en gang.
nu kan du tilføje DNS-poster til bunden af zoneonefilen. Se almindelige posttyper for detaljer.,
Bemærk!
Mange admins kan lide at bruge den sidste dato, redigeret, så den serielle af en zone, som 2020012100, som er yyyymmddss (hvor ss er serienummeret)
Når du har foretaget ændringer til zone-fil BIND9 skal genstartes, for at ændringerne kan træde i kraft:
sudo systemctl restart bind9.service
Reverse Zone-Fil
Nu, at zonen er opsætning og løse navne til IP-Adresser, en Reverse-zone skal tilføjes, at tillader DNS til at løse en adresse til et navn.,
Edit /etc/bind/named.conf.local
og tilføj følgende:
zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192";};
Bemærk!
Erstat
1.168.192
med de første tre oktetter af, hvad netværk, du bruger. Navngiv også zoneonefilen/etc/bind/db.192
korrekt. Det skal matche den første oktet i dit netværk.,
Nu lave en /etc/bind/db.192
fil:
sudo cp /etc/bind/db.127 /etc/bind/db.192
rediger /etc/bind/db.192
ændre de samme indstillinger som /etc/bind/db.example.com
:
serienummeret i Reverse zone skal forøges på hver ændre sig så godt. For hver En registrering, som du konfigurerer i /etc/bind/db.example.com
, der er til en anden adresse, skal du oprette en PTR record i /etc/bind/db.192
.,
Efter at lave reverse zone-filen, genstarte BIND9:
sudo systemctl restart bind9.service
den Sekundære Server
Når en Primære Server ikke er blevet konfigureret en Sekundær Server, anbefales for at opretholde tilgængeligheden af det domæne, bør den Primære bliver utilgængelige.
først på den primære server skal zoneoneoverførslen tillades., Tilføj allow-transfer
indstilling til eksempel Forward og Reverse zone definitioner i /etc/bind/named.conf.local
:
Bemærk!
Erstat
192.168.1.11
med IP-Adressen på den Sekundære navneserver.
Genstart BIND9 på den Primære server:
sudo systemctl restart bind9.service
Næste, på den Sekundære server, installere den bind9-pakke samme måde, som på den Primære., Derefter redigere /etc/bind/named.conf.local
og tilføj følgende erklæringer, der for Frem og tilbage-zoner:
Bemærk!
Erstat
192.168.1.10
med IP-Adressen på den Primære navneserver.,
Genstart BIND9 på den Sekundære server:
sudo systemctl restart bind9.service
I /var/log/syslog
du skulle se noget, der ligner følgende (nogle linjer er blevet delt til at passe til formatet af dette dokument):
Bemærk!
Bemærk: En zone er kun overføres, hvis serienummeret på den Primære er større end den på det Sekundære., Hvis du ønsker, at din Primære DNS-at underrette andre Sekundære DNS-Servere af tidszoner, kan du tilføje
also-notify { ipaddress; };
til/etc/bind/named.conf.local
, som vist i eksemplet nedenfor:
Bemærk!
standard bibliotek for ikke-autoritative zone-filer er
/var/cache/bind/
. Denne mappe er også konfigureret i AppArmor, så den navngivne dæmon kan skrive til den. For mere information om AppArmor se sikkerhed-AppArmor.,
Fejlfinding
Dette afsnit omfatter diagnosticering af problemer med DNS og BIND9-konfigurationer.
Test
resolv.conf
det første trin i test af BIND9 er at tilføje navneserverens IP-adresse til en hosts-resolver. Den primære navneserver skal konfigureres såvel som en anden vært for at dobbelttjekke ting. Se DNS-klientkonfiguration for detaljer om tilføjelse af navneserver-adresser til dine netværksklienter., I slutningen dine nameserver
linje, /etc/resolv.conf
skal pege på 127.0.0.53
og du skal have en search
parameter for dit domæne. Noget som dette:
nameserver 127.0.0.53search example.com
for At kontrollere, hvilken DNS-server på dit lokale resolver hjælp, kør:
systemd-resolve --status
Bemærk!
Du bør også tilføje IP-Adressen på den Sekundære navneserver til din klient konfiguration i tilfælde af at den Primære bliver utilgængelig.,
dig
Hvis du har installeret dnsutils pakke, du kan teste din opsætning ved hjælp af DNS-opslag nytte grave:
-
Efter installation BIND9 bruger grave mod loopback interface til at sørge for, det er at lytte på port 53.,jeg>
Hvis du har konfigureret BIND9 som en Caching-nameserver “grave” et domæne uden at kontrollere forespørgsel tid:
dig ubuntu.com
Bemærk forespørgsel gang hen mod slutningen af kommando:
;; Query time: 49 msec
Efter en anden grave der bør være en forbedring:
;; Query time: 1 msec
ping
Nu at vise, hvordan applikationer bruger DNS til at løse et værtsnavn bruge ping sender ICMP echo request:
ping example.com
Denne test, hvis den navneserver, der kan løse navn ns.example.com
for at en IP-Adresse., Kommando-output skal ligne følgende:
navngivet-checkzone
En fantastisk måde at teste din zone-filer er ved at bruge named-checkzone
utility er installeret med bind9
pakke. Dette værktøj giver dig mulighed for at sikre, at konfigurationen er korrekt, før du genstarter BIND9 og gør ændringerne live.,
-
for At teste vores eksempel Frem zone-fil skal du indtaste følgende ved en kommandoprompt:
named-checkzone example.com /etc/bind/db.example.com
Hvis alt er konfigureret korrekt, bør du se output, som ligner denne:
zone example.com/IN: loaded serial 6OK
-
på samme måde, for at teste Reverse zone-fil skal du indtaste følgende:
named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192
output skal ligne følgende:
zone 1.168.192.in-addr.arpa/IN: loaded serial 3OK
Bemærk!
serienummeret på din zone-fil vil sandsynligvis være anderledes.,
Hurtig midlertidig forespørgsel skovhugst
Med rndc
værktøj, du kan hurtigt vende forespørgsel logge af og på, uden at genstarte tjenesten eller ændre konfigurationen fil.
for At slå forespørgsel logge på, kør:
sudo rndc querylog on
Ligeledes, for at slukke den, kør:
sudo rndc querylog off
vil logfilerne sendes til syslog-og vil dukke op i /var/log/syslog
som standard:
Bemærk!
Den mængde af logfiler genereret ved at aktivere
querylog
kunne være stort!,
Logning
BIND9 har et bredt udvalg af skovhugst indstillingsmuligheder til rådighed, men de to vigtigste er kanal-og kategori, som konfigurere, hvor logs gå, og hvilke oplysninger, der bliver logget, hhv.
Hvis der ikke er konfigureret logningsindstillinger, er standardkonfigurationen:
logging { category default { default_syslog; default_debug; }; category unmatched { null; };};
lad os i stedet konfigurere BIND9 til at sende fejlfindingsmeddelelser relateret til DNS-forespørgsler til en separat fil.
Vi er nødt til at konfigurere en kanal til at specificere, hvilken fil meddelelserne skal sendes til, og en kategori., I dette eksempel logger kategorien alle forespørgsler. Edit /etc/bind/named.conf.local
og tilføj følgende:
logging { channel query.log { file "/var/log/named/query.log"; severity debug 3; }; category queries { query.log; };};
Bemærk!
debug-funktion kan indstilles fra 1 til 3. Hvis et niveau ikke er angivet, er Niveau 1 standard.,
-
Siden opkaldt daemon kører som binder brugeren
/var/log/named
mappen skal oprettes, og ejerskabet ændres:sudo mkdir /var/log/namedsudo chown bind:bind /var/log/named
-
Nu genstarte BIND9, for at ændringerne kan træde i kraft:
sudo systemctl restart bind9.service
Du bør se filen /var/log/named/query.log
fyld med at søge information. Dette er et simpelt eksempel på BIND9 logging muligheder. For dækning af avancerede indstillinger se mere Information.,
almindelige posttyper
dette afsnit dækker nogle af de mest almindelige DNS-posttyper.
-
A
record: denne post kortlægger en IP-adresse til et værtsnavn.www IN A 192.168.1.12
-
CNAME
optag: Bruges til at oprette et alias til en eksisterende rekord. Du kan ikke oprette enCNAME
Optag, der peger på en andenCNAME
Optag.web IN CNAME www
-
MX
record: bruges til at definere, hvor e-mail skal sendes til., Skal pege på enA
record, ikke enCNAME
.@ IN MX 1 mail.example.com.mail IN A 192.168.1.13
-
NS
record: bruges til at definere, hvilke servere der serverer kopier af en .one. Det skal pege på enA
record, ikke enCNAME
. Det er her primære og sekundære servere er defineret.@ IN NS ns.example.com.@ IN NS ns2.example.com.ns IN A 192.168.1.10ns2 IN A 192.168.1.11
få Flere Oplysninger
-
Opstrøms BIND9-Dokumentation
-
Bind9.net er link til en stor samling af DNS og BIND9 ressourcer.,
-
DNS og BIND er en populær bog nu i sin femte udgave. Der er nu også en DNS og binde på IPv6 bog.
-
et godt sted at bede om BIND9-hjælp og blive involveret i Ubuntu-Serverfællesskabet er IRC-kanalen #ubuntu-server på freenode.
sidst opdateret 10 måneder siden. Hjælp med at forbedre dette dokument i forummet.