Configurarea serverului DNS pe ubuntu

În acest articol ne vom uita la una dintre următoarele variante de implementare server DNS bazate pe LAN Ubuntu (I 14.04.3 LTS) și bind9. Pentru cele mai multe alte distribuții vor fi diferențe minime la Debian-ca ei nu vor fi deloc. Dacă ați citit deja articolul anterior privind configurarea serverului DHCP. știi că inițial am instalat un dnsmasq de distribuție neacceptată, care sa decis să fie înlocuit. De la ultima dată când am îndepărtat dnsmasq (și el a fost la fel de DHCP și DNS - server, la care, de altfel, nu a fost configurat în mod corespunzător și nu funcționează), atunci era nevoie de DNS, ceea ce am decis să fac în timpul liber. Configurarea DNS durează mai mult timp, dar numai din cauza numărului mai mare de fișiere de configurare.

Și astfel, să începem. Sistemul actualizam primul lucru (update pachet):

sudo apt-get update sudo apt-get upgrade -y

Acum setați bind9 serverul DNS:

sudo apt-get install bind9

Acum puteți crea o cheie pentru alți demoni pot actualiza DNS-înregistrare acest server. Acesta poate fi alte servere în rețea și alte servicii de același server. La mine este instalat local ca un server DHCP. În teorie de securitate, fiecare serviciu sau server, aveți nevoie pentru a genera cheia, atunci când unul dintre ei este compromis, acesta poate fi ușor pentru a bloca, iar restul va continua să lucreze. Dar, în cazul meu înregistrările actualizare va fi numai a mea ca un server DHCP, așa că am genera doar o singură cheie:

DNSSEC-keygen -a HMAC-MD5 -B 128 -r / dev / urandom DHCP_UPDATER USER -N

directorul home al utilizatorului, care a fost lansat de către echipa va fi de 2 fișiere:

-rw ------- 1 utilizator 54 ianuarie. 21 12:17 Kdhcp_updater. + 157 + 55379.key
-rw ------- utilizator 1 utilizator 165 în luna ianuarie. 21 12:17 Kdhcp_updater. + 157 + 55379.private

Fișierele lasa-l mint, ei nu vor fi pierdute. Pentru a vedea cheia necesară, rulați:

Veți vedea despre un astfel de conținut, valoarea KDE „cheie“ este cheia necesară:

Configurarea serverului DNS pe ubuntu

sudo cp /etc/bind/named.conf.options /etc/bind/named.conf.options.dist sudo /etc/bind/named.conf.options nano

Adăugați următoarele linii:

Luați în considerare aceste secțiuni:

În nano, se pare ca acest lucru:

Configurarea serverului DNS pe ubuntu

Păstrarea de configurare. Acum puteți reporni serviciul DNS:

sudo serviciu bind9 repornire

Acum, serverul nostru se execută ca un cache DNS, trebuie să-l specificați ca DNS-server pentru orice client din rețeaua noastră. Verificați munca sa, pentru care se va potrivi orice calculator din rețea sau serverul în sine. Voi arăta un exemplu de o stație de lucru cu Windows 7. Am apăsați Win + R, în fereastra care apare, scrie CMD, ferestre coajă rula. Trimite un mesaj pentru următoarele:

Tu, desigur, scrie IP-ul serverului. Porniți consola DNS utilitar de diagnostic pentru Windows - nslookup, și nu un server DNS va fi utilizat ca DNS-ul, așa cum este specificat în parametrul. Nslookup este bun pentru că trimite cereri către server, fără a trece prin DNS-cache necesară pentru Windows. În primul rând verifica eficiența interogări DNS directe:

Apoi, performanța inversă a interogărilor:

În cmd.exe arată astfel:

Configurarea serverului DNS pe ubuntu

Dacă sunt toate exact la fel, înseamnă că DNS are deja funcționează mare ca un server de cache. În cazul google.ru putem vedea, de asemenea, că serverul nostru este capabil să rezolve și IPv6.

Acum trebuie să-i spuneți serverul dvs. de a utiliza ca DNS în sine. Făcând acest lucru, el va loopback interfață. Pentru a face acest lucru avem nevoie pentru a schimba fișierul /etc/resolv.conf, dar să-l schimbi tu însuți nu are nici un sens, din moment ce repornirea va repara vseravno administrator de rețea. Prin urmare, vom edita / etc / network / interfaces:

sudo nano / etc / network / interfaces

Găsim există o secțiune cu o interfață LAN (a mea este eth0), de adăugare sau modifica următoarele linii:

-nameserverele 127.0.0.1 dns
ordaupfin.local dns-search

* În loc ordaupfin.local indicați domeniul sau grupul de lucru.

Ar trebui să arate ca a mea:

Configurarea serverului DNS pe ubuntu

Acum, dacă sunteți direct la consola de server reporni fizic suficient echipa de servicii de rețea:

sudo repornire de servicii de rețea

Și dacă sunteți conectat la server prin SSH (I), sesiunea activă nu va permite serviciului pentru a reporni, așa că va trebui să reporniți serverul:

Acum puteți verifica dacă serverul trimite într-adevăr un DNS-cererile de sine, în terminale scrie:

Dacă serverul a scris ultima linie: 127.0.0.1 - înseamnă totul este configurat corect. Așa ar trebui să arate să sape google.ru de evacuare:

Configurarea serverului DNS pe ubuntu

Dacă faci un dig google.ru în mod repetat, veți vedea că timpul de execuție interogare a redus în mod semnificativ. Acest lucru se datorează faptului că toate cererile ulterioare de același server de domeniu vor fi preluate din cache-ul fără a trimite o cerere la serverul superior.

sudo cp /etc/bind/db.local /var/lib/bind/db.ordaupfin.local sudo nano /var/lib/bind/db.ordaupfin.local

Noi da la acest formular (nu uitați să specificați datele dumneavoastră în loc de original):

sudo cp /etc/bind/db.127 /var/lib/bind/db.192 sudo nano /var/lib/bind/db.192

Și da forma următoare:

Acum, aceste zone trebuie să se înregistreze în serverul principal configurat să la începutul ulterior el știa despre existența lor. Pentru a face acest lucru, deschideți /etc/bind/named.conf.local de editare

sudo cp /etc/bind/named.conf.local /etc/bind/named.conf.local.dist sudo nano /etc/bind/named.conf.local

Și adaugă la acest conținut:

DHCP_UPDATER cheie <
Algoritmul HMAC-MD5.SIG-ALG.REG.INT;
secret "s5Efp / - / - / - / wQtvg9rR7Q ==";
>;

zonă „ordaupfin.local“ <
tip de master;
fișier "/var/lib/bind/db.ordaupfin.local";
permite-actualizare ;
>;

Va arata astfel:

Configurarea serverului DNS pe ubuntu

Salvați și reporniți serverul:

sudo serviciu bind9 repornire

Verificați funcționarea serverului:

Gazele de evacuare trebuie să fie:

Server: 127.0.0.1
Adresa: 127.0.0.1 # 53

Nume: ubunturoute.ordaupfin.local
Adresa: 192.168.0.231

Server: 127.0.0.1
Adresa: 127.0.0.1 # 53

Numele 231.0.168.192.in-addr.arpa = ubunturoute.ordaupfin.local.

Dacă faci totul exact așa cum este aproape gata. Aproape, pentru că acum avem de a face ca server DHCP poate actualiza DNS-înregistrările atunci când sunt noi clienți. Voi lua în considerare stabilirea exemplul dat de meu isc-dhcp-server. Editați /etc/dhcp/dhcpd.conf:

sudo nano /etc/dhcp/dhcpd.conf

Și pentru a insera următorul conținut:

DDNS-update-style intermediar;
actualizați-statice subleasing pe;
DHCP_UPDATER cheie <
Algoritmul HMAC-MD5;
secret "s5EfpF53BBE9 / - / tvg9rR7Q ==";
> Zona ordaupfin.local. <
127.0.0.1 primar;
DHCP_UPDATER cheie;
> Zona 0.168.192.in-addr.arpa. <
127.0.0.1 primar;
DHCP_UPDATER cheie;
>

Desigur, trebuie să înlocuiască propriile valori. Apoi reporniți DNS și serverul DHCP. Dacă serverul a fost pornit fără erori - toate prezentate. Dacă serverul nu pornește - uite aproape în configs, în plus față de diagnosticul erorilor vă va ajuta foarte mult syslog:

Coada -f / var / log / syslog

Vă mulțumesc pentru atenție!