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 Cricket Liu, 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.fan
Numele serverului DNS: dns.fromlinux.fan
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 sysadmin.fromlinux.fan:

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.fan

[buzz @ dns ~] $ cat /etc/resolv.conf 
# Generat de căutarea NetworkManager din serverul de nume linux.fan 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 ifdown. 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 mired {
 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 de la linux.fan axfr // de la stația de lucru SysAdmin și numai 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.fan" {
 tip master;
 fișier „dynamic / db.fromlinux.fan”;
 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
zone localhost.localdomain / IN: încărcat serial 0 zone localhost / IN: încărcat serial 0 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: încărcat serial 0 zone 1.0.0.127.in-addr.arpa/IN: încărcat serial 0 zone 0.in-addr.arpa/IN: încărcat serial 0 zone de la linux.fan/IN: încărcare de la master fișier dinamic / db.from linux.fan nu a reușit: fișierul nu a fost găsit din linux.fan/IN: nu a fost încărcat din cauza erorilor. _default / desdelinux.fan / IN: fișierul nu a fost găsit zona 10.168.192.in-addr.arpa/IN: încărcarea din fișierul master dinamic / 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 este î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ă named-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 de pe linux.fan

... 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.fromlinux.fan

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

Verificăm /var/named/dynamic/db.fromlinux.fan

[root @ dns ~] # named-checkzone from linux.fan / var / named / dynamic / db. fromlinux.fan
zona de la linux.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.fromlinux.fan. root.dns.fromlinux.fan. (1; serial 1D; reîmprospătare 1H; reîncercați 1W; expiră 3H); minim sau; Timp negativ de stocare în cache; @ IN NS dns.fromlinux.fan. ; 1 IN PTR sysadmin.fromlinux.fan. 3 IN PTR ad-dc.fromlinux.fan. 4 IN PTR fileserver.fromlinux.fan. 5 IN PTR dns.fromlinux.fan. 6 IN PTR proxyweb.desdelinux.fan. 7 ÎN PTR blog.desdelinux.fan. 8 IN PTR ftpserver.fromlinux.fan. 9 ÎN PTR mail.fromlinux.fan.

[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
zone localhost.localdomain / IN: încărcat serial 0 zone localhost / IN: încărcat serial 0 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: încărcat serial 0 zone 1.0.0.127.in-addr.arpa/IN: încărcat serial 0 zone 0.in-addr.arpa/IN: încărcat serial 0 zone de la linux.fan/IN: încărcat serial 1 zona 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 named-checkconf -zp:

[root @ dns ~] # named-checkconf -zp
zone localhost.localdomain / IN: încărcat serial 0 zone localhost / IN: încărcat serial 0 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: încărcat serial 0 zone 1.0.0.127.in-addr.arpa/IN: încărcat serial 0 zone 0.in-addr.arpa/IN: încărcat serial 0 zone de la linux.fan/IN: încărcat serial 1 zona 10.168.192.in-addr.arpa/IN: opțiuni seriale 1 încărcate {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; }; ascultați-pe-v6 portul 53 {:: 1/128; }; directorul cheilor gestionate "/ var / named / dynamic"; fișierul memstatistics "/var/named/data/named_mem_stats.txt"; pid-file "/run/named/named.pid"; fișierul statistic „/var/named/data/named_stats.txt”; dnssec-enable da; dnssec-validation da; recursivitate nr; allow-query {"mired"; }; allow-transfer {192.168.10.1/32; }; }; acl "mired" {127.0.0.0/8; 192.168.10.0/24; }; logare {canal "default_debug" {file "data / named.run"; dinamică de severitate; }; }; cheie "cheie dhcp" {algoritm "hmac-md5"; secret "OI7Vs + TO83L7ghUm2xNVKg =="; }; zona "." IN {tip sugestie; fișier „named.ca”; }; zona "localhost.localdomain" IN {tip master; fișierul „named.localhost”; allow-update {"none"; }; }; zona "localhost" IN {tip master; fișierul „named.localhost”; allow-update {"none"; }; }; 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 {"none"; }; }; zona "1.0.0.127.in-addr.arpa" IN {tip master; fișierul "named.loopback"; allow-update {"none"; }; }; zona "0.in-addr.arpa" IN {master tip; fișier „named.empty”; allow-update {"none"; }; }; zona "desdelinux.fan" {tip master; fișier „dynamic / db.fromlinux.fan”; allow-update {cheie "cheie dhcp"; }; }; zona "10.168.192.in-addr.arpa" {tip master; fișier „dynamic / db.10.168.192.in-addr.arpa”; allow-update {cheie "cheie dhcp"; }; }; chei gestionate {"." inițial cheie-257 3 august "AwEAAagAIKlVZrpC8Ia6gEzahOR + 7W9euxhJhVVLOyQbSEW29O0gcCjF FVQUTf8v6fLjwBd58YI0EzrAcQqBGCzh / RStIoO0g8NfnfL0MTJRkxoX bfDaUeVPQuYEhg2NZWAJQ37VnMVDxP / VHL9M / QZxkjf496 / Efucp5gaD X2RS6CXpoY6LsvPVjR68ZSwzz0apAzvN1dlzEheX9ICJBBtuA7G6LQpz W3hOA5hzCTMjJPJ2LbqF8dsV6DoBQzgul6sGIcGOYl0OyQdXfZ7relS Qageu + ipAdTTJ57AsRTAoub25ONGcLmqrAmRLKBP8dfwhYB1N4knNnulq QXA + Uk7ihz1 ="; };
  • 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) de Duminică 2017 01:29:10 EST; Acum 05min 32s Proces: 2 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 57> & 1777 || / 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: 1788 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: 1786 (numit) CGroup: /system.slice/named.service └─0 / usr / sbin / named -u named 1791 ian 1791:29:10 dns named [05]: zone 32.in-addr.arpa/IN: serial încărcat 1791 ianuarie 1.0.0.127 0:29:10 dns numit [05]: zona 32.in-addr.arpa/IN: serial încărcat 1791 ianuarie 10.168.192 1:29:10 dns numit [05]: zona 32.ip1791.arpa/IN : încărcat serial 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 6 ian 0:29:10 dns numit [05]: zona desdelinux.fan/IN: încărcat serial 32 ianuarie 1791 1:29:10 dns numit [05]: zonă localhost.localdomain / IN: încărcat serial 32 1791 ianuarie 0:29:10 dns numit [05]: zone localhost / IN: încărcat serial 32 1791 ianuarie 0:29:10 dns numit [05]: 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ă sysadmin.fromlinux.fan 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 din serverul de nume linux.fan 192.168.10.5

buzz @ sysadmin: ~ $ dig from linux.fan axfr
; << >> DiG 9.9.5-9 + deb8u1-Debian << >> de la linux.fan axfr ;; opțiuni globale: + cmd din linux.fan. 10800 IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 1 86400 3600 604800 10800 de la linux.fan. 10800 IN NS dns.fromlinux.fan. de la linux.fan. 10800 IN MX 10 mail.fromlinux.fan. de la linux.fan. 10800 IN TXT „FromLinux, blogul tău dedicat software-ului gratuit” ad-dc.desdelinux.fan. 10800 ÎN A 192.168.10.3 blog.desdelinux.fan. 10800 IN A 192.168.10.7 dns.fromlinux.fan. 10800 IN A 192.168.10.5 fileserver.fromlinux.fan. 10800 IN A 192.168.10.4 ftpserver.fromlinux.fan. 10800 IN A 192.168.10.8 mail.fromlinux.fan. 10800 IN A 192.168.10.9 proxyweb.fromlinux.fan. 10800 IN A 192.168.10.6 sysadmin.fromlinux.fan. 10800 IN To 192.168.10.1 de la linux.fan. 10800 IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 1 86400 3600 604800 10800 ;; Timp de interogare: 0 msec ;; SERVER: 192.168.10.5 # 53 (192.168.10.5) ;; CÂND: Duminică 29 ianuarie 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.fromlinux.fan.10.168.192.in-addr.arpa. root.dns.fromlinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 10.168.192.in-addr.arpa. 10800 IN NS dns.fromlinux.fan. 1.10.168.192.in-addr.arpa. 10800 IN PTR sysadmin.fromlinux.fan. 3.10.168.192.in-addr.arpa. 10800 IN PTR ad-dc.fromlinux.fan. 4.10.168.192.in-addr.arpa. 10800 IN PTR fileserver.fromlinux.fan. 5.10.168.192.in-addr.arpa. 10800 IN PTR dns.fromlinux.fan. 6.10.168.192.in-addr.arpa. 10800 IN PTR proxyweb.fromlinux.fan. 7.10.168.192.in-addr.arpa. 10800 IN PTR blog.desdelinux.fan. 8.10.168.192.in-addr.arpa. 10800 IN PTR ftpserver.fromlinux.fan. 9.10.168.192.in-addr.arpa. 10800 IN PTR mail.fromlinux.fan. 10.168.192.in-addr.arpa. 10800 IN SOA dns.fromlinux.fan.10.168.192.in-addr.arpa. root.dns.fromlinux.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: Duminică 29 ianuarie 11:44:57 EST 2017 ;; Dimensiune XFR: 11 înregistrări (mesaje 1, octeți 352)

buzz @ sysadmin: ~ $ dig IN SOA de la linux.fan
buzz @ sysadmin: ~ $ dig IN MX de la linux.fan buzz @ sysadmin: ~ $ dig IN TXT de la linux.fan
buzz @ sysadmin: ~ $ host dns
dns.fromlinux.fan are adresa 192.168.10.5
buzz @ sysadmin: ~ $ host sysadmin
sysadmin.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 server DHCP. # vezi /usr/share/doc/dhcp*/dhcpd.conf.example # vezi dhcpd.conf (5) pagina man # ddns-update-style interim; ddns-actualizări pe; ddns-nume de domeniu "desdelinux.fan."; ddns-rev-domainname "in-addr.arpa."; ignorați actualizările clientului; autoritar; opțiune redirecționare ip dezactivată; opțiune nume de domeniu "desdelinux.fan"; # option ntp-servers 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; includeți „/etc/dhcp.key”; zone de la linux.fan. {primar 127.0.0.1; cheie dhcp-cheie; } zona 10.168.192.in-addr.arpa. {primar 127.0.0.1; cheie dhcp-cheie; } redlocal rețea partajată {subrețea 192.168.10.0 netmask 255.255.255.0 {routere cu opțiuni 192.168.10.1; opțiune sub-mască 255.255.255.0; opțiune adresa de difuzare 192.168.10.255; opțiune nume-domeniu-servere 192.168.10.5; opțiunea netbios-name-servers 192.168.10.5; interval 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: seven.fromlinux.fan y suse-desktop.fromlinux.fan. Verificările au fost după cum urmează:

buzz @ sysadmin: ~ $ host seven
seven.fromlinux.fan are adresa 192.168.10.30

buzz @ sysadmin: ~ $ host seven.fromlinux.fan
seven.fromlinux.fan are adresa 192.168.10.30

buzz @ sysadmin: ~ $ dig IN TXT seven.fromlinux.fan
.... ;; SECȚIUNEA ÎNTREBĂRII :; seven.fromlinux.fan. ÎN TXT ;; SECȚIUNEA DE RĂSPUNS: seven.desdelinux.fan. 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: ~ $ host seven.fromlinux.fan
Gazda seven.desdelinux.fan nu a fost găsit: 3 (NXDOMAIN)

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

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

buzz @ sysadmin: ~ $ dig IN TXT lager.fromlinux.fan
.... ;; SECȚIUNEA DE ÎNTREBARE :; lager.fromlinux.fan. ÎN TXT ;; SECȚIUNEA DE RĂSPUNS: lager.fromlinux.fan. 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: ~ $ host suse-desktop.fromlinux.fan
suse-desktop.desdelinux.fan are adresa 192.168.10.33

buzz @ sysadmin: ~ $ host 192.168.10.33
33.10.168.192.in-addr.arpa pointer nume domeniu suse-desktop.desdelinux.fan.

buzz @ sysadmin: ~ $ host 192.168.10.30
30.10.168.192.in-addr.arpa indicator de nume de domeniu LAGER.desdelinux.fan.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
.... ;; SECȚIUNEA ÎNTREBARE :; 33.10.168.192.in-addr.arpa. ÎN PTR ;; SECȚIUNEA DE RĂSPUNS: 33.10.168.192.in-addr.arpa. 3600 IN PTR suse-desktop.fromlinux.fan. ;; SECȚIUNEA AUTORITĂȚII: 10.168.192.in-addr.arpa. 10800 IN NS dns.fromlinux.fan. ;; SECȚIUNE SUPLIMENTARĂ: dns.fromlinux.fan. 10800 ÎN A 192.168.10.5 ....

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

;; SECȚIUNEA AUTORITĂȚII: desdelinux.fan. 10800 IN NS dns.fromlinux.fan. ;; SECȚIUNE SUPLIMENTARĂ: dns.fromlinux.fan. 10800 ÎN A 192.168.10.5
....

Să rulăm și următoarele comenzi

[root @ dns ~] # dig from linux.fan axfr
; << >> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 << >> desdelinux.fan axfr ;; opțiuni globale: + cmd din linux.fan. 10800 IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 6 86400 3600 604800 10800 de la linux.fan. 10800 IN NS dns.fromlinux.fan. de la linux.fan. 10800 IN MX 10 mail.fromlinux.fan. de la linux.fan. 10800 IN TXT „FromLinux, blogul tău dedicat software-ului gratuit” ad-dc.desdelinux.fan. 10800 ÎN A 192.168.10.3 blog.desdelinux.fan. 10800 IN A 192.168.10.7 dns.fromlinux.fan. 10800 IN A 192.168.10.5 fileserver.fromlinux.fan. 10800 IN A 192.168.10.4 ftpserver.fromlinux.fan. 10800 IN A 192.168.10.8 LAGER.fromlinux.fan. 3600 ÎN TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"LAGER.fromlinux.fan.   3600 ÎN A 192.168.10.30 mail.fromlinux.fan. 10800 IN A 192.168.10.9 proxyweb.fromlinux.fan. 10800 IN A 192.168.10.6 suse-desktop.fromlinux.fan. 3600 ÎN TXT "31b78d287769160c93e6dca472e9b46d73"suse-desktop.desdelinux.fan. 3600 IN A 192.168.10.33 sysadmin.fromlinux.fan. 10800 IN To 192.168.10.1 de la linux.fan. 10800 IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 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 [zone [class [view]]], 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ț [zone [class [view]]], 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 from linux.fan

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

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

[root @ dns ~] # journalctl -f
29 ianuarie 14:06:46 dns numit [2257]: zona de dezgheț „desdelinux.fan/IN”: succes
29 ianuarie 14:06:46 dns numit [2257]: zone din linux.fan/IN: zone serial (6) neschimbat. zona nu poate transfera către sclavi.
29 ianuarie 14:06:46 dns numit [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 Duminică 2017 01:29:08 EST. - 31 ianuarie 32:29:14 dns denumit [06]: zone desdelinux.fan/IN: încărcat serial 46 ianuarie 2257 6:29:14 dns systemd [10]: S-a început sesiunea 01 a utilizatorului root. 1 ianuarie 43:29:14 dns systemd [10]: Începerea sesiunii 01 a utilizatorului root. 1 ianuarie 43:29:14 dns CROND [10]: (rădăcină) CMD (/ usr / lib01 / sa / sa2693 64 1) 1 ianuarie 1:29:14 dns numit [10]: a primit comanda canalului de control 'freeze from linux. fan '45 ian 2257:29:14 dns numit [10]: zona de îngheț' desdelinux.fan/IN ': succes 45 ianuarie 2257:29:14 dns numit [10]: a primit comanda canalului de control' dezgheț desdelinux.fan 'ian 58 2257:29:14 dns numit [10]: zona de dezghețare 'desdelinux.fan/IN': succes 58 ianuarie 2257:29:14 dns numit [10]: zone desdelinux.fan/IN: fișierul jurnal nu este actualizat: eliminarea fișierului jurnal 58 ianuarie 2257:29:14 dns numit [10]: zone desdelinux.fan/IN: serial încărcat 58
  • 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?


Conținutul articolului respectă principiile noastre de etică editorială. Pentru a raporta o eroare, faceți clic pe aici.

15 comentarii, lasă-le pe ale tale

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.   Cristian 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 interesant în fișierul de configurare DNS, named.conf, prezența liniei «allow-transfer {localhost; 192.168.10.1; }; » pentru a testa domeniul «desdelinux.fan» numai de pe stația de lucru SysAdmin și localhost (serverul DNS în sine) și, de asemenea, introduceți cheia TSIG pentru a actualiza DNS-ul 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 de pe LAN care au IP static al celor care au atribuit un IP dinamic.
    . În cele din urmă, MARE, modificarea manuală a fișierelor Zones prin înghețarea lor mai întâi cu „# rndc freeze desdelinux.fan”, apoi efectuarea modificării și în cele din urmă dezghețarea lor cu „# rndc thaw desdelinux.fan”
    . Ș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