Domain Name Service (DNS) (Dansk)

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 og 5.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 en CNAME Optag, der peger på en anden CNAME Optag.

    web IN CNAME www
  • MX record: bruges til at definere, hvor e-mail skal sendes til., Skal pege på enA record, ikke en CNAME.

    @ 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å en A record, ikke en CNAME. 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.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *

Videre til værktøjslinje