DNS și DHCP în CentOS 7 - rețele SMB

Index general al seriei: Rețele de calculatoare pentru IMM-uri: Introducere

Salut prieteni! În acest articol, vom vedea cum se implementează importantele servicii de rețea DNS și DHCP în CentOS Linux, în special versiunea 7.2.

  • Unele articole despre DNS se referă la faptul că implementarea acestui serviciu este puțin obscură și dificilă. Nu sunt foarte de acord cu această afirmație. Aș prefera să spun că este un pic conceptual și că multe dintre fișierele sale de configurare au o sintaxă complicată. Din fericire, avem instrumente pentru a verifica, pas cu pas, sintaxa fiecărui fișier de configurare pe care îl modificăm. Prin urmare, vom încerca să citim această postare cât mai plăcută și mai plăcută posibil..

Pentru cei care caută elementele de bază ale ambelor servicii, vă recomandăm cu tărie să începeți căutarea pe Wikipedia, atât în ​​versiunile sale spaniole, cât și în engleză. Nu este mai puțin adevărat că articolele în limba engleză sunt aproape întotdeauna mai complete și mai coerente. Totuși, Wikipedia este un punct de plecare foarte bun.

Cei care doresc cu adevărat să învețe despre DNS și BIND sunt sfătuiți să citească cartea „ OReilly – DNS and BIND ediția a 4-a ” scrisă de Paul Albitz și Cricket Liu , sau o ediție ulterioară care cu siguranță există.

Am publicat deja un articol pe această temă intitulat „ DNS și DHCP în openSUSE 13.2 Harlequin – Rețele pentru IMM-uri ” pentru cei care preferă un mediu grafic. Cu toate acestea, de acum înainte, veți întâlni articole pe această temă – dar nu și altele – scrise cu utilizarea extensivă a unui emulator de terminal sau consolă. Cu alte cuvinte, în stilul clasic folosit de administratorii de sistem UNIX®/Linux.

Dacă doriți să aflați mai multe despre subiectul din titlul acestui articol, „ Rețele de IMM-uri ”, puteți vizita pagina „ Rețele de IMM-uri: Prima versiune virtuală ” de pe același blog . Acolo veți găsi link-uri către multe alte articole publicate.

  • După finalizarea instalării sistemului de operare CentOS 7 cu pachetele pe care le recomandăm, el director /usr/share/doc/bind-9.9.4/ Conține o cantitate bună de documentație pe care vă recomandăm să o consultați înainte de a vă aventura într-o căutare pe Internet fără să știți mai întâi că, la îndemână și în propria casă, puteți găsi ceea ce căutați.

Instalarea sistemului de bază

Date generale ale domeniului și serverului DNS

Numele domeniului: desdelinux.ventilator
Numele serverului DNS: dns.desdelinux.ventilator
Adresa IP: 192.168.10.5
Masca de subrețea: 255.255.255.0

Instalare

Începem cu o instalare nouă sau curată a sistemului de operare CentOS 7, așa cum este descris în articolul anterior „ CentOS 7 Hypervisor I – Rețele pentru IMM-uri ”. Trebuie doar să facem următoarele modificări:

  • În Imagen 22 «SELECȚIE SOFTWARE«, Vă recomandăm să alegeți în coloana din stânga«Mediu de bază»Opțiunea corespunzătoare unui«Server de infrastructură«, În coloana din dreapta«Pluginuri pentru mediu selectat»Bifați caseta de selectare«Server de nume DNS«. Vom instala serverul DHCP mai târziu.
  • Să ne amintim declarația de depozite suplimentare, așa cum se arată în Imagen 23, după setarea „REȚEAUA ȘI NUMELE ECHIPEI“.
  • Imaginile referitoare la partițiile pe care le vom crea pe hard disk-ul nostru sunt date doar ca ghiduri. Simțiți-vă liber să selectați partițiile la propria discreție, practică și judecată bună.
  • În cele din urmă, în Imaginea 13 «DENUMIRE DE REȚEA ȘI ECHIPĂ»Trebuie să modificăm valorile în funcție de parametrii generali ai domeniului declarat și ai serverului DNS, fără a uita să specificăm numele gazdei - în acest caz «dns«- după finalizarea configurării rețelei. Este pozitiv de făcut ping -de la o altă gazdă- la adresa IP specificată după ce rețeaua este activă:

DNS și DHCP pe CentOS

Există cu adevărat puține și foarte evidente schimbări pe care trebuie să le facem cu privire la articolul precedent.

Verificări și ajustări inițiale

După ce instalăm sistemul de operare, trebuie să examinăm cel puțin următoarele fișiere și, pentru aceasta, începem o sesiune prin SSH de pe computerul nostru administrator de sistem.desdelinux.ventilator:

buzz @ sysadmin: ~ $ ssh 192.168.10.5
[e-mail protejat]Parola lui: Ultima autentificare: Sâmbătă, 28 ianuarie 2017, ora 09:48:05, de la adresa 192.168.10.1
[buzz @ dns ~] $

Operația de mai sus poate dura mai mult decât în ​​mod normal și se datorează în principal faptului că nu avem încă un DNS pe LAN. Verificați din nou mai târziu dacă DNS funcționează.

[buzz @ dns ~] $ cat / etc / hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1 localhost localhost.localdomain localhost6 localhost6.localdomain6

[buzz @ dns ~] $ cat / etc / hostname
dns

[buzz @ dns ~] $ cat / etc / sysconfig / network-scripts / ifcfg-eth0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=946f5ac9-238a-4a94-9acb-9e3458c680fe
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.10.5
PREFIX=24
GATEWAY=192.168.10.1
DNS1=127.0.0.1
DOMAIN=desdelinux.fan

[buzz @ dns ~] $ cat /etc/resolv.conf 
# Generat de căutarea NetworkManager desdelinux.fan nameserver 127.0.0.1

Configurațiile principale reflectă selecțiile noastre. Rețineți că, chiar și pe un server Red Hat 7 – CentOS 7 , NetworkManager este configurat în mod implicit pentru a gestiona interfețele de rețea, fie prin cablu, fie fără fir (WiFi), conexiunile VPN, conexiunile PPPoE și orice altă conexiune de rețea.

[buzz @ dns ~] $ sudo systemctl status networkmanager
[sudo] parola pentru buzz: ● networkmanager.service Încărcat: nu a fost găsit (Motiv: nu există un astfel de fișier sau director) Activ: inactiv (mort)

[buzz @ dns ~] $ sudo systemctl status NetworkManager
● NetworkManager.service - Network Manager Încărcat: încărcat (/usr/lib/systemd/system/NetworkManager.service; activat; presetare furnizor: activată) Activ: activ (rulează) de sâmbătă 2017 01:28:12 EST; Acum 23min PID principal: 59 (NetworkManager) CGroup: /system.slice/NetworkManager.service └─12 / usr / sbin / NetworkManager --no-daemon

Red Hat – CentOS vă permite, de asemenea, să conectați și să deconectați interfețele de rețea folosind comenzile clasice `ifup` și `ifdown` . Să executăm următoarele comenzi într-o consolă de server:

[root @ dns ~] # ifdown eth0
Dispozitivul „eth0” a fost deconectat cu succes.

[root @ dns ~] # ifup eth0
Conexiunea activată cu succes (calea activă D-Bus: / org / freedesktop / NetworkManager / ActiveConnection / 1)
  • Noi sugerăm nu modificați setările implicite pe care CentOS 7 le oferă cu privire la Manager de rețea.

Declarăm definitiv depozitele pe care urmează să le folosim și actualizăm sistemul de operare, dacă este necesar:

[buzz @ dns ~] $ su Parolă: [root @ dns buzz] # cd /etc/yum.repos.d/
[root @ dns yum.repos.d] # ls -l
total 28 -rw-r - r--. 1 rădăcină rădăcină 1664 9 decembrie 2015 CentOS-Base.repo -rw-r - r--. 1 rădăcină rădăcină 1309 9 decembrie 2015 CentOS-CR.repo -rw-r - r--. 1 rădăcină rădăcină 649 9 decembrie 2015 CentOS-Debuginfo.repo -rw-r - r--. 1 rădăcină rădăcină 290 9 decembrie 2015 CentOS-fasttrack.repo -rw-r - r--. 1 rădăcină rădăcină 630 9 decembrie 2015 CentOS-Media.repo -rw-r - r--. 1 rădăcină rădăcină 1331 9 decembrie 2015 CentOS-Sources.repo -rw-r - r--. 1 rădăcină rădăcină 1952 9 decembrie 2015 CentOS-Vault.repo

Este sănătos să citiți conținutul fișierelor de declarație originale ale depozitelor recomandate de CentOS. Modificările pe care le facem aici se datorează faptului că nu avem acces la Internet, iar noi lucrăm cu depozite locale descărcate din Satul WWW, de către colegi care ne ușurează puțin viața. 

[root @ dns yum.repos.d] # mkdir original
[root @ dns yum.repos.d] # mv CentOS- * original /

[root @ dns yum.repos.d] # nano centos-repos.repo
[centos-base]
name=CentOS-$releasever
baseurl=http://10.10.10.1/repos/centos/7/base/
gpgcheck=0
enabled=1

[centos-updates]
name=CentOS-$releasever
baseurl=http://10.10.10.1/repos/centos/7/updates/x86_64/
gpgcheck=0
enabled=1

[root @ dns yum.repos.d] # yum curăță totul
Plugin-uri încărcate: fastestmirror, langpacks Curățarea depozitelor: centos-base centos-updates Curățarea tuturor

[root @ dns yum.repos.d] # yum update
Plugin-uri încărcate: fastestmirror, centp-langpacks | 3.4 kB 00:00 centos-actualizări | 3.4 kB 00:00 (1/2): centos-base / primary_db | 5.3 MB 00:00 (2/2): centos-updates / primary_db | 9.1 MB 00:00 Determinarea celor mai rapide oglinzi Nu există pachete marcate pentru actualizare

Mesajul „Nicio listă marcată pentru actualizare” indică faptul că, prin declararea celor mai recente repozitorii disponibile în timpul instalării, au fost instalate cele mai recente pachete.

Despre contextul SELinux și firewall-ul

Vom concentra acest articol - fundamental - pe implementarea serviciilor DNS și DHCP, care este obiectivul său principal.

Dacă vreun cititor a selectat o Politică de securitate în timpul procesului de instalare, așa cum se arată în Imaginea 06 a articolului de referință „ CentOS 7 Hypervisor I – SME Networks ” utilizat pentru instalarea acestui server DNS-DHCP și constată că nu știe cum să configureze corect SELinux și Firewall-ul CentOS, îi sugerăm să execute următoarele:

Modificați fișierul /etc/sysconfig/selinux și schimbați SELINUX=enforcing în SELINUX=disable

[root @ dns ~] # nano / etc / sysconfig / selinux
# Acest fișier controlează starea SELinux pe sistem. # SELINUX = poate lua una dintre aceste trei valori: # impunerea - politica de securitate SELinux este aplicată. # permisiv - SELinux tipărește avertismente în loc să aplice. # dezactivat - Nu este încărcată nicio politică SELinux.
SELINUX = dezactivat
# SELINUXTYPE = poate lua una din cele două valori: # targetate - Procesele vizate sunt protejate, # minim - Modificarea politicii vizate. Numai procesele selectate sunt pr $ # mls - protecție de securitate pe mai multe niveluri SELINUXTYPE = vizat

Apoi executați următoarele comenzi

[root @ dns ~] # setenforce 0
[root @ dns ~] # service firewalld stop
Redirecționarea către / bin / systemctl oprește firewalld.service

[root @ dns ~] # systemctl dezactivează firewalld
A fost eliminat linkul simbolic /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. A fost eliminat link-ul simbolic /etc/systemd/system/basic.target.wants/firewalld.service.

Dacă implementați un server DNS conectat la internet, NU ar trebui să urmați instrucțiunile de mai sus. În schimb, configurați corect contextul și firewall-ul SELinux. Consultați „Configurarea serverelor cu GNU/Linux” de Joel Barrios Dueñas sau documentația CentOS/Red Hat.

Configurăm BIND - denumit

  • El director /usr/share/doc/bind-9.9.4/ Conține o cantitate bună de documentație pe care vă recomandăm să o consultați înainte de a vă aventura într-o căutare pe Internet, fără să știți mai întâi că, la îndemână și în propria casă, puteți găsi ceea ce căutați

În multe distribuții, serviciul DNS instalat prin intermediul pachetului BIND se numește named ( Name Daemon ). În CentOS 7, acesta este instalat dezactivat în mod implicit, așa cum se arată în rezultatul următoarei comenzi, care precizează că starea sa este „ disabled ” și că această stare este predefinită de furnizorul său – prestabilirea furnizorului . Rețineți că BIND este software liber.

Activarea serviciului numit

[root @ dns ~] # systemctl status named
● named.service - Berkeley Internet Name Domain (DNS) Încărcat: încărcat (/usr/lib/systemd/system/named.service; invalid; presetare furnizor: dezactivat) Activ: inactiv (mort)

[root @ dns ~] # systemctl enable named
A fost creat un link simbolic de la /etc/systemd/system/multi-user.target.wants/named.service la /usr/lib/systemd/system/named.service.

[root @ dns ~] # systemctl start named

[root @ dns ~] # systemctl status named
● named.service - Berkeley Internet Name Domain (DNS) Încărcat: încărcat (/usr/lib/systemd/system/named.service; activat; presetare furnizor: dezactivat)
   Activ: activ (funcționare) de sâmbătă 2017 01:28:13 EST; Acum 22min Proces: 38 ExecStart = / usr / sbin / named -u named $ OPTIONS (cod = ieșit, status = 5 / SUCCES) Proces: 1990 ExecStartPre = / bin / bash -c if [! "$ DISABLE_ZONE_CHECKING" == "da"]; apoi / usr / sbin / named-checkconf -z /etc/named.conf; else echo "Verificarea fișierelor de zonă este dezactivată"; fi (cod = ieșit, stare = 0 / SUCCES) PID principal: 1988 (denumit) CGroup: /system.slice/named.service └─0 / usr / sbin / named -u named 1993 Jan 1993:28:13 dns named [22]: eroare (rețea inaccesibilă) rezolvând „./NS/IN”: 45: 1993: 2001f :: f # 500 2 ianuarie 53:28:13 dns numit [22]: eroare (rețea inaccesibil) rezolvând ”./ DNSKEY / IN ': 47: 1993: 2001 :: 500 # 3 42 ianuarie 53:28:13 dns numit [22]: eroare (inaccesibilă la rețea) rezolvând „./NS/IN”: 47: 1993: 2001 :: 500 # 3 42 ianuarie 53:28:13 dns numit [22]: eroare (inaccesibilă la rețea) rezolvând „./DNSKEY/IN”: 47: 1993: 2001d :: d # 500 2 ianuarie 53:28:13 dns numit [22 ]: eroare (rețea inaccesibilă) rezolvând „./NS/IN”: 47: 1993: 2001d :: d # ianuarie 500 2:53:28 dns numit [13]: eroare (rețea inaccesibilă) rezolvând „./DNSKEY/ IN ': 22: dc47 :: 1993 # 2001 3 ianuarie 35:53:28 dns numit [13]: eroare (inaccesibilă la rețea) rezolvând' ./NS/IN ': 22: dc47 :: 1993 # 2001 3 ianuarie 35: 53:28 dns numit [13]: eroare (rețea inaccesibilă) rezolvând „./DNSKEY/IN”: 22: 47fe :: 1993 # 2001 7 ian 53:53:28 dns numit [13]: eroare (rețea neaccesibilă) res olving './NS/IN': 22: 47fe :: 1993 # 2001 7 ianuarie 53:53:28 dns numit [13]: managed-keys-zone: Imposibil de preluat setul DNSKEY '.': expirat

[root @ dns ~] # systemctl repornire numită

[root @ dns ~] # systemctl status named
● named.service - Berkeley Internet Name Domain (DNS) Încărcat: încărcat (/usr/lib/systemd/system/named.service; activat; presetarea furnizorului: dezactivată)
   Activ: activ (funcționare) de sâmbătă 2017 01:28:13 EST; Acum 29 s Proces: 41 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 1> & 1449 || / bin / kill -TERM $ MAINPID (cod = ieșit, stare = 2 / SUCCES) Proces: 1 ExecStart = / usr / sbin / named -u numit $ OPȚIUNI (cod = ieșit, stare = 0 / SUCCES) Proces: 1460 ExecStartPre = / bin / bash -c dacă [! "$ DISABLE_ZONE_CHECKING" == "da"]; apoi / usr / sbin / named-checkconf -z /etc/named.conf; else echo "Verificarea fișierelor de zonă este dezactivată"; fi (cod = ieșit, stare = 0 / SUCCES) PID principal: 1457 (denumit) CGroup: /system.slice/named.service └─0 / usr / sbin / named -u named 1463 ianuarie 1463:28:13 dns named [29]: managed-keys-zone: fișierul jurnal este depășit: eliminarea fișierului jurnal 41 ian 1463:28:13 dns numit [29]: gestionat-chei-zonă: încărcat serial 41 ianuarie 1463 2:28:13 dns numit [29]: zona 41.in-addr.arpa/IN: încărcat serial 1463 0 ianuarie 0:28:13 dns denumit [29]: zonă localhost.localdomain / IN: încărcat serial 41 1463 ianuarie 0:28:13 dns named [29]: zone 41.in-addr.arpa/IN: serial încărcat 1463 1.0.0.127 ianuarie 0:28:13 dns named [29]: zone 41 .1463.ip1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.arpa / IN: încărcat serial 6 0 ianuarie 28:13:29 dns numit [41]: zone localhost / IN: încărcat serial 1463 0 ianuarie 28 : 13: 29 dns named [41]: toate zonele încărcate 1463 ianuarie 28:13:29 dns named [41]: rulare 1463 ianuarie 28:13:29 dns systemd [41]: Started Berkeley Internet Name Domain (DNS).

După activarea și pornirea serviciului named pentru prima dată, ieșirea comenzii `systemctl status named` afișează erori. Când repornim serviciul, named creează în mod implicit toate fișierele de configurare necesare pentru a funcționa corect. Prin urmare, când rulăm din nou comanda `systemctl status named` , nu mai sunt afișate erori.

  • Dragă, scumpă și pretențioasă Cititor: dacă doriți să aflați -cel puțin- care cale duce la capătul gropii iepurelui, vă rugăm să citiți cu calm ieșirile detaliate ale fiecărei comenzi.  Cu siguranta articolul va parea putin lung, dar nu veti nega ca castiga in explicatie si claritate.

Modificăm fișierul /etc/named.conf

Multe comentarii ale cititorilor exprimă - și nu sunt singurul care spune asta - obiceiul pe care îl au administratorii diferitelor distribuții Linux de a plasa fișierele de configurare a sistemului în foldere cu nume diferite, în funcție de distribuție. Au dreptate. Dar ce putem face noi, utilizatorii obișnuiți ai acestor distribuții? Ne adaptăm! 😉

De altfel, în FreeBSD, o clonă a UNIX® „The Origin”, fișierul se află în /usr/local/etc/namedb/named.conf ; în timp ce în Debian, pe lângă faptul că este împărțit în cele patru fișiere named.conf, named.conf.options, named.conf.default-zones și named.conf.local , acesta se găsește în folderul /etc/bind/ . Cei care vor să știe unde îl plasează openSUSE ar trebui să citească „ DNS și DHCP în openSUSE 13.2 Harlequin – SME Networks ”. Cititorii au dreptate! 😉

Și, așa cum facem întotdeauna: înainte de a modifica orice, salvăm fișierul de configurare original sub un alt nume.

[root @ dns ~] # cp /etc/named.conf /etc/named.conf.original

Pentru a simplifica lucrurile, în loc să generăm cheia TSIG pentru actualizări DNS dinamice prin DHCP, copiem aceeași rndc.key ca și dhcp.key.

[root @ dns ~] # cp /etc/rndc.key /etc/dhcp.key

[root @ dns ~] # nano /etc/dhcp.key
cheie "cheie dhcp" {algoritm hmac-md5; secret "OI7Vs + TO83L7ghUm2xNVKg =="; };

Pentru ca utilizatorul numit să poată citi fișierul nou copiat, modificăm grupul proprietar:

[root @ dns ~] # root chown: named /etc/dhcp.key [root @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 rădăcină numită 77 28 ianuarie 16:36 /etc/dhcp.key -rw-r -----. 1 rădăcină numită 77 28 ianuarie 13:22 /etc/rndc.key

Mici detalii precum precedentul sunt ceea ce ne poate înnebuni încercând să ne dăm seama, acum ... unde este problema ...? cu alte câteva adjective, pe care nu le scriem din respect pentru Respectabil.

Acum, în sfârșit, am modificat fișierul /etc/named.conf . Modificările sau adăugirile pe care le-am făcut, comparativ cu originalul, sunt scrise cu caractere aldine . Rețineți că există doar câteva.

[root @ dns ~] # nano /etc/named.conf
// // named.conf // // Furnizat de pachetul de legare Red Hat pentru a configura ISC BIND denumit (8) DNS // server ca server de nume numai în cache (doar ca rezolvator DNS localhost). // // Vedeți / usr / share / doc / bind * / sample / de exemplu fișiere de configurare numite. //

// Lista de control acces care declară ce rețele vor putea consulta
// serverul meu numit
acl arata {
 127.0.0.0 / 8;
 192.168.10.0 / 24;
};

Opțiuni {
 // Declar că demonul numit ascultă și interfața
 // eth0 care are IP-ul: 192.168.10.5
    portul de ascultare 53 {127.0.0.1; 192.168.10.5; };
    ascultați-pe-v6 portul 53 {:: 1; }; directorul "/ var / named"; dump-file "/var/named/data/cache_dump.db"; fișierul statistic „/var/named/data/named_stats.txt”; fișierul memstatistics "/var/named/data/named_mem_stats.txt";

 // Declarație de expeditori
 // expeditori {
 // 0.0.0.0;
 // 1.1.1.1;
 //};
    // înainte înainte;

    // Permit interogări numai la ACL-ul meu mired
    allow-query { mired; }; // Pentru a verifica cu comanda dig desdelinux.fan axfr // de la stația de lucru SysAdmin și doar localhost // Nu avem servere DNS slave. Nu avem nevoie de ea... până acum.
 allow-transfer {localhost; 192.168.10.1; };

    / * - Dacă construiți un server DNS AUTORITATIV, NU activați recursivitatea. - Dacă construiți un server DNS RECURSIVE (cache), trebuie să activați recursivitatea. - Dacă serverul dvs. DNS recursiv are o adresă IP publică, TREBUIE să activați controlul accesului pentru a limita interogările către utilizatorii dvs. legitimi. În caz contrar, serverul dvs. va deveni parte a atacurilor de amplificare DNS pe scară largă. Implementarea BCP38 în rețeaua dvs. ar reduce considerabil suprafața de atac * /
    // Vrem un server de AUTORITATE pentru LAN - IMM-ul nostru
    recursivitate nr;

    dnssec-enable da; dnssec-validation da; / * Calea către cheia ISC DLV * / bindkeys-file "/etc/named.iscdlv.key"; directorul cheilor gestionate "/ var / named / dynamic"; pid-file "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; logare {channel default_debug {fișier "data / named.run"; dinamică de severitate; }; }; zona "." IN {tip sugestie; fișier „named.ca”; }; include „/etc/named.rfc1912.zones”; includeți „/etc/named.root.key”;

// Includem cheia TSIG pentru actualizări DNS dinamice // prin DHCP
includeți „/etc/dhcp.key”;

// Declarație privind numele, tipul, locația și permisiunea de actualizare
// din zonele de înregistrări DNS // Ambele zone sunt MASTERI
zona"desdelinux.ventilator" {
 tip master;
 fișierul „dynamic/db.desdelinux.ventilator";
 allow-update {cheie dhcp-cheie; };
};

zona "10.168.192.in-addr.arpa" {
 tip master;
 fișier „dynamic / db.10.168.192.in-addr.arpa”;
 allow-update {cheie dhcp-cheie; };
};

Verificăm sintaxa

[root @ dns ~] # named-checkconf 
[root @ dns ~] #

Întrucât comanda anterioară nu returnează nimic, sintaxa este în regulă. Totuși, dacă rulăm aceeași comandă, dar cu opțiunea -z , rezultatul va fi:

[root @ dns ~] # named-checkconf -z
zona localhost.localdomain/IN: serial încărcat 0 zona localhost/IN: serial încărcat 0 zonă 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: încărcat serial 0 zona 1.0.0.127.in-addr.arpa/IN: încărcat serial 0 zonă 0.in-addr.arpa/IN: încărcat serial 0 zonă desdelinux.fan/IN: se încarcă din fișierul master dynamic/db.desdelinux.fan a eșuat: zona fișierului nu a fost găsit desdelinux.fan/IN: nu s-a încărcat din cauza erorilor. _Mod implicit/desdelinux.fan/IN: fișierul nu a fost găsit zona 10.168.192.in-addr.arpa/IN: încărcarea din fișierul master dynamic/db.10.168.192.in-addr.arpa a eșuat: fișierul nu a fost găsit zona 10.168.192.in- addr.arpa/IN: nu s-a încărcat din cauza erorilor. _default/10.168.192.in-addr.arpa/IN: fișierul nu a fost găsit

Desigur, sunt erori care apar deoarece nu am creat încă zonele de înregistrare DNS pentru domeniul nostru.

  • Pentru mai multe informații despre comandă numit-checkconf, alerga om numit-checkconf, înainte de a căuta orice alte informații pe internet. Vă asigur că va economisi mult timp.

Creăm fișierul Direct Zone desdelinux.ventilator

…dar nu fără mai întâi o mică teorie. 

Ca șablon pentru crearea fișierului de date al zonei, putem folosi fie /var/named/named.empty , fie /usr/share/doc/bind-9.9.4/sample/var/named/named.empty . Ambele sunt identice.

[root @ dns ~] # cat /var/named/named.empty 
$ TTL 3H @ IN SOA @ rname.invalid. (0; serial 1D; reîmprospătare 1H; reîncercați 1W; expiră 3H); timp minim sau negativ de stocare în cache pentru a trăi NS @ A 127.0.0.1 AAAA :: 1

Timpul vieții - E timpul să trăiești TTL Înregistrare SOA

Să ne ocupăm puțin de explicarea TTL – Time to Live – a înregistrării SOA – Start of Authority pentru o zonă principală. Înțelegerea semnificației lor este utilă atunci când dorim să modificăm oricare dintre valorile lor.

$TTL : Timp de viață – Timpul de viață pentru toate înregistrările din fișier care urmează declarației (dar precede orice altă declarație $TTL) și care nu au o declarație TTL explicită.

Serial : Numărul de serie al datelor zonei. De fiecare dată când modificăm manual o înregistrare DNS într-o zonă, trebuie să incrementăm acest număr cu 1, mai ales dacă avem servere slave sau secundare. De fiecare dată când un server DNS secundar sau slave contactează serverul său master, acesta solicită numărul de serie al datelor masterului. Dacă numărul de serie al slave-ului este mai mic, atunci datele pentru acea zonă de pe serverul slave sunt învechite, iar slave-ul efectuează un transfer de zonă pentru a le actualiza.

refresh : Indică serverului slave intervalul de timp la care ar trebui să verifice dacă datele sale sunt actualizate în raport cu cele ale serverului master.

retry : Dacă serverul master nu este disponibil - să zicem, pentru că s-a îmbolnăvit - pentru slave după un interval de reîmprospătare , retry îi spune slave-ului cât timp să aștepte înainte de a încerca din nou să contacteze masterul.

Expirare : Dacă serverul slave nu poate contacta serverul său master pentru un interval de timp specificat , atunci relația dintre zonele slave și master este întreruptă, iar serverul slave nu are de ales decât să expire zona în cauză. Expirarea zonei de către un server DNS slave înseamnă că acesta va înceta să mai răspundă la interogările DNS legate de zona respectivă, deoarece datele disponibile sunt prea vechi pentru a fi utile.

  • Cele de mai sus ne învață indirect și încărcate cu un bun simț - cel mai puțin comun din simțuri - că, dacă nu avem nevoie de servere DNS slave pentru funcționarea IMM-ului nostru, nu îl implementăm, decât dacă sunt strict necesare. Să încercăm întotdeauna să mergem de la simplu la complex.

minim : În versiunile anterioare BIND 8.2 , ultima înregistrare SOA indică și timpul implicit de viață și timpul negativ de caching pentru Zonă. Acest timp se referă la toate răspunsurile negative date de serverul autoritativ pentru Zonă.

Fișierul zonei /var/named/dynamic/db.desdelinux.ventilator

[root@dns ~]# nano /var/named/dynamic/db.desdelinux.ventilator
$TTL 3H @ IN SOA dns.desdelinux.ventilator. root.dns.desdelinux.ventilator. ( 1 ; serial 1D ; reîmprospătare 1H ; reîncercați 1W ; expirare 3H ) ; minim sau ; Timp negativ de stocare în cache; @ IN NS dns.desdelinux.ventilator. @ IN MX 10 e-mail.desdelinux.ventilator. @ IN TXT „FromLinux, blogul tău dedicat software-ului liber”; sysadmin ÎN A 192.168.10.1 ad-dc ÎN A 192.168.10.3 server de fișiere ÎN A 192.168.10.4 dns ÎN A 192.168.10.5 proxyweb ÎN A 192.168.10.6 blog ÎN A .192.168.10.7p192.168.10.8 192.168.10.9 mail IN A XNUMX

Verificăm /var/named/dynamic/db.desdelinux.ventilator

[root@dns ~]# named-checkzone desdelinux.fan /var/named/dynamic/db.desdelinux.ventilator
zonă desdelinux.fan/IN: serial încărcat 1 OK

Creăm fișierul Reverse Zone 10.168.192.in-addr.arpa

  • Înregistrarea SOA a acestei Zone este aceeași cu cea a Zonei Direct fără a lua în considerare înregistrarea MX..
[root @ dns ~] # nano /var/named/dynamic/db.10.168.192.in-addr.arpa
$TTL 3H @ IN SOA dns.desdelinux.ventilator. root.dns.desdelinux.ventilator. ( 1 ; serial 1D ; reîmprospătare 1H ; reîncercați 1W ; expirare 3H ) ; minim sau ; Timp negativ de stocare în cache; @ IN NS dns.desdelinux.ventilator. ; 1 IN PTR sysadmin.desdelinux.ventilator. 3 IN PTR ad-dc.desdelinux.ventilator. 4 ÎN serverul de fișiere PTR.desdelinux.ventilator. 5 IN PTR dns.desdelinux.ventilator. 6 ÎN PTR proxyweb.desdelinux.ventilator. 7 IN PTR blog.desdelinux.ventilator. 8 IN PTR ftpserver.desdelinux.ventilator. 9 ÎN PTR mail.desdelinux.ventilator.

[root @ dns ~] # named-checkzone 10.168.192.in-addr.arpa /var/named/dynamic/db.10.168.192.in-addr.arpa 
zona 10.168.192.in-addr.arpa/IN: serial încărcat 1 OK

Înainte de a reporni numele, verificăm configurația acestuia

  • Până când nu suntem siguri că fișierele de configurare ale numitului named.conf și fișierele sale de zonă nu sunt configurate corect, vă sugerăm să nu reporniți daemonul numit. Dacă facem acest lucru și modificăm ulterior un fișier de zonă, trebuie să mărim numărul de serie al zonei modificate cu 1.
  • Să ne uităm la „.” la sfârșitul numelor de domeniu și de gazdă.
[root @ dns ~] # named-checkconf 
[root @ dns ~] # named-checkconf -z
zona localhost.localdomain/IN: serial încărcat 0 zona localhost/IN: serial încărcat 0 zonă 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: încărcat serial 0 zona 1.0.0.127.in-addr.arpa/IN: încărcat serial 0 zonă 0.in-addr.arpa/IN: încărcat serial 0 zonă desdelinux.fan/IN: serial încărcat 1 zonă 10.168.192.in-addr.arpa/IN: serial încărcat 1

Toate configurațiile numite curente

Pentru claritate, și deși articolul va deveni lung, oferim rezultatul complet al comenzii named-checkconf -zp :

[root @ dns ~] # named-checkconf -zp
zona localhost.localdomain/IN: serial încărcat 0 zona localhost/IN: serial încărcat 0 zonă 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: încărcat serial 0 zona 1.0.0.127.in-addr.arpa/IN: încărcat serial 0 zonă 0.in-addr.arpa/IN: încărcat serial 0 zonă desdelinux.fan/IN: încărcat serial 1 zonă 10.168.192.in-addr.arpa/IN: încărcat serial 1 opțiuni { bindkeys-file "/etc/named.iscdlv.key"; session-keyfile „/run/named/session.key”; directorul „/var/named”; dump-file "/var/named/data/cache_dump.db"; portul de ascultare 53 { 127.0.0.1/32; 192.168.10.5/32; }; portul listen-on-v6 53 { ::1/128; }; directorul-chei-gestionate „/var/named/dynamic”; memstatistics-file "/var/named/data/named_mem_stats.txt"; pid-file "/run/named/named.pid"; fișierul-statistici „/var/named/data/named_stats.txt”; dnssec-enable da; validare dnssec da; recursiunea nu; allow-query { „vizionat”; }; permit-transfer { 192.168.10.1/32; }; }; acl „vizionat” { 127.0.0.0/8; 192.168.10.0/24; }; logging { canalul "default_debug" { fișierul "data/named.run"; severitate dinamică; }; }; cheie "dhcp-key" { algoritmul "hmac-md5"; secret "OI7Vs+TO83L7ghUm2xNVKg=="; }; zona "." IN { tip hint; fișierul „named.ca”; }; zona "localhost.localdomain" IN { tip master; fișierul „named.localhost”; allow-update { „niciunul”; }; }; zona "localhost" IN { tip master; fișierul „named.localhost”; allow-update { „niciunul”; }; }; zona "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { tip master; fișierul „named.loopback”; allow-update { „niciunul”; }; }; zona "1.0.0.127.in-addr.arpa" IN { tip master; fișierul „named.loopback”; allow-update { „niciunul”; }; }; zona "0.in-addr.arpa" IN { tip master; fișierul „named.empty”; allow-update { „niciunul”; }; }; zona"desdelinux.fan" { tip master; fișier "dynamic/db.desdelinux.fan"; allow-update { cheie „dhcp-key”; }; }; zona „10.168.192.in-addr.arpa” { tip master; fișier „dynamic/db.10.168.192.in-addr.arpa” "; allow-update { cheie "dhcp-key"; }; }; chei gestionate { "." cheie inițială 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTqTf6wGClVZrpC58Ia0gEzahOR+0W8euxhJhVVLOyQbSEW0O2gcCjF FVQUTqTf37wGcCjF 9g 496NfnfL5MTJRkxoX bfDaUeVPQuYEhg2NZWAJQ6VnMVDxP/VHL6M/QZxkjf68/Efucp0gaD F1dsV9DoBQzgul7sGIcGOYl6OyQdXfZ3relSTT QagewhubdmcSqdXfZ5relSTT Qagewhubdms B2N8knNnulq QxA +Uk6ihz6="; };
  • Urmând procedura de modificare a numit.conf În funcție de nevoile noastre, verificăm și creăm fiecare fișier de zonă și verificăm, ne îndoim că va trebui să ne confruntăm cu probleme majore de configurare. În cele din urmă ne dăm seama că este un joc de băieți, cu multe concepte și sintaxă agitată. 

Verificările au returnat rezultate satisfăcătoare, prin urmare putem reporni BIND-ul – numit.

Repornim numele și verificăm starea acestuia

[root @ dns ~] # systemctl reporniți named.service
[root @ dns ~] # systemctl status named.service

Dacă primiți erori în rezultatul ultimei comenzi, ar trebui să reporniți named.service și să verificați din nou starea acestuia . Dacă erorile au dispărut, serviciul a pornit cu succes. În caz contrar, ar trebui să examinați cu atenție toate fișierele modificate și create și să repetați procedura.

Rezultatul corect al stării ar trebui să fie:

[root @ dns ~] # systemctl status named.service
● named.service - Berkeley Internet Name Domain (DNS) Încărcat: încărcat (/usr/lib/systemd/system/named.service; activat; presetare furnizor: dezactivat) Activ: activ (funcționare) din Dum 2017-01-29 10:05:32 EST; acum 2min 57s Proces: 1777 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS) Proces: 1788 ExecStart=/usr/sbin/named -u named $OPTIONS (code=exited, status=0/SUCCESS) Proces: 1786 ExecStartPre =/bin/bash -c dacă [ ! „$DISABLE_ZONE_CHECKING” == „da” ]; apoi /usr/sbin/named-checkconf -z /etc/named.conf; else echo "Verificarea fișierelor de zonă este dezactivată"; fi (code=exit, status=0/SUCCESS) PID principal: 1791 (numit) CGroup: /system.slice/named.service └─1791 /usr/sbin/named -u named 29 ianuarie 10:05:32 dns named [1791]: zona 1.0.0.127.in-addr.arpa/IN: serial încărcat 0 ianuarie 29:10:05 dns named[32]: zona 1791.in-addr.arpa/IN: serial încărcat 10.168.192 ianuarie 1 29:10:05 dns numit[32]: zona 1791.ip1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.arpa/IN : serial încărcat 6 ianuarie 0 29:10:05 dns numit[32]: zonă desdelinux.fan/IN: serial încărcat 1 29 ianuarie 10:05:32 dns numit[1791]: zonă localhost.localdomain/IN: serial încărcat 0 ianuarie 29:10:05 dns numit[32]: zonă localhost/IN: încărcat serial 1791 Jan 0 29:10:05 dns numit[32]: toate zonele încărcate
29 ianuarie 10:05:32 dns numit [1791]: funcţionare
29 ianuarie 10:05:32 dns systemd [1]: Start Berkeley Internet Name Domain (DNS). 29 ianuarie 10:05:32 dns numit [1791]: zona 10.168.192.in-addr.arpa/IN: trimiterea notificărilor (seria 1)

Verificări

Verificările pot fi executate pe același server sau pe o mașină conectată la LAN. Preferăm să le facem din echipă administrator de sistem.desdelinux.ventilator cărora le-am dat permisiunea expresă de a face transferuri de zonă. Fișierul /etc/resolv.conf din acea echipă este următorul:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
# Generat de căutarea NetworkManager desdelinux.fan nameserver 192.168.10.5

buzz@sysadmin:~$ dig desdelinux.fan axfr
; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> desdelinux.fan axfr ;; opțiuni globale: +cmd
desdelinux.ventilator. 10800 IN SOA dns.desdelinux.ventilator. root.dns.desdelinux.ventilator. 1 86400 3600 604800 10800
desdelinux.ventilator. 10800 IN NS dns.desdelinux.ventilator.
desdelinux.ventilator. 10800 IN MX 10 e-mail.desdelinux.ventilator.
desdelinux.ventilator. 10800 IN TXT „FromLinux, blogul tău dedicat software-ului liber” ad-dc.desdelinux.ventilator. 10800 IN A 192.168.10.3 blog.desdelinux.ventilator. 10800 IN A 192.168.10.7 dns.desdelinux.ventilator. 10800 IN TO 192.168.10.5 server de fișiere.desdelinux.ventilator. 10800 ÎN UN 192.168.10.4 ftpserver.desdelinux.ventilator. 10800 IN A 192.168.10.8 mail.desdelinux.ventilator. 10800 ÎN A 192.168.10.9 proxyweb.desdelinux.ventilator. 10800 IN A 192.168.10.6 sysadmin.desdelinux.ventilator. 10800 IN TO 192.168.10.1
desdelinux.ventilator. 10800 IN SOA dns.desdelinux.ventilator. root.dns.desdelinux.ventilator. 1 86400 3600 604800 10800 ;; Timp de interogare: 0 msec ;; SERVER: 192.168.10.5#53(192.168.10.5) ;; CÂND: Duminica 29 ian 11:44:18 EST 2017 ;; Dimensiune XFR: 13 înregistrări (mesaje 1, octeți 385)

buzz @ sysadmin: ~ $ dig 10.168.192.in-addr.arpa axfr
; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> 10.168.192.in-addr.arpa axfr ;; opțiuni globale: +cmd 10.168.192.in-addr.arpa. 10800 IN SOA dns.desdelinux.fan.10.168.192.in-addr.arpa. root.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 10.168.192.in-addr.arpa. 10800 IN NS dns.desdelinux.ventilator. 1.10.168.192.in-addr.arpa. 10800 IN PTR sysadmin.desdelinux.ventilator. 3.10.168.192.in-addr.arpa. 10800 IN PTR ad-dc.desdelinux.ventilator. 4.10.168.192.in-addr.arpa. 10800 IN server de fișiere PTR.desdelinux.ventilator. 5.10.168.192.in-addr.arpa. 10800 IN PTR dns.desdelinux.ventilator. 6.10.168.192.in-addr.arpa. 10800 IN PTR proxyweb.desdelinux.ventilator. 7.10.168.192.in-addr.arpa. 10800 IN PTR blog.desdelinux.ventilator. 8.10.168.192.in-addr.arpa. 10800 IN PTR ftpserver.desdelinux.ventilator. 9.10.168.192.in-addr.arpa. 10800 IN PTR mail.desdelinux.ventilator. 10.168.192.in-addr.arpa. 10800 IN SOA dns.desdelinux.fan.10.168.192.in-addr.arpa. root.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 ;; Timp de interogare: 0 msec ;; SERVER: 192.168.10.5#53(192.168.10.5) ;; CÂND: Duminica 29 ian 11:44:57 EST 2017 ;; Dimensiune XFR: 11 înregistrări (mesaje 1, octeți 352)

buzz@sysadmin:~$ dig IN SOA desdelinux.ventilator
buzz@sysadmin:~$ dig IN MX desdelinux.fan buzz@sysadmin:~$ dig IN TXT desdelinux.ventilator
buzz @ sysadmin: ~ $ host dns
dns.desdelinux.fan are adresa 192.168.10.5
buzz @ sysadmin: ~ $ host sysadmin
administrator de sistem.desdelinux.fan are adresa 192.168.10.1 ... Și orice alte verificări de care avem nevoie
  • Până acum, avem baza pentru un server DNS în rețeaua noastră de IMM-uri. Sperăm că v-a plăcut întreaga procedură, care a fost destul de simplă, nu? 

Instalăm și configurăm DHCP

[root @ dns ~] # yum instalează dhcp
Plugin-uri încărcate: fastestmirror, centp-langpacks | 3.4 kB 00:00:00 centos-actualizări | 3.4 kB 00:00:00 Încărcarea vitezei oglinzii din fișierul gazdă cache Rezolvarea dependențelor -> Rularea testului tranzacției ---> Pachetul dhcp.x86_64 12: 4.2.5-42.el7.centos trebuie instalat -> Rezolvarea dependențelor Dependențe rezolvate reziliate ============================================== ================================================= =================================== Arhitectura pachetului Dimensiunea depozitului =========== ================================================== ================================================= ====================== Instalarea: dhcp x86_64 12: 4.2.5-42.el7.centos centos-base 511 k Rezumat tranzacție ==== ================================================== ================================================== ============================ Instalați 1 pachet Dimensiune totală descărcare: 511k Dimensiune instalată: 1.4 M Este ok [y / d / N]: y Descărcarea pachetelor: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00 Executarea verificării tranzacției Executarea testului tranzacției Testul tranzacției a reușit Executarea tranzacției Instalarea: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 Verificare: 12: dhcp-4.2.5-42. el7.centos.x86_64 1/1 Instalat: dhcp.x86_64 12: 4.2.5-42.el7.centos Gata!

[root @ dns ~] # nano /etc/dhcp/dhcpd.conf
# # Fișier de configurare a serverului DHCP. # vezi /usr/share/doc/dhcp*/dhcpd.conf.example # vezi pagina de manual dhcpd.conf(5) # ddns-update-style interim; ddns-actualizări pe; ddns-domainname "desdelinux.fan."; ddns-rev-domainname "in-addr.arpa."; ignora actualizările clientului; autoritar; opțiunea redirecționare ip dezactivată; opțiunea nume-domeniu "desdelinux.fan"; # opțiunea ntp-servers 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; includeți „/etc/dhcp.key” ; zona desdelinux.ventilator. { primar 127.0.0.1; cheie dhcp-key; } zona 10.168.192.in-addr.arpa. { primar 127.0.0.1; cheie dhcp-key; } rețea partajată redlocal { subrețea 192.168.10.0 mască de rețea 255.255.255.0 { opțiune de routere 192.168.10.1; opțiunea subnet-mask 255.255.255.0; opțiune broadcast-adresa 192.168.10.255; opțiune domain-name-server 192.168.10.5; opțiunea netbios-name-server 192.168.10.5; gama 192.168.10.30 192.168.10.250; } } # END dhcpd.conf

[root @ dns ~] # dhcpd -t
Internet Systems Consortium DHCP Server 4.2.5 Copyright 2004-2013 Internet Systems Consortium. Toate drepturile rezervate. Pentru informații, vă rugăm să vizitați https://www.isc.org/software/dhcp/ Nu căutați LDAP deoarece ldap-server, ldap-port și ldap-base-dn nu au fost specificate în fișierul de configurare

[root @ dns ~] # systemctl activate dhcpd
A fost creat un link simbolic de la /etc/systemd/system/multi-user.target.wants/dhcpd.service la /usr/lib/systemd/system/dhcpd.service.

[root @ dns ~] # systemctl pornește dhcpd

[root @ dns ~] # systemctl status dhcpd
● dhcpd.service - Daemon server DHCPv4 Încărcat: încărcat (/usr/lib/systemd/system/dhcpd.service; activat; presetare furnizor: dezactivat) Activ: activ (rulează) de la dom. ITS T; 2017 de ani în urmă Documente: man: dhcpd (01) man: dhcpd.conf (29) PID principal: 12 (dhcpd) Stare: "Dispatching pachete ..." CGroup: /system.slice/dhcpd.service └─04 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid 59 Jan 23:8:5 dns dhcpd [2381]: Internet Systems Consortium DHCP Server 2381 Jan 29 12 : 04: 59 dns dhcpd [2381]: Copyright 4.2.5-29 Internet Systems Consortium. 12 ian 04:59:2381 dns dhcpd [2004]: Toate drepturile rezervate. 2013 ian 29:12:04 dns dhcpd [59]: Pentru informații, vă rugăm să vizitați https://www.isc.org/software/dhcp/ 2381 ian 29:12:04 dns dhcpd [59]: Nu căutați LDAP de la ldap -server, ldap-port și ldap-base-dn nu au fost specificate în fișierul de configurare 2381 ianuarie 29:12:04 dns dhcpd [59]: A scris 2381 leasing în fișierul leasing. 29 ian 12:04:59 dns dhcpd [2381]: Ascultare pe LPF / eth0 / 29: 12: 04: 59: 2381: 0 / redlocal 52 ian 54:00:12 dns dhcpd [17]: Trimitere pe LPF / eth04 / 29: 12: 04: 59: 2381: 0 / redlocal 52 ian 54:00:12 dns dhcpd [17]: Trimiterea pe Socket / fallback / fallback-net 04 ian 29:12:04 dns systemd [59]: Început Daemon server DHCPv2381.

Ce rămâne de făcut?

Simplu. Porniți un Windows 7 sau alt client cu software gratuit și începeți să testați și să verificați. Am făcut-o cu doi clienți: Șapte.desdelinux.ventilator y suse-desktop.desdelinux.ventilator. Verificările au fost după cum urmează:

buzz @ sysadmin: ~ $ host seven
Șapte.desdelinux.fan are adresa 192.168.10.30

buzz@sysadmin:~$ gazdă șapte.desdelinux.ventilator
Șapte.desdelinux.fan are adresa 192.168.10.30

buzz@sysadmin:~$ sapă în TXT șapte.desdelinux.ventilator
.... ;; SECȚIUNEA DE ÎNTREBĂRI: ;șapte.desdelinux.ventilator. ÎN TXT ;; SECȚIUNEA RĂSPUNSURI: șapte.desdelinux.ventilator. 3600 ÎN TXT"31b7228ddd3a3b73be2fda9e09e601f3e9„....

Redenumim echipa „șapte” în „LAGER” și repornim. După repornirea noului LAGER, verificăm:

buzz @ sysadmin: ~ $ host seven
Gazda șapte nu a fost găsită: 5 (REFUZAT)

buzz@sysadmin:~$ gazdă șapte.desdelinux.ventilator
Gazdă șapte.desdelinux.fan nu a fost găsit: 3(NXDOMAIN)

bâzâit@sysadmin: ~ $ host lager
bere lager.desdelinux.fan are adresa 192.168.10.30

bâzâit@sysadmin:~$host lager.desdelinux.ventilator
bere lager.desdelinux.fan are adresa 192.168.10.30

buzz@sysadmin:~$ dig IN TXT lager.desdelinux.ventilator
.... ;; SECȚIUNEA DE ÎNTREBĂRI: ;lager.desdelinux.ventilator. ÎN TXT ;; SECȚIUNEA DE RĂSPUNS: lager.desdelinux.ventilator. 3600 ÎN TXT"31b7228ddd3a3b73be2fda9e09e601f3e9„....

În ceea ce privește clientul suse-desktop:

buzz @ sysadmin: ~ $ host suse-dektop
Gazda suse-dektop nu a fost găsită: 5 (REFUZAT)

buzz @ sysadmin: ~ $ host suse-desktop
suse-desktop.desdelinux.fan are adresa 192.168.10.33

buzz@sysadmin:~$ gazdă suse-desktop.desdelinux.ventilator
suse-desktop.desdelinux.fan are adresa 192.168.10.33

buzz @ sysadmin: ~ $ host 192.168.10.33
33.10.168.192.in-addr.arpa indicator pentru nume de domeniu suse-desktop.desdelinux.ventilator.

buzz @ sysadmin: ~ $ host 192.168.10.30
30.10.168.192.in-addr.arpa indicator pentru nume de domeniu LAGER.desdelinux.ventilator.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
.... ;; SECȚIUNEA DE ÎNTREBĂRI: ;33.10.168.192.in-addr.arpa. IN PTR ;; SECTIUNEA RASPUNS: 33.10.168.192.in-addr.arpa. 3600 IN PTR suse-desktop.desdelinux.ventilator. ;; SECTIUNEA AUTORITATE: 10.168.192.in-addr.arpa. 10800 IN NS dns.desdelinux.ventilator. ;; SECȚIUNE SUPLIMENTARE: dns.desdelinux.ventilator. 10800 IN LA 192.168.10.5 ....

buzz@sysadmin:~$ dig IN TXT suse-desktop.desdelinux.ventilator....
;suse-desktop.desdelinux.ventilator. ÎN TXT ;; SECȚIUNEA RĂSPUNSURI: suse-desktop.desdelinux.ventilator. 3600 ÎN TXT "31b78d287769160c93e6dca472e9b46d73"

;; SECȚIUNEA AUTORITĂȚII:
desdelinux.ventilator. 10800 IN NS dns.desdelinux.ventilator. ;; SECȚIUNE SUPLIMENTARE: dns.desdelinux.ventilator. 10800 IN TO 192.168.10.5
....

Să rulăm și următoarele comenzi

[root@dns ~]# dig desdelinux.fan axfr
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> desdelinux.fan axfr ;; opțiuni globale: +cmd
desdelinux.ventilator. 10800 IN SOA dns.desdelinux.ventilator. root.dns.desdelinux.ventilator. 6 86400 3600 604800 10800
desdelinux.ventilator. 10800 IN NS dns.desdelinux.ventilator.
desdelinux.ventilator. 10800 IN MX 10 e-mail.desdelinux.ventilator.
desdelinux.ventilator. 10800 IN TXT „FromLinux, blogul tău dedicat software-ului liber” ad-dc.desdelinux.ventilator. 10800 IN A 192.168.10.3 blog.desdelinux.ventilator. 10800 IN A 192.168.10.7 dns.desdelinux.ventilator. 10800 IN TO 192.168.10.5 server de fișiere.desdelinux.ventilator. 10800 ÎN UN 192.168.10.4 ftpserver.desdelinux.ventilator. 10800 IN A 192.168.10.8 LAGER.desdelinux.ventilator. 3600 ÎN TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"BERE LAGER.desdelinux.ventilator.   3600 ÎN UN email 192.168.10.30.desdelinux.ventilator. 10800 ÎN A 192.168.10.9 proxyweb.desdelinux.ventilator. 10800 IN A 192.168.10.6 suse-desktop.desdelinux.ventilator. 3600 ÎN TXT"31b78d287769160c93e6dca472e9b46d73"suse-desktop.desdelinux.ventilator. 3600 ÎN A 192.168.10.33 sysadmin.desdelinux.ventilator. 10800 IN TO 192.168.10.1
desdelinux.ventilator. 10800 IN SOA dns.desdelinux.ventilator. root.dns.desdelinux.ventilator. 6 86400 3600 604800 10800

În rezultatul anterior, am evidențiat cu caractere aldine TTL -urile (în secunde) pentru dispozitivele cu adrese IP atribuite de serviciul DHCP, care au o declarație explicită a unui TTL de 3600 furnizată de DHCP. IP-urile statice sunt guvernate de TTL-ul de 3H (3 ore = 10800 secunde) declarat în înregistrarea SOA a fiecărui fișier de zonă.

Pot verifica zona inversă în același mod.

[root @ dns ~] # dig 10.168.192.in-addr.arpa axfr

Alte comenzi extrem de interesante sunt:

[root@dns ~]# named-journalprint /var/named/dynamic/db.desdelinux.fan.jnl
[root @ dns ~] # named-journalprint /var/named/dynamic/db.10.168.192.in-addr.arpa.jnl
[root @ dns ~] # journalctl -f

Modificarea manuală a fișierelor Zone

După ce DHCP preia actualizarea dinamică a fișierelor de zonă ale serverului de nume , dacă va trebui vreodată să modificăm manual un fișier de zonă, trebuie să efectuăm următoarea procedură, dar nu înainte de a afla mai multe despre cum funcționează utilitarul rndc pentru controlul serverului de nume.

[root @ dns ~] # man rndc
....
       îngheța [zona [clasa [vizualizare]]]
           Suspendați actualizările unei zone dinamice. Dacă nu este specificată nicio zonă, atunci toate zonele sunt suspendate. Aceasta permite efectuarea de editări manuale într-o zonă actualizată în mod normal prin actualizare dinamică. De asemenea, face ca modificările din fișierul jurnal să fie sincronizate în fișierul master. Toate încercările de actualizare dinamică vor fi refuzate în timp ce zona este înghețată.

       dezgheța [zona [clasa [vizualizare]]]
           Activați actualizările unei zone dinamice înghețate. Dacă nu este specificată nicio zonă, atunci toate zonele înghețate sunt activate. Acest lucru face ca serverul să reîncarce zona de pe disc și să reactiveze actualizările dinamice după finalizarea încărcării. După ce o zonă este dezghețată, actualizările dinamice nu vor mai fi refuzate. Dacă zona s-a schimbat și se folosește opțiunea ixfr-de-diferențe, atunci fișierul jurnal va fi actualizat pentru a reflecta modificările din zonă. În caz contrar, dacă zona s-a schimbat, orice fișier jurnal existent va fi eliminat. ....

Ce, credeai că o să transcriu tot manualul?... o bucată și merg cu mașina. Restul iti las. 

practic:

  • rndc freeze [zonă [clasa [vizualizare]]], suspendă actualizarea dinamică a unei zone. Dacă nu este specificat unul, toate vor îngheța. Comanda permite editarea manuală a zonei înghețate sau a tuturor zonelor. Orice actualizare dinamică va fi refuzată când este înghețată.
  • rndc dezgheț [zonă [clasa [vizualizare]]], permite actualizări dinamice pe o zonă înghețată anterior. Serverul DNS reîncarcă fișierul de zonă de pe disc, iar actualizările dinamice sunt reactivate după finalizarea reîncărcării.

Ce precauții ar trebui luate atunci când se editează manual un fișier de zonă? La fel ca și cum l-am crea, amintindu-ne să incrementăm numărul de serie cu 1 înainte de a salva fișierul cu modificările finale.

Exemplu:

[root @ dns ~] # rndc freeze desdelinux.ventilator

[root@dns ~]# nano /var/named/dynamic/db.desdelinux.ventilator
Modific fișierul de zonă din orice motiv, necesar sau nu. Salvăm modificările

[root @ dns ~] # rndc dezgheț desdelinux.ventilator
A început reîncărcarea și dezghețarea zonei. Verificați jurnalele pentru a vedea rezultatul.

[root @ dns ~] # journalctl -f
29 ian 14:06:46 dns numit[2257]: zona de dezgheț 'desdelinux.fan/IN': succes
29 ian 14:06:46 dns named[2257]: zone desdelinux.fan/IN: serial de zonă (6) neschimbat. zona poate să nu reușească să se transfere către sclavi.
29 ian 14:06:46 dns named[2257]: zone desdelinux.fan/IN: serial încărcat 6

Eroarea la ieșirea anterioară, care este afișată în roșu pe consolă, se datorează faptului că am „uitat” să măresc numărul de serie cu 1. Dacă aș fi urmat corect procedura, ieșirea ar fi fost:

[root @ dns ~] # journalctl -f
-- Jurnalele încep la Dum 2017-01-29 08:31:32 EST. -- 29 ianuarie 14:06:46 dns named[2257]: zone desdelinux.fan/IN: serial încărcat 6 ianuarie 29 14:10:01 dns systemd[1]: a început Sesiunea 43 a utilizatorului root. 29 ianuarie 14:10:01 dns systemd[1]: Începe sesiunea 43 a utilizatorului root. 29 ian 14:10:01 dns CROND[2693]: (rădăcină) CMD (/usr/lib64/sa/sa1 1 1) 29 ian 14:10:45 dns named[2257]: comanda primită de canal de control „freeze” desdelinux.fan' 29 ian 14:10:45 dns named[2257]: freezing zone 'desdelinux.fan/IN': succes 29 ianuarie 14:10:58 dns named[2257]: a primit comanda canal de control 'thaw desdelinux.fan' 29 ianuarie 14:10:58 dns numit[2257]: zona de dezgheț 'desdelinux.fan/IN': success Jan 29 14:10:58 dns named[2257]: zone desdelinux.fan/IN: fișierul jurnal este învechit: se elimină fișierul jurnal 29 ianuarie 14:10:58 dns named[2257]: zone desdelinux.fan/IN: serial încărcat 7
  • Prieteni cititori, repet că trebuie să citiți cu atenție rezultatele comenzilor. Pentru ceva dezvoltatorii săi au cheltuit atât de mult de lucru programând fiecare comandă, indiferent cât de simplă este.

Rezumat

Până acum am abordat implementarea perechii DNS - DHCP, servicii importante și cruciale pentru buna performanță a rețelei noastre de IMM-uri, referindu-ne la acordarea adreselor dinamice prin DHCP și rezolvarea numelor de computer și de domeniu prin DNS.

Sperăm serios că v-a plăcut întreaga procedură la fel ca noi. Deși poate părea mai dificil să folosiți consola, este mult mai ușor și mai educativ să implementați un serviciu în UNIX® / Linux cu ajutorul acestuia.

Iertați-mă orice interpretare greșită a conceptelor gândite, create, scrise, revizuite, rescrise și publicate în limba lui Shakespeare, nu a lui Cervantes. 

Următoarea livrare

Cred că mai mult la fel - cu adăugiri teoretice pe înregistrările DNS - dar în Debian. Nu putem uita această distribuție, nu?


Adăugați ca sursă preferată în Google