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.4og5.6.7.8med 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.comsnarere end/etc/bind/db.example.combå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.192med de første tre oktetter af, hvad netværk, du bruger. Navngiv også zoneonefilen/etc/bind/db.192korrekt. 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.11med 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.10med 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.comBemærk forespørgsel gang hen mod slutningen af kommando:
;; Query time: 49 msecEfter 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.comHvis 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.192output 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
querylogkunne 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/namedmappen 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.
-
Arecord: denne post kortlægger en IP-adresse til et værtsnavn.www IN A 192.168.1.12 -
CNAMEoptag: Bruges til at oprette et alias til en eksisterende rekord. Du kan ikke oprette enCNAMEOptag, der peger på en andenCNAMEOptag.web IN CNAME www -
MXrecord: bruges til at definere, hvor e-mail skal sendes til., Skal pege på enArecord, ikke enCNAME.@ IN MX 1 mail.example.com.mail IN A 192.168.1.13 -
NSrecord: bruges til at definere, hvilke servere der serverer kopier af en .one. Det skal pege på enArecord, 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.