Domain Name Service (DNS) (Svenska)

Domain Name Service (DNS) är en Internet-tjänst som kartlägger IP-adresser och fullständigt kvalificerade domännamn (FQDN) till varandra. På detta sätt lindrar DNS behovet av att komma ihåg IP-adresser. Datorer som kör DNS kallas namnservrar. Ubuntu ships with BIND (Berkley Internet Naming Daemon), det vanligaste programmet som används för att upprätthålla en namnserver på Linux.,

vid en terminalprompt anger du följande kommando för att installera dns:

sudo apt install bind9

ett mycket användbart paket för testning och felsökning av DNS-problem är paketetdnsutils. Mycket ofta kommer dessa verktyg att installeras redan, men för att kontrollera och/eller installera dnsutils ange följande:

sudo apt install dnsutils

konfiguration

det finns många sätt att konfigurera BIND9. Några av de vanligaste konfigurationerna är en caching namnserver, primär server och sekundär server.,

  • När den konfigureras som en caching namnserver BIND9 kommer att hitta svaret på namnfrågor och komma ihåg svaret när domänen frågas igen.

  • som primärserver läser BIND9 data för en zon från en fil på sin värd och är auktoritativ för den zonen.

  • som en sekundär server får BIND9 zondata från en annan namnserver som är auktoritativ för zonen.

översikt

DNS-konfigurationsfilerna lagras i katalogen/etc/bind., Den primära konfigurationsfilen är /etc/bind/named.conf, som i layouten som tillhandahålls av paketet bara innehåller dessa filer.

de rotnamnservrar som används för att beskrivas i filen/etc/bind/db.root. Detta tillhandahålls nu istället av /usr/share/dns/root.hints – filen som levereras med dns-root-data – paketet och refereras till i konfigurationsfilen named.conf.default-zones ovan.

det är möjligt att konfigurera samma server som en cachningsserver, primär och sekundär: allt beror på de zoner Den serverar., En server kan vara början på myndigheten (SOA)för en zon, samtidigt som sekundär tjänst för en annan zon. Samtidigt som caching tjänster för värdar på det lokala LAN.

Caching Nameserver

standardkonfigurationen fungerar som en cachningsserver. Helt enkelt Avkommentera och redigera /etc/bind/named.conf.options för att ställa in IP-adresserna för din Internetleverantörs DNS-servrar:

forwarders { 1.2.3.4; 5.6.7.8;};

notera

ersätt 1.2.3.4 och 5.6.7.8 med IP-adressen till din Internetleverantör.adresser till faktiska namnservrar.,

för att aktivera den nya konfigurationen, starta om DNS-servern. Från en terminal prompt:

sudo systemctl restart bind9.service

se dig för information om att testa en caching DNS-server.

primär Server

i det här avsnittet kommer BIND9 att konfigureras som primär server för domänenexample.com. Ersätt bara example.com med ditt FQDN (fullständigt kvalificerat domännamn).,

framåtriktad zonfil

för att lägga till en DNS-zon till BIND9, vrida BIND9 till en primär server, först redigera/etc/bind/named.conf.local:

zone "example.com" { type master; file "/etc/bind/db.example.com";};

notera

om bind kommer att få automatiska uppdateringar av filen som med DDNS, använd sedan I stället för/etc/bind/db.example.com både här och i kommandot Kopiera nedan.,

använd nu en befintlig zonfil som mall för att skapa filen/etc/bind/db.example.com:

sudo cp /etc/bind/db.local /etc/bind/db.example.com

redigera den nya zonfilen/etc/bind/db.example.com och ändralocalhost. till den nya zonfileniv id=”FQDN på din server, lämnar ytterligare . I slutet., Ändra127.0.0.1 till namnserverns IP-adress ochroot.localhost till en giltig e-postadress, men med en. I stället för den vanliga@ symbol, återigen lämnar. I slutet. Ändra kommentaren för att ange domänen som den här filen är för.

skapa en post för basdomänen,example.com. Skapa också en post förns.example.com, namnservern i det här exemplet:

Du måste öka serienumret varje gång du gör ändringar i zonfilen., Om du gör flera ändringar innan du startar BIND9, helt enkelt öka serienumret en gång.

Nu kan du lägga till DNS-poster i botten av zonfilen. Mer information finns i vanliga posttyper.,

notera

många administratörer gillar att använda det senaste datumet som redigerats som serienumret för en zon, till exempel 2020012100 vilket är yyyymmddss (där ss är serienumret)

När du har gjort ändringar i zonen fil BIND9 måste startas om för att ändringarna ska träda i kraft:

sudo systemctl restart bind9.service

reverse zone file

nu när zonen är inställd och löser namn till IP-adresser måste en omvänd zon läggas till så att DNS kan lösa en adress till ett namn.,

redigera/etc/bind/named.conf.localoch Lägg till följande:

zone "1.168.192.in-addr.arpa" { type master; file "/etc/bind/db.192";};

notera

ersätt 1.168.192 med de tre första oktetterna i vilket nätverk du än använder. Namnge också zonfilen /etc/bind/db.192 på lämpligt sätt. Det ska matcha den första oktetten i ditt nätverk.,

SKAPA NU filen /etc/bind/db.192:

sudo cp /etc/bind/db.127 /etc/bind/db.192

nästa redigera /etc/bind/db.192 ändra samma alternativ som /etc/bind/db.example.com:

serienumret i det omvända fältet iv id = ” zonen måste ökas på varje förändring också. För varje A-post du konfigurerar i/etc/bind/db.example.com, det vill säga för en annan adress, måste du skapa en PTR-post i/etc/bind/db.192.,

Efter att ha skapat reverse zone file restart BIND9:

sudo systemctl restart bind9.service

sekundär Server

När en primär Server har konfigurerats rekommenderas en sekundär Server för att bibehålla tillgängligheten för domänen om den primära blir otillgänglig.

först måste zonöverföringen tillåtas på den primära servern., Lägg till alternativetallow-transfer till exemplet framåt och bakåt zondefinitioner i/etc/bind/named.conf.local:

notera

ersätt192.168.1.11 med IP-adressen för din sekundära namnserver.

Starta om BIND9 på den primära servern:

sudo systemctl restart bind9.service

Installera sedan bind9-paketet på den sekundära servern på samma sätt som på den primära servern., Redigera sedan /etc/bind/named.conf.local och Lägg till följande deklarationer för de främre och omvända zonerna:

Obs

ersätt 192.168.1.10 med IP-adressen för din primära namnserver.,

Starta om BIND9 på den sekundära servern:

sudo systemctl restart bind9.service

i/var/log/syslog bör du se något som liknar följande (vissa rader har delats upp för att passa formatet på det här dokumentet):

Obs!

Obs! en zon överförs endast om serienumret på den primära är större än det på den sekundära., Om du vill ha din primära DNS-anmälan till andra sekundära DNS-servrar med zonändringar kan du lägga till also-notify { ipaddress; }; till /etc/bind/named.conf.local som visas i exemplet nedan:

Obs

standardkatalogen för icke-auktoritativa zonfiler är

. Den här katalogen är också konfigurerad i AppArmor för att tillåta den namngivna demonen att skriva till den. För mer information om AppArmor se säkerhet – AppArmor.,

felsökning

det här avsnittet omfattar diagnostisering av problem med DNS-och BIND9-konfigurationer.

testa

resolv.conf

det första steget i att testa BIND9 är att lägga till namnserverns IP-adress till en värddator resolver. Den primära namnservern ska konfigureras såväl som en annan värd för att dubbelkolla saker. Se DNS-klientkonfiguration för mer information om hur du lägger till namnserveradresser till dina nätverksklienter., I slutändan bör dinnameserver linje i/etc/resolv.conf peka på127.0.0.53 och du bör ha ensearch parameter för din domän. Ungefär så här:

nameserver 127.0.0.53search example.com

för att kontrollera vilken DNS-server din lokala resolver använder, Kör:

systemd-resolve --status

Obs

Du bör också lägga till IP-adressen för den sekundära namnservern i din klientkonfiguration om den primära blir otillgänglig.,

gräva

om du har installerat dnsutils-paketet kan du testa din inställning med hjälp av DNS lookup utility dig:

  • När du har installerat BIND9 använd dig mot loopback-gränssnittet för att se till att det lyssnar på port 53.,i>

    om du har konfigurerat BIND9 som en Cachningsnamnserver ”dig” en extern domän för att kontrollera frågetiden:

    dig ubuntu.com

    notera frågetiden mot slutet av kommandoutmatningen:

    ;; Query time: 49 msec

    efter en andra grävning bör det finnas förbättringar:

    ;; Query time: 1 msec
  • om du har konfigurerat BIND9 som en Cachningsnamnserver”dig”en extern domän för att kontrollera frågetiden:

dig ubuntu.com

ul>

ping

nu för att visa hur program använder DNS för att lösa ett värdnamn använd ping-verktyget för att skicka en ICMP echo-begäran:

ping example.com

detta test om namnservern kan lösa namnet ns.example.com till en IP-adress., Kommandoutgången ska likna:

named-checkzone

ett bra sätt att testa dina zonfiler är att använda verktyget named-checkzone installerat med paketet bind9. Med det här verktyget kan du se till att konfigurationen är korrekt innan du startar BIND9 och gör ändringarna levande.,

  • för att testa vårt exempel framåt zon fil ange följande från en kommandotolk:

    named-checkzone example.com /etc/bind/db.example.com

    om allt är korrekt konfigurerad bör du se utdata som liknar:

    zone example.com/IN: loaded serial 6OK
  • På samma sätt, för att testa omvänd zon fil ange följande:

    named-checkzone 1.168.192.in-addr.arpa /etc/bind/db.192

    >

    utgången ska likna:

    zone 1.168.192.in-addr.arpa/IN: loaded serial 3OK

Obs

serienumret för din zonfil kommer förmodligen att vara annorlunda.,

snabb tillfällig frågeloggning

med verktygetrndc kan du snabbt aktivera och inaktivera frågeloggning utan att starta om tjänsten eller ändra konfigurationsfilen.

för att aktivera frågeloggning, kör:

sudo rndc querylog on

För att stänga av den, kör:

sudo rndc querylog off

loggarna kommer att skickas till syslog och kommer att dyka upp i/var/log/syslog som standard:

notera

mängden loggar som genereras genom att aktiveraquerylog kan vara enorm!,

loggning

BIND9 har ett brett utbud av loggning konfigurationsalternativ tillgängliga, men de två viktigaste är kanal och kategori, som konfigurerar var loggar går, och vilken information loggas respektive.

om inga loggningsalternativ har konfigurerats är standardkonfigurationen:

logging { category default { default_syslog; default_debug; }; category unmatched { null; };};

låt oss istället konfigurera BIND9 för att skicka felsökningsmeddelanden relaterade till DNS-frågor till en separat fil.

Vi måste konfigurera en kanal för att ange vilken fil som ska skickas meddelandena till och en kategori., I det här exemplet loggar kategorin alla frågor. Redigera /etc/bind/named.conf.local och Lägg till följande:

logging { channel query.log { file "/var/log/named/query.log"; severity debug 3; }; category queries { query.log; };};

notera

felsökningsalternativet kan ställas in från 1 till 3. Om en nivå inte anges är Nivå 1 standard.,

  • eftersom den namngivna demonen körs som bindanvändare måste katalogen/var/log/named skapas och ägandet ändras:

    sudo mkdir /var/log/namedsudo chown bind:bind /var/log/named
  • Starta om BIND9 för att ändringarna ska träda i kraft:

  • Starta om BIND9 för att ändringarna ska träda i kraft:

    sudo systemctl restart bind9.service

Du bör se filen /var/log/named/query.log fyll i frågeinformation. Detta är ett enkelt exempel på bind9 loggningsalternativ. För täckning av avancerade alternativ se mer information.,

vanliga posttyper

det här avsnittet omfattar några av de vanligaste DNS-posttyperna.

  • A – post: den här posten mappar en IP-adress till ett värdnamn.

    www IN A 192.168.1.12
  • CNAME record: används för att skapa ett alias till en befintlig a-post. Du kan inte skapa en CNAME – post som pekar på en annan CNAME – post.

    web IN CNAME www
  • MX record: används för att definiera var e-post ska skickas till., Måste peka på enA – post, inte enCNAME.

    @ IN MX 1 mail.example.com.mail IN A 192.168.1.13
  • NS record: används för att definiera vilka servrar som tjänar kopior av en zon. Det måste peka på en A – post, inte en CNAME. Det är där primära och sekundära servrar definieras.

    @ IN NS ns.example.com.@ IN NS ns2.example.com.ns IN A 192.168.1.10ns2 IN A 192.168.1.11

mer Information

  • uppströms BIND9 dokumentation

  • Bind9.net har länkar till en stor samling av DNS och BIND9 resurser.,

  • DNS and BIND är en populär bok nu i sin femte upplaga. Det finns nu också en DNS och BIND på IPv6 bok.

  • ett bra ställe att be om BIND9 hjälp, och engagera sig med Ubuntu Server community, är #ubuntu-server IRC kanal på freenode.

Senast uppdaterad för 10 månader sedan. Bidra till att förbättra detta dokument i forumet.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Hoppa till verktygsfältet