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
și5.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 înregistrareCNAME
indicând o altă înregistrareCNAME
.web IN CNAME www
-
MX
record: Folosit pentru a defini în cazul în care e-mail ar trebui să fie trimise., Trebuie să indice unA
î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 unA
î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.