Domain Name Service (DNS) (Română)

Domain Name Service (DNS) este un serviciu de Internet care mapează adrese IP și nume de domenii complet calificate (FQDN) unul cu altul. În acest fel, DNS atenuează necesitatea de a vă aminti adresele IP. Calculatoarele care rulează DNS se numesc servere de nume. Ubuntu este livrat cu BIND (Berkley Internet Naming Daemon), cel mai frecvent program folosit pentru menținerea unui server de nume pe Linux.,

La un terminal prompt, introduceți următoarea comandă pentru a instala dns:

sudo apt install bind9

Un foarte util pachet pentru testare și depanare probleme de DNS este dnsutils pachet. Foarte adesea, aceste instrumente vor fi instalate deja, dar să verifice și/sau să instalați dnsutils introduceți următoarele:

sudo apt install dnsutils

Configurare

Există multe modalități de a configura BIND9. Unele dintre cele mai comune configurații sunt un nameserver de cache, server primar și server secundar.,

  • atunci când este configurat ca un server de nume caching BIND9 va găsi răspunsul la interogări de nume și amintiți-vă răspunsul atunci când Domeniul este interogat din nou.

  • ca server principal, BIND9 citește datele pentru o zonă dintr-un fișier de pe gazda sa și este autoritar pentru acea zonă.

  • ca server secundar, BIND9 primește datele zonei de la un alt nameserver care este autoritar pentru zonă.

Prezentare generală

fișierele de Configurare DNS sunt stocate în directorul /etc/bind., Fișierul de configurare principal este /etc/bind/named.conf, care în aspectul furnizat de pachet include doar aceste fișiere.

serverele de nume rădăcină folosite pentru a fi descrise în fișierul /etc/bind/db.root. Acest lucru este acum prevăzută în loc de /usr/share/dns/root.hints fișier livrate cu dns-root-data pachet, și se face referire în named.conf.default-zones fișier de configurare de mai sus.

este posibil să configurați același server pentru a fi un server de nume de cache, primar și secundar: totul depinde de zonele pe care le servește., Un server poate fi începutul Autorității (SOA) pentru o zonă, oferind în același timp servicii secundare pentru o altă zonă. Toate în timp ce furnizarea de servicii de cache pentru gazde pe LAN locală.

Caching Nameserver

configurația implicită acționează ca un server de caching. Pur și simplu decomentați și edita /etc/bind/named.conf.options pentru a seta adresele IP pentru serverele DNS ISP-ului:

forwarders { 1.2.3.4; 5.6.7.8;};

Nota

Replace 1.2.3.4 și 5.6.7.8 cu Adresele IP reale servere de nume.,

pentru a activa noua configurație, reporniți serverul DNS. De la un prompt terminal:

sudo systemctl restart bind9.service

consultați dig pentru informații despre testarea unui server DNS în cache.

Serverul Primar

În această secțiune BIND9 va fi configurat ca server Primar pentru domeniul example.com. Pur și simplu înlocuiți example.com cu FQDN (nume de domeniu complet calificat).,

Înainte Zonă de Fișier

Pentru a adăuga o zona DNS pentru a BIND9, transformându-BIND9 într-un server Primar, prima editare /etc/bind/named.conf.local:

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

Nota

Dacă se leagă vor primi automat actualizări de la dosar și cu DDNS, apoi, utilizați /var/lib/bind/db.example.com mai degrabă decât /etc/bind/db.example.com atât aici, cât și în copia de comandă de mai jos.,

Acum folosesc un existent zona de fișier ca șablon pentru a crea /etc/bind/db.example.com fișier:

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

Editare noua zonă de fișier /etc/bind/db.example.com și de a schimba localhost. la FQDN de server-ul dvs., lăsând suplimentare . la sfârșitul anului., Schimba 127.0.0.1 la nameserver Adresa IP și root.localhost la o adresă de email validă, dar cu un . în loc de @ simbol, din nou, lăsând . la sfârșitul anului. Modificați comentariul pentru a indica domeniul pentru care este destinat acest fișier.

creați o înregistrare A pentru domeniul de bază, example.com. De asemenea, creați o înregistrare A pentru ns.example.com, serverul de nume din acest exemplu:

trebuie să incrementați Numărul de serie de fiecare dată când faceți modificări la fișierul de zonă., Dacă efectuați mai multe modificări înainte de a reporni BIND9, pur și simplu incrementați seria o dată.

acum, Puteți adăuga înregistrări DNS în partea de jos a fișierului zonă. A se vedea tipuri comune de înregistrare pentru detalii.,

Nota

Multi admini ca pentru a folosi ultima data editat ca serial de o zonă, cum ar fi 2020012100 care este yyyymmddss (unde ss este Numărul de Serie)

după ce ați făcut modificări la fișierul de zonă BIND9 trebuie să fie repornit pentru ca modificările să aibă efect:

sudo systemctl restart bind9.service

Inversă Zona de Fișier

Acum că zona este de configurare și rezolvare a numelor în Adrese IP, un Revers zona trebuie să fie adăugat pentru a permite DNS pentru a rezolva o adresa un nume.,

Editare /etc/bind/named.conf.local și se adaugă următoarele:

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

Nota

Replace 1.168.192 cu primii trei octeti din orice rețea pe care îl utilizați. De asemenea, denumiți corespunzător fișierul de zonă /etc/bind/db.192. Ar trebui să se potrivească cu primul octet al rețelei dvs.,

Acum crea /etc/bind/db.192 fișier:

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

apoi editați /etc/bind/db.192 schimbarea aceleași opțiuni ca /etc/bind/db.example.com:

Numărul De Serie în Marșarier zonă trebuie să fi incrementat la fiecare modificare la fel de bine. Pentru fiecare înregistrare pe care o configurați în /etc/bind/db.example.com, adică pentru o altă adresă, trebuie să creați o înregistrare PTR în /etc/bind/db.192.,

După crearea inversă zona de fișier BIND9 restart:

sudo systemctl restart bind9.service

Server Secundar

Odată ce un Primar Serverul a fost configurat un Server Secundar este foarte recomandat pentru a menține disponibilitatea de domeniu ar trebui să Primară devin indisponibile.

În primul rând, pe serverul principal, transferul de zonă trebuie să fie permis., Adaugă allow-transfer opțiune de exemplu Înainte și înapoi zona de definiții în /etc/bind/named.conf.local:

Nota

Replace 192.168.1.11 cu Adresa IP a server de nume Secundar.

BIND9 Restart la serverul Primar:

sudo systemctl restart bind9.service

Apoi, pe serverul Secundar, instalați bind9 pachet același mod ca și pe Primar., Apoi editați /etc/bind/named.conf.local și adăugați următoarele declarații pentru Înainte și înapoi zone:

Nota

Replace 192.168.1.10 cu Adresa IP a dvs. Principal nameserver.,

BIND9 Restart pe server Secundar:

sudo systemctl restart bind9.service

În /var/log/syslog ar trebui să vezi ceva similar cu următoarele (unele linii au fost împărțite pentru a se potrivi formatul acestui document):

Nota

Notă: O zonă este transmisă numai dacă Numărul de Serie de pe Primar este mai mare decât cel de pe piața Secundară., Dacă doriți să aveți DNS Primar notificarea alte Servere DNS Secundare din zona modificări, puteți adăuga also-notify { ipaddress; }; și /etc/bind/named.conf.local așa cum se arată în exemplul de mai jos:

Nota

directorul implicit pentru non-autoritar fișiere zona este /var/cache/bind/. Acest director este, de asemenea, configurat în AppArmor pentru a permite daemonului numit să-l scrie. Pentru mai multe informații despre AppArmor, consultați Security – AppArmor.,

depanarea

această secțiune acoperă diagnosticarea problemelor cu configurațiile DNS și BIND9.

testare

resolv.conf

primul pas în testarea BIND9 este de a adăuga adresa IP nameserver la un resolver gazde. Serverul de nume primar ar trebui să fie configurat, precum și o altă gazdă pentru a verifica dublu lucrurile. Consultați configurația clientului DNS pentru detalii despre adăugarea adreselor serverului de nume clienților dvs. de rețea., În cele din urmă nameserver linie /etc/resolv.conf ar trebui să fie îndreptate la 127.0.0.53 și ar trebui să aveți un search parametru pentru domeniu. Ceva de genul asta:

nameserver 127.0.0.53search example.com

Pentru a verifica ce server DNS local resolver este folosind, run:

systemd-resolve --status

Nota

ar trebui să adăugați, de asemenea, Adresa IP a unui server de nume Secundar pentru clientul dvs. de configurare în cazul în care Primar devine indisponibil.,

sape

Dacă ați instalat dnsutils pachetului puteți testa configurarea folosind DNS lookup utilitate sape:

  • După instalarea BIND9 folosi sape împotriva interfața loopback pentru a vă asigura că este de a asculta pe portul 53.,i>

    Dacă ați configurat BIND9 ca un Caching-nameserver „sape” în afara domeniului pentru a verifica timpul de interogare:

    dig ubuntu.com

    Notă timpul de interogare spre sfârșitul comanda de ieșire:

    ;; Query time: 49 msec

    După un al doilea dig acolo ar trebui să fie îmbunătățirea:

    ;; Query time: 1 msec

ping

Acum, pentru a demonstra cât de aplicații de a face utilizarea de DNS pentru a rezolva un nume de gazdă folosiți utilitarul ping pentru a trimite un mesaj ICMP echo request:

ping example.com

Acest testează dacă nameserver poate rezolva numele ns.example.com la o Adresă IP., Comanda de ieșire ar trebui să semene cu:

named-checkzone

O modalitate foarte bună de a testa zona de fișiere este prin utilizarea named-checkzone utilitar instalat cu bind9 pachet. Acest utilitar vă permite să vă asigurați că configurația este corectă înainte de a reporni BIND9 și de a face modificările live.,

  • Pentru a testa exemplul nostru Înainte de fișiere zona introduceți următoarele informații de la un prompt de comandă:

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

    Dacă totul este configurat corect, ar trebui să vezi ceva asemănător cu:

    zone example.com/IN: loaded serial 6OK
  • în mod Similar, pentru a testa Inversă zona de fișier introduceți următoarele:

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

    rezultatul ar trebui să fie similare cu:

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

Nota

Numărul de Serie de Pe zona de fișier va fi, probabil, diferit.,

Rapid temporară de interogare logare

Cu rndc instrument, puteți transforma rapid interogare de logare pe și în afara, fără a reporni serviciul sau schimbarea fișier de configurare.

Pentru a transforma interogare de logare pe, a alerga:

sudo rndc querylog on

de Asemenea, să-l opriți, run:

sudo rndc querylog off

busteni va fi trimis la syslog și va apărea în /var/log/syslog în mod implicit:

Nota

cantitatea de busteni generate prin activarea querylog ar putea fi foarte mare!,

Logare

BIND9 are o mare varietate de exploatarea opțiuni de configurare disponibile, dar principalele două sunt cele canal și categorie, care configurează în cazul în care jurnalele du-te, și ce informații se înregistrează, respectiv.

Dacă nu logare opțiuni sunt configurate implicit de configurare este:

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

în loc Să configurați BIND9 pentru a trimite mesaje de depanare legate de interogări DNS într-un fișier separat.

trebuie să configurăm un canal pentru a specifica ce fișier să trimită mesajele și o categorie., În acest exemplu, categoria va înregistra toate interogările. Edit /etc/bind/named.conf.local și se adaugă următoarele:

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

Nota

opțiunea De depanare poate fi setat de la 1 la 3. Dacă un nivel nu este specificat, nivelul 1 este implicit.,

  • Deoarece numit daemon rulează ca se leaga de utilizator /var/log/named director trebuie să fie creat și dreptul de proprietate s-a schimbat:

    sudo mkdir /var/log/namedsudo chown bind:bind /var/log/named
  • Acum BIND9 restart pentru ca modificările să aibă efect:

    sudo systemctl restart bind9.service

ar trebui să vedeți fișierul /var/log/named/query.log umple cu informații de interogare. Acesta este un exemplu simplu de opțiuni de logare BIND9. Pentru acoperirea opțiunilor avansate, consultați mai multe informații.,

tipuri comune de înregistrări

această secțiune acoperă unele dintre cele mai comune tipuri de înregistrări DNS.

  • A înregistrare: această înregistrare mapează o adresă IP la un nume de gazdă.

    www IN A 192.168.1.12
  • CNAME record: Folosit pentru a crea un alias pentru un existent înregistrare. Nu puteți crea o înregistrare CNAMEindicând o altă înregistrare CNAME.

    web IN CNAME www
  • MX record: Folosit pentru a defini în cazul în care e-mail ar trebui să fie trimise., Trebuie să indice un Aînregistrare, nu unCNAME.

    @ IN MX 1 mail.example.com.mail IN A 192.168.1.13
  • NS record: Folosit pentru a defini ce servere servi copii ale unei zone. Trebuie să indice un Aînregistrare, nu unCNAME. Aici sunt definite serverele primare și secundare.

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

Mai multe Informatii

  • în Amonte BIND9 Documentare

  • Bind9.net are legături cu o mare colecție de DNS BIND9 și resurse.,DNS și BIND este o carte populară acum în a cincea ediție. Acum există și un DNS și BIND pe cartea IPv6.

  • un loc minunat pentru a cere asistență BIND9 și pentru a vă implica în comunitatea serverului Ubuntu, este canalul IRC #ubuntu-server de pe freenode.

Ultima actualizare 10 luni în urmă. Ajutați la îmbunătățirea acestui document pe forum.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Sari la bara de unelte