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

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

Bună prieteni!. Vom vedea în acest articol cum putem implementa perechea importantă de servicii pentru rețelele constituite de DNS și DHCP pe CentOS - Linux, în special în versiunea sa 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.

Pentru aceia dintre voi care doresc cu adevărat să afle despre DNS și BIND, vă recomandăm să citiți cartea «OReilly - DNS și BIND 4ed" compus de Paul albitz y Liu Cricket, sau o ediție ulterioară care există cu siguranță.

Am publicat deja un articol pe această temă intitulat «DNS și DHCP în openSUSE 13.2 Arlequin - Rețele IMM»Pentru iubitorii de mediu grafic. Cu toate acestea, de acum înainte vor fi confruntați cu articole pe această temă - nu pe altele - scrise cu o mulțime de utilizare a emulatorului unui terminal sau consolă. Uau, în stilul clasic folosit de administratorii de sistem UNIX® / Linux.

Dacă doriți să aflați mai multe despre numele de familie al titlului acestui articol «Rețele IMM-uri»Puteți vizita pagina din acest blog«Rețele IMM-uri: prima tăiere virtuală«. În acesta 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 indicat în articolul precedent «CentOS 7 Hypervisor I - Rețele SMB«. 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
parola buzz@192.168.10.5: Ultima autentificare: Sâmb 28 ianuarie 09:48:05 2017 de la 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.ventilator

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

Principalele configurații răspund la selecțiile noastre. Rețineți că chiar și pe un server Red Hat 7 - CentOS 7, este configurat implicit când Manager de rețea astfel încât acesta este cel care gestionează interfețele de rețea, fie ele cu fir sau fără fir (WiFi), conexiuni VPN, conexiuni 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 utilizând comenzile clasice ifup e dacă jos. Să rulăm pe o consolă 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ții originale din depozitele recomandate de CentOS. Modificările pe care le facem aici se datorează faptului că nu avem acces la Internet și lucrăm cu depozite locale descărcate din satul WWW, de către colegi care ne ușurează 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 «Nu (există) pachete marcate pentru actualizare» - «Nu există pachete marcate pentru actualizare»Indică faptul că, declarând cele mai actualizate depozite disponibile la noi în timpul instalării, au fost instalate exact 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ă un cititor a selectat o politică de securitate în timpul procesului de instalare, după cum se indică în Imagen 06 al articolului de referință «CentOS 7 Hypervisor I - Rețele SMB»Utilizat pentru instalarea acestui server DNS - DHCP și constatați că nu știți cum să configurați corect SELinux și CentOS Firewall, vă sugerăm să executați următoarele:

Modificați fișierul / etc / sysconfig / selinux și schimbare SELINUX = Aplicarea prevederilor de SELINUX = dezactivare

[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 orientat spre Internet, NU trebuie să faceți cele de mai sus, ci să configurați contextul SELinux și Paravanul de protecție corect. Vedea „Configurarea serverului cu GNU / Linux, de autorul Joel Barrios Dueñas” sau documentația CentOS în sine - 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 se numește serviciul DNS instalat prin pachetul BIND numit (Nume Daemon). În CentOS 7 este instalat dezactivat în mod implicit, conform ieșirii următoarei comenzi, unde se afirmă că starea sa este «invalid«Și că această stare este predefinită de« vânzătorul »său - presetare furnizor. Pentru înregistrare, BIND este software gratuit.

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ă ce activăm serviciul numit și o pornim pentru prima dată, ieșirea comenzii statutul systemctl numit prezintă erori. Când repornim serviciul de mai jos, numit creează toate fișierele de configurare care, în mod implicit, sunt necesare pentru funcționarea corectă a acestuia. Prin urmare, când executăm din nou comanda statutul systemctl numit nu mai sunt afișate erori.

  • Dragă, scumpă și exigentă cititoare: dacă doriți să aflați - cel puțin - ce cale duce la capătul găurii de iepure, vă rugăm să citiți cu calm rezultatele detaliate ale fiecărei comenzi. 😉 Cu siguranță articolul va părea puțin lung, dar nu negați că câștigă în explicație și claritate.

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

Multe comentarii ale cititorilor exprimă -Nu o spun- mania pe care o au mentenanții diferitelor distribuții Linux, de a plasa fișiere de configurare a sistemului în foldere cu nume diferite, în funcție de distribuție. Ei au dreptate. Dar ce putem face noi, simplii utilizatori care folosim aceste distribuții? Adapta! 😉

Apropo, în FreeBSD, clona UNIX® «The Origin», fișierul este în /usr/local/etc/namedb/named.conf; în timp ce în Debian, pe lângă divizarea în cele patru fișiere named.conf, named.conf.options, named.conf.default-zones și named.conf.local, este în dosar / etc / bind /. Cei care doresc să știe unde îl plasează openSUSE, citesc «DNS și DHCP în openSUSE 13.2 Arlequin - Rețele IMM«. Cititorii au dreptate! 😉

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

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

Pentru a face viața mai ușoară, în loc să generezi cheia TSIG pentru actualizări DNS dinamice prin DHCP, copiem aceeași cheie rndc.key ca 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 =="; };

Deci, că numit poate citi fișierul tocmai copiat, îi modificăm grupul de proprietari:

[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 dacă - în sfârșit! - modificăm fișierul /etc/named.conf. Modificările sau completările pe care le-am făcut, în ceea ce privește originalul, se află în îndrăzneţ. Uită-te bine la cât de puțini.

[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 ~] #

Deoarece comanda de mai sus nu returnează nimic, sintaxa este OK. Cu toate acestea, dacă executăm aceeași comandă, dar cu opțiunea -z, ieșirea 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

... nu fără un pic de teorie mai întâi. 😉

Ca șablon pentru crearea fișierului cu date de zonă, putem lua /var/named/named.empty, sau /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ă luăm o paranteză pentru a explica TTL - Timpul de trăit din registru SOA - Începutul autorității a unei Zone Master. Este interesant să le cunoaștem semnificațiile atunci când vrem să le modificăm oricare dintre valorile.

$ TTL: Timpul vieții - Timpul sa traiesti pentru toate înregistrările din fișier care urmează declarației (dar preced orice altă declarație $ TTL) și nu au o declarație TTL explicită.

de serie: Numărul de serie al datelor Zonei. De fiecare dată când modificăm manual o înregistrare DNS într-o zonă, trebuie să creștem acest număr cu 1, mai ales dacă avem servere slave sau secundare. De fiecare dată când un server DNS secundar sau sclav contactează serverul principal, acesta solicită numărul de serie al datelor master. Dacă numărul de serie al sclavului este mai mic, atunci datele pentru acea zonă de pe serverul sclav sunt depășite, iar sclavul efectuează un transfer de zonă pentru a se actualiza singur.

reîmprospăta: Îi spune serverului slave intervalul de timp în care ar trebui să verifice dacă datele sale sunt actualizate în raport cu masterul.

reîncercați: Dacă serverul master nu este disponibil - pentru că s-a îmbolnăvit, să zicem - pentru sclav după un interval de timp reîmprospăta, reîncercați Îi spune sclavului cât timp trebuie să aștepte înainte de a încerca din nou un contact cu stăpânul său.

expira: Dacă sclavul nu poate contacta stăpânul său pentru un interval de timp expiraApoi, dacă relația zonă sclav-maestru a fost înșelată, iar serverul sclav nu are de ales decât să expire zona în cauză. Expirarea unei zone de către un server DNS sclav înseamnă că aceasta nu va mai răspunde 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 De asemenea, indică durata de viață implicită - Timp implicit de trăit, și durata de viață a memoriei negative - Timp negativ de stocare în cache pentru Zona. De data aceasta se referă la toate răspunsurile negative date de serverul autoritar 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 "DesdeLinux, blogul său dedicat software-ului liber "; Sysadmin într-un 192.168.10.1 AD-DC ÎN UN 192.168.10.3 FILESERVER ÎN UN 192.168.10.4 DNS ÎN UN 192.168.10.5 PROXYWEB ÎN UN 192.168.10.6 BTP 192.168.10.7. SERVER ÎN A 192.168.10.8 mail IN A 192.168.10.9

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 a obține claritate și, deși articolul devine lung, oferim rezultatul complet al comenzii numit-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 dat rezultate satisfăcătoare, de aceea putem reporni BIND - numit.

Repornim numele și verificăm starea acestuia

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

Dacă primim orice fel de eroare la ieșirea ultimei comenzi, trebuie să repornim numit.serviciu și verificați din nou Starea. Dacă erorile au dispărut, serviciul a început cu succes. În caz contrar, trebuie să efectuăm o revizuire amănunțită a tuturor fișierelor modificate și create și să repetăm ​​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 ÎN TXT"DesdeLinux, blogul dvs. 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ă în prezent, avem baza pentru un server DNS în rețeaua noastră de IMM-uri. Sperăm că ți-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 ÎN TXT"DesdeLinux, blogul dvs. 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 de mai sus, am evidențiat pe îndrăzneţ lor TTL -în câteva secunde- pentru computerele cu adrese IP acordate de serviciul DHCP, cele care au o declarație explicită a TTL 3600 dată de DHCP. IP-urile fixe sunt ghidate de $ TTL 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 intră în jocul de actualizare dinamică a fișierelor de zonă ale fișierului numitDacă trebuie vreodată să modificăm manual un fișier de zonă, trebuie să efectuăm următoarea procedură, dar nu înainte de a ști puțin mai multe despre funcționarea utilitarului. 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, crezi că voi transcrie întregul manual? ... o bucată și se duc cu mașina. Restul vi-l 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.

Precauții care trebuie luate atunci când edităm manual un fișier de zonă? La fel ca și când am fi creat-o, fără a uita să mărim numărul de serie cu 1 sau de serie î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.

Ei mă iartă pentru orice interpretare greșită a conceptelor gândite, create, scrise, revizuite, rescrise și publicate în limba lui Shakespeare, nu 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?


Lasă comentariul tău

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

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Christian Merchan el a spus

    Vă mulțumesc mult pentru munca dvs. lăudabilă în scrierea unor astfel de articole fructuoase. Îmi va fi de mare folos

  2.   Federico el a spus

    Și vă mulțumesc foarte mult, Cristian, pentru că m-ați urmărit și pentru evaluarea dvs. despre această postare. Succesuri!

  3.   Ismael Alvarez Wong el a spus

    După ce a aruncat o primă privire asupra acestei noi postări a lui Federico, marele profesionalism văzut în întreaga serie «PYMES» se remarcă din nou; pe lângă detaliile minunate care ilustrează domeniul dvs. pe două dintre cele mai importante servicii (DNS și DHCP) ale oricărei rețele. Cu această ocazie și spre deosebire de comentariile mele anterioare, am un al doilea comentariu în așteptare după ce am pus în practică ceea ce este menționat în această postare.

  4.   crespo88 el a spus

    Fără comentarii, pa '400 !!! Fico vă mulțumesc pentru că știți foarte bine că v-am citit postările și nu putem cere mai multe. Începeți cu o organizare foarte bună, de la modul de instalare și setare a desktopului personal al unui utilizator, stația de lucru este baza, este sentimentul de a fi al acelor servicii de rețea pe care le explicați foarte bine. Ați urcat și, deși este adevărat că nivelul crește, este adevărat că ați scris și publicat pentru cei care sunt mai puțin decât cei care încep, pentru cei care sunt ca mine de ceva timp și pentru cei mai avansați.
    De-a lungul timpului am ajuns la concluzia că știu că mulți au ajuns deja, teoria, ceea ce ne costă atât de mult să dobândim pentru simplul fapt de a nu dori să citim, deoarece executarea este deja mult mai ușoară atunci când știm ce facem, de ce ???, întrebările, unde să găsim și cum să ieșim din eroarea care dă atât de multă durere de cap când nici nu știm de unde provin, merită redundanța.
    Din acest motiv, nu vreau să lăsați în urmă acele elemente teoretice pe care le veți include despre înregistrările DNS în următoarea publicație așa cum ați anunțat, cu atât mai puțin când vine vorba de dragul și iubitul DEBIAN.
    MULTUMESC MULTE si asteptam.

  5.   dhunter el a spus

    Excelent ca întotdeauna Fico! Aștept versiunea Debian, am jucat totul cu acea distribuție de ani de zile.

  6.   Federico el a spus

    Wong: Opinia ta după lectură merită foarte mult. Aștept comentariile dvs. când testați conținutul, pentru că știu că așa vă place să o faceți. 😉

  7.   Federico el a spus

    Crespo: Ca întotdeauna, comentariile dvs. sunt foarte bine primite. Văd că ați surprins linia generală pe care am ridicat-o în compoziția acestei serii. Sper că, la fel ca tine, mulți au observat deja. Multumesc pentru comentariul tau.

  8.   Federico el a spus

    Dhunter: Bine să te citesc din nou! Nu va trebui să aștepți mult. Până cel târziu luni - sau înainte - va fi finalizat pentru publicare. Nu credeți că este ușor pentru mine să acoperi trei distrosuri diferite, dar cititorul respectabil o cere. Nu numai Debian și Ubuntu, ci și cele Trei Orientate către IMM-uri.

  9.   crespo88 el a spus

    Dacă ați publicat, este pentru că puteți, vă sprijinim și știm că veți urma această linie.
    Ca vânător, aștept lansarea Debian cu dinți ascuțiți. Ar fi frumos dacă ați acoperi puțin despre NTP. Sl2 și o îmbrățișare mare. Dacă profesorii mei m-ar fi învățat tot așa, HAHAJJA, Platinum Degree, HAHAJJA.

  10.   Federico el a spus

    Nivelul de detaliu în ieșirile de comandă este necesar pentru a arăta importanța acestuia. Spun multe. Este adevărat că puține articole abordează acest nivel de detaliu, deoarece consideră că ar fi articole lungi și grele de citit. Ei bine, o parte a sarcinii unui SysAdmin este de a citi acele rezultate grele și detaliate, nu doar în fața unei probleme, ci și în fața verificărilor.

  11.   Ismael Alvarez Wong el a spus

    Bună ziua Federico, promisem înainte să scriu câteva comentarii după ce am studiat cu atenție postarea în cauză; Ei bine, aici urmează:
    - Tehnică excelentă de a genera cheia TSIG pentru actualizări DNS dinamice de către DHCP, copiind aceeași cheie rndc.key ca dhcp.key, acest lucru aparent „atât de simplu” arată că scopul nu este doar tehnicitatea din HOWTO-INSTALL-DNS - & - DHCP, dar ne învață să gândim, 5 STELE PENTRU AUTOR.
    – Foarte interesanta in fisierul de configurare DNS, numit.conf, prezenta liniei «allow-transfer { localhost; 192.168.10.1; };» pentru a testa domeniul «desdelinux.fan" numai de la stația de lucru SysAdmin și localhost (serverul DNS însuși), și pe lângă introducerea cheii TSIG pentru actualizarea DNS-ului de la DHCP.
    - Foarte bine crearea zonelor directe și inverse ale DNS împreună cu explicația „detaliată” a tipurilor lor de înregistrări, pe lângă executarea comenzii „# named-checkconf -zp” pentru a verifica toată sintaxa numitului înainte de hard reset, precum și exemple de rularea comenzii „dig” pentru a verifica diferite tipuri de înregistrări DNS.
    . În configurația DHCP (folosind fișierul /etc/dhcp/dhcpd.conf):
    - Cum să adăugăm rețeaua noastră locală cu gama sa pentru atribuirea adreselor IP dinamice, definiția serverului de nume, etc; precum și cum să îi spuneți lui DHCP să actualizeze înregistrările DNS prin utilizarea liniilor „ddns- ...” în configurația sa.
    . Când totul este deja operațional, 5 STELE PENTRU AUTOR, în executarea comenzii «# dig desdelinux.fan axfr» pentru a verifica TTL-ul computerelor LAN care au IP-uri statice și cele care au IP-uri dinamice atribuite.
    . În cele din urmă, grozav, modificarea manuală a fișierelor Zone prin înghețarea lor mai întâi cu «# rndc freeze desdelinux.fan”, apoi efectuând modificarea și în final dezghețându-le cu „# rndc thaw desdelinux.ventilator"
    . ȘI CEL MAI BUN, TOTUL S-A FĂCUT DE LA TERMINAL.
    Ține-o așa Fico.

    1.    Bucurie el a spus

      Bună ziua,
      Ik kom net kijken, dit omdat ik probeer te achterhalen hoe het kan dat alles gedeeld en verwijderd wordt op mijn computer zelfs mijn foto's. Vezi tot ce mă controlează peste computerul meu pe mobil.
      Het zit m dus ook in het dns in dhcp. Ik weet echt niet hoe ik dit moet oplossen en het kan verwijderen. Misschien dat iemand mij wilt helpen? Dit is namelijk buiten mij om geinstalleerd. Walgelijk gedrag vind ik het.

  12.   Federico el a spus

    Wong: comentariul dvs. completează articolul. Serios, arată că l-ați studiat amănunțit. În caz contrar, nu ați putea comenta cu nivelul de detaliere pe care îl faceți. Doar adaugă asta permite-transfer Este folosit în principal pentru când avem un DNS Slave și permitem transferul zonelor de la master la acesta. Îl folosesc așa, deoarece este un mecanism ușor de implementat pentru a efectua verificări nepericuloase de la un singur computer. Vă mulțumesc foarte mult pentru evaluarea dvs. de 5. Salutări! și voi continua să vă aștept în următoarele articole.

  13.   IgnacioM el a spus

    Buna Federico. Știu că am întârziat puțin, dar aș vrea să vă pun o întrebare.
    Această procedură mă va ajuta dacă vreau să îndrept un domeniu către serverul meu VPS?

    La fiecare 15 minute primesc aceste mesaje de sistem:

    DHCPREQUEST pe eth0 la portul 67 (xid = ...)
    DHCPACK de la (xid = ...)
    obligat la - reînnoire în 970 de secunde.

    Și din ceea ce înțeleg ar trebui să creez o înregistrare A cu domeniul meu și IP-ul serverului meu dedicat.

    * Felicit și vă mulțumesc pentru acest articol, nu știu dacă este ceea ce căutam, dar mi s-a părut foarte interesant și bine explicat. În plus, iau recomandarea „DNS și BIND” pe care deja o bârfesc puțin și mi se pare foarte interesant.

    Salutari din Argentina!

    1.    antonio valdes încă el a spus

      vă rog să mă contactați valdestoujague@yandex.com