DNS og DHCP i CentOS 7 - SMB-netværk

Generelt serieindeks: Computernetværk til SMV'er: Introduktion

Hej venner!. Vi vil se i denne artikel, hvordan vi kan implementere det vigtige par tjenester til netværk, der udgøres af DNS og DHCP på CentOS - Linux, specifikt i sin version 7.2.

  • Nogle artikler om DNS henviser til det faktum, at implementeringen af ​​denne service er lidt uklar og vanskelig. Jeg er ikke særlig enig i denne erklæring. Jeg vil hellere sige, at det er lidt konceptuelt, og at mange af dets konfigurationsfiler har kræsen syntaks. Heldigvis har vi værktøjer til at kontrollere, trin for trin, syntaksen for hver konfigurationsfil, som vi ændrer. Derfor vil vi prøve at gøre læsning af dette indlæg så behageligt og behageligt som muligt..

For dem, der leder efter det grundlæggende i begge tjenester, anbefaler vi på det kraftigste at starte din søgning på Wikipedia, både i dens spanske og engelske versioner. Det er ikke mindre sandt, at artikler på engelsk næsten altid er mere komplette og sammenhængende. Alligevel er Wikipedia et meget godt udgangspunkt.

For de af jer, der virkelig vil lære om DNS og BIND, anbefaler vi at læse bogen «OReilly - DNS og BIND 4ed" skrevet af Paul albitz y Liu Cricket, eller en senere udgave, der helt sikkert eksisterer.

Vi har allerede offentliggjort en artikel om emnet med titlen «DNS og DHCP i openSUSE 13.2 Harlequin - SME-netværk»For elskere af det grafiske miljø. Fra nu af vil de imidlertid stå over for artikler om dette emne - ikke om andre - skrevet med meget brug af emulatoren til en terminal eller konsol. Wow, i den klassiske stil, der bruges af UNIX® / Linux systemadministratorer.

Hvis du vil vide mere om efternavnet på titlen på denne artikel «SMV-netværk»Du kan besøge siden i denne blog«SMV-netværk: første virtuelle nedskæring«. I den finder du links til mange andre offentliggjorte artikler.

  • Efter installationen af ​​CentOS 7-operativsystemet er afsluttet med de pakker, vi anbefaler, eJeg bibliotek /usr/share/doc/bind-9.9.4/ Den indeholder en god mængde dokumentation, som vi anbefaler, at du konsulterer, inden du begiver dig ud på en internetsøgning uden først at vide, at du lige ved hånden og i dit eget hjem kan finde det, du leder efter.

Installation af basesystem

Generelle data for domænet og DNS-serveren

Domænenavn: fromlinux.fan
DNS-servernavn: dns.fromlinux.fan
IP-adresse: 192.168.10.5
Subnetmaske: 255.255.255.0

Installation

Vi starter med en ny eller ren installation af CentOS 7-operativsystemet som angivet i den foregående artikel «CentOS 7 Hypervisor I - SMB-netværk«. Vi behøver kun at foretage følgende ændringer:

  • I Imagen 22 «VALG AF SOFTWARE«, Vi anbefaler at vælge i venstre kolonne«Grundmiljø»Indstillingen svarende til en«Infrastruktur server«, Mens du er i højre kolonne«Plugins til valgt miljø»Marker afkrydsningsfeltet«DNS-navneserver«. Vi installerer DHCP-serveren senere.
  • Lad os huske erklæringen om de ekstra arkiver som vist i Imagen 23, efter indstilling af «NETVÆRK & TEAMNAVN".
  • Billederne, der henviser til de partitioner, som vi opretter på vores harddisk, gives kun som vejledninger. Du er velkommen til at vælge skillevægge efter eget skøn, praksis og god dømmekraft.
  • Endelig i Billede 13 «NETVÆRK & TEAMNAVN», skal vi ændre værdierne i henhold til de generelle parametre for deklareret domæne og DNS-server uden at glemme at angive værtsnavnet - i dette tilfælde «dns«- efter netværkskonfigurationen er afsluttet. Det er positivt at gøre ping -fra en anden vært- til den angivne IP-adresse, efter at netværket er aktivt:

DNS og DHCP på CentOS

Der er virkelig få og meget åbenlyse ændringer, som vi skal foretage i forhold til den forrige artikel.

Indledende kontrol og justeringer

Når vi har installeret operativsystemet, skal vi i det mindste gennemgå følgende filer, og for dette starter vi en session via SSH fra vores computer sysadmin.fromlinux.fan:

buzz @ sysadmin: ~ $ ssh 192.168.10.5
buzz@192.168.10.5's adgangskode: Sidste login: lør 28 jan 09:48:05 2017 fra 192.168.10.1
[buzz @ dns ~] $

Ovenstående handling kan tage længere tid end normalt, og det skyldes hovedsageligt, at vi endnu ikke har en DNS på LAN. Kontroller igen senere, at DNS fungerer.

[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 
# Genereret af NetworkManager søgning fra linux.fan nameserver 127.0.0.1

Hovedkonfigurationerne reagerer på vores valg. Bemærk, at selv på en server Red Hat 7 - CentOS 7, er som standard konfigureret når Netværksmanager så dette er den, der administrerer netværksgrænsefladerne, hvad enten de er kabelforbundne eller trådløse (WiFi), VPN-forbindelser, PPPoE-forbindelser og enhver anden netværksforbindelse.

[buzz @ dns ~] $ sudo systemctl status netværksadministrator
[sudo] adgangskode til buzz: ● networkmanager.service Loaded: ikke fundet (Årsag: Ingen sådan fil eller bibliotek) Aktiv: inaktiv (død)

[buzz @ dns ~] $ sudo systemctl status NetworkManager
● NetworkManager.service - Netværk Manager indlæst: indlæst (/usr/lib/systemd/system/NetworkManager.service; aktiveret; forudindstilling af leverandør: aktiveret) Aktiv: aktiv (kører) siden lør 2017-01-28 12:23:59 EST; 12 minutter siden Hoved-PID: 705 (NetworkManager) CGroup: /system.slice/NetworkManager.service 705─XNUMX / usr / sbin / NetworkManager --no-daemon

Red Hat - CentOS giver dig også mulighed for at oprette forbindelse og afbryde netværksgrænseflader ved hjælp af de klassiske kommandoer ifup e hvis nede. Lad os køre på en serverkonsol:

[root @ dns ~] # ifdown eth0
Enheden 'eth0' blev afbrudt.

[root @ dns ~] # ifup eth0
Forbindelse aktiveret med succes (D-Bus aktiv sti: / org / freedesktop / NetworkManager / ActiveConnection / 1)
  • Vi foreslår ændre ikke standardindstillingerne, som CentOS 7 tilbyder med hensyn til Netværksmanager.

Vi erklærer endeligt arkiverne, som vi vil bruge, og opdaterer om nødvendigt operativsystemet:

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

Det er sundt at læse indholdet af de originale erklæringsfiler fra CentOS-anbefalede arkiver. De ændringer, vi foretager her, skyldes, at vi ikke har internetadgang, og vi arbejder med lokale arkiver downloadet fra WWW Village af kolleger, der gør vores liv lidt lettere. 😉

[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 rense alt
Indlæste plugins: hurtigste spejl, langpacks Rengøringslagre: centos-base centos-opdateringer Rydder op i alt

[root @ dns yum.repos.d] # yum opdatering
Indlæste plugins: hurtigste spejl, centos-base langpacks | 3.4 kB 00:00 cent-opdateringer | 3.4 kB 00:00 (1/2): centos-base / primær_db | 5.3 MB 00:00 (2/2): centos-opdateringer / primær_db | 9.1 MB 00:00 Bestemmelse af hurtigste spejle Ingen pakker markeret til opdatering

Meddelelsen «Ingen (der er) pakker markeret til opdatering» - «Ingen pakker markeret til opdatering»Angiver, at nøjagtigt de mest aktuelle pakker blev installeret ved at erklære de mest opdaterede opbevaringssteder, der var tilgængelige for os under installationen.

Om SELinux-sammenhæng og firewall

Vi vil fokusere denne artikel - grundlæggende - på implementeringen af ​​DNS og DHCP-tjenester, som er dens hovedmål.

Hvis en læser valgte en sikkerhedspolitik under installationsprocessen, som angivet i Imagen 06 af referenceartiklen «CentOS 7 Hypervisor I - SMB-netværk»Brugt til installation af denne DNS - DHCP-server, og du finder ud af, at du ikke ved, hvordan du korrekt konfigurerer SELinux og CentOS Firewall, vi foreslår, at du kører følgende:

Rediger filen / Etc / sysconfig / selinux og ændre SELinux = håndhævende af SELINUX = deaktiver

[root @ dns ~] # nano / etc / sysconfig / selinux
# Denne fil styrer tilstanden af ​​SELinux på systemet. # SELINUX = kan tage en af ​​disse tre værdier: # håndhævelse - SELinux sikkerhedspolitik håndhæves. # permissive - SELinux udskriver advarsler i stedet for at håndhæve. # deaktiveret - Ingen SELinux-politik er indlæst.
SELinux = deaktiveret
# SELINUXTYPE = kan tage en af ​​tre to værdier: # målrettet - Målrettede processer er beskyttet, # minimum - Ændring af målrettet politik. Kun valgte processer er pr $ # mls - Sikkerhedsbeskyttelse på flere niveauer. SELINUXTYPE = målrettet

Kør derefter følgende kommandoer

[root @ dns ~] # setenforce 0
[root @ dns ~] # service firewalld stop
Omdirigering til / bin / systemctl stop firewalld.service

[root @ dns ~] # systemctl deaktiver firewalld
Fjernet symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Fjernet symlink /etc/systemd/system/basic.target.wants/firewalld.service.

Hvis du implementerer en DNS-server, der vender mod internettet, skal du IKKE gøre ovenstående, men konfigurere SELinux-konteksten og Firewall korrekt. Se "Serverkonfiguration med GNU / Linux, af forfatteren Joel Barrios Dueñas" eller CentOS-dokumentation i sig selv - Red Hat

Vi konfigurerer BIND - navngivet

  • EJeg bibliotek /usr/share/doc/bind-9.9.4/ indeholder en god mængde dokumentation, som vi anbefaler, at du konsulterer, inden du begiver dig ud på en internetsøgning uden først at vide, at du lige ved hånden og i dit eget hjem kan finde det, du leder efter

I mange distributioner kaldes DNS-tjenesten installeret via BIND-pakken som hedder (Navn Daemon). I CentOS 7 er det som standard deaktiveret i henhold til output fra følgende kommando, hvor det hedder, at dets status er «deaktiveret«, Og at denne tilstand er foruddefineret af sin« sælger »- forudindstilling af leverandør. For ordens skyld er BIND fri software.

Aktivering af den navngivne tjeneste

[root @ dns ~] # systemctl-status navngivet
● named.service - Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named.service; deaktiveret; forudindstilling af leverandør: deaktiveret) Aktiv: inaktiv (død)

[root @ dns ~] # systemctl-aktivering navngivet
Oprettet symlink fra /etc/systemd/system/multi-user.target.wants/named.service til /usr/lib/systemd/system/named.service.

[root @ dns ~] # systemctl start navngivet

[root @ dns ~] # systemctl-status navngivet
● named.service - Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named.service; aktiveret; forudindstilling af leverandør: deaktiveret)
   Aktiv: Aktiv (kører) siden lør 2017-01-28 13:22:38 EST; For 5 minutter siden Process: 1990 ExecStart = / usr / sbin / named -u med navnet $ OPTIONS (kode = afsluttet, status = 0 / SUCCESS) Process: 1988 ExecStartPre = / bin / bash -c hvis [! "$ DISABLE_ZONE_CHECKING" == "ja"]; derefter / usr / sbin / named-checkconf -z /etc/named.conf; ellers ekko "Kontrol af zonefiler er deaktiveret"; fi (kode = afsluttet, status = 0 / SUCCESS) Hoved-PID: 1993 (navngivet) CGroup: /system.slice/named.service └─1993 / usr / sbin / named -u opkaldt 28. januar 13:22:45 dns navngivet [1993]: fejl (netværk kan ikke nås) ved løsning af './NS/IN': 2001: 500: 2f :: f # 53 Jan 28 13:22:47 dns navngivet [1993]: fejl (netværk kan ikke nås) ved løsning './ DNSKEY / IN ': 2001: 500: 3 :: 42 # 53 Jan 28 13:22:47 dns navngivet [1993]: fejl (netværk kan ikke nås) ved at løse' ./NS/IN ': 2001: 500: 3 :: 42 # 53 Jan 28 13:22:47 dns navngivet [1993]: fejl (netværk kan ikke nås) ved at løse './DNSKEY/IN': 2001: 500: 2d :: d # 53 Jan 28 13:22:47 dns navngivet [1993 ]: fejl (netværk kan ikke nås) ved at løse './NS/IN': 2001: 500: 2d :: d # 53 Jan 28 13:22:47 dns navngivet [1993]: fejl (netværk kan ikke nås) ved at løse './DNSKEY/ IN ': 2001: dc3 :: 35 # 53 Jan 28 13:22:47 dns navngivet [1993]: fejl (netværk kan ikke nås) ved at løse' ./NS/IN ': 2001: dc3 :: 35 # 53 Jan 28 13: 22:47 dns navngivet [1993]: fejl (netværk kan ikke nås) løser './DNSKEY/IN': 2001: 7fe :: 53 # 53 Jan 28 13:22:47 dns navngivet [1993]: fejl (netværk kan ikke nås) res olving './NS/IN': 2001: 7fe :: 53 # 53 Jan 28 13:22:48 dns navngivet [1993]: managed-keys-zone: Kan ikke hente DNSKEY-sæt '.': timeout

[root @ dns ~] # systemctl genstart navngivet

[root @ dns ~] # systemctl-status navngivet
● named.service - Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; forudindstilling af leverandør: deaktiveret)
   Aktiv: Aktiv (kører) siden lør 2017-01-28 13:29:41 EST; For 1 år siden Process: 1449 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (code = exited, status = 0 / SUCCESS) Process: 1460 ExecStart = / usr / sbin / named -u called $ OPTIONS (code = exited, status = 0 / SUCCESS) Process: 1457 ExecStartPre = / bin / bash -c hvis [! "$ DISABLE_ZONE_CHECKING" == "ja"]; derefter / usr / sbin / named-checkconf -z /etc/named.conf; ellers ekko "Kontrol af zonefiler er deaktiveret"; fi (kode = afsluttet, status = 0 / SUCCESS) Hoved-PID: 1463 (navngivet) CGroup: /system.slice/named.service └─1463 / usr / sbin / named -u opkaldt 28. januar 13:29:41 dns navngivet [1463]: managed-keys-zone: journal-filen er forældet: fjernelse af journalfil 28. jan 13:29:41 dns navngivet [1463]: managed-keys-zone: indlæst serie 2. jan 28 13:29:41 dns navngivet [1463]: zone 0.in-addr.arpa/IN: indlæst serie 0 28. januar 13:29:41 dns navngivet [1463]: zone localhost.localdomain / IN: indlæst serie 0 28. januar 13:29:41 dns navngivet [1463]: zone 1.0.0.127.in-addr.arpa/IN: indlæst seriel 0 28. januar 13:29:41 dns navngivet [1463]: zone 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.ip0.arpa / IN: indlæst seriel 28 jan 13 29:41:1463 dns navngivet [0]: zone localhost / IN: indlæst seriel 28 jan 13 29 : 41: 1463 dns navngivet [28]: alle zoner indlæst 13. jan 29:41:1463 dns navngivet [28]: kører 13. jan 29:41:1 dns systemd [XNUMX]: Startet Berkeley Internet Name Domain (DNS).

Når vi aktiverer tjenesten som hedder og vi starter det for første gang, output af kommandoen systemctl status navngivet viser fejl. Når vi genstarter tjenesten nedenfor, som hedder opretter alle de konfigurationsfiler, der som standard er nødvendige for at den fungerer korrekt. Derfor når vi udfører kommandoen igen systemctl status navngivet der vises ikke flere fejl.

  • Kære, dyre og krævende læser: Hvis du i det mindste vil finde ud af, hvilken vej der fører til slutningen af ​​kaninhullet, skal du roligt læse de detaljerede output fra hver kommando. 😉 Artiklen vil helt sikkert virke lidt lang, men benægt ikke, at den får forklaring og klarhed.

Vi ændrer filen /etc/named.conf

Mange læserkommentarer udtrykker -Jeg siger det ikke- Manien, som vedligeholdere af forskellige Linux-distributioner har, om at placere systemkonfigurationsfiler i mapper med forskellige navne afhængigt af distro. De har ret. Men hvad kan vi, de enkle brugere, der bruger disse distributioner, gøre? Tilpasse! 😉

Forresten, i FreeBSD, UNIX®-klon «Oprindelsen», er filen inde /usr/local/etc/namedb/named.conf; mens du er i Debian, ud over at opdele i de fire filer named.conf, named.conf.options, named.conf.default-zones, and named.conf.local, er i mappen / etc / bind /. De, der ønsker at vide, hvor openSUSE placerer det, læs «DNS og DHCP i openSUSE 13.2 Harlequin - SME-netværk«. Læserne har ret! 😉

Og som vi altid gør: inden vi ændrer noget, gemmer vi den originale konfigurationsfil under et andet navn.

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

For at gøre livet lettere i stedet for at generere nøglen tsig for dynamiske DNS-opdateringer med DHCP kopierer vi den samme nøgle rndc.nøgle som dhcp.key.

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

[root @ dns ~] # nano /etc/dhcp.key
nøgle "dhcp-key" {algoritme hmac-md5; hemmelig "OI7Vs + TO83L7ghUm2xNVKg =="; };

Så at som hedder kan læse den lige kopierede fil, vi ændrer dens ejergruppe:

[root @ dns ~] # chown root: opkaldt /etc/dhcp.key [root @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 rod ved navn 77 Jan 28 16:36 /etc/dhcp.key -rw-r -----. 1 rod med navnet 77 Jan 28 13:22 /etc/rndc.key

Små detaljer som den forrige er, hvad der kan gøre os vanvittige ved at finde ud af, nu ... hvor er problemet ...? med nogle flere adjektiver, som vi ikke skriver af respekt for den respektable.

Nu hvis - endelig! - vi ændrer filen /etc/named.conf. De ændringer eller tilføjelser, vi har foretaget med hensyn til originalen, er i fremhævet. Se godt på, hvor få.

[root @ dns ~] # nano /etc/named.conf
// // named.conf // // Leveret af Red Hat bind-pakke til at konfigurere ISC BIND med navnet (8) DNS // server som kun en cache-navneserver (kun som en lokal vært DNS-resolver). // // Se / usr / share / doc / bind * / sample / for eksempel navngivne konfigurationsfiler. //

// Adgangskontroliste, der angiver, hvilke netværk der kan konsultere
// min server hedder
acl mired {
 127.0.0.0 / 8;
 192.168.10.0 / 24;
};

muligheder {
 // Jeg erklærer, at den navngivne dæmon også lytter efter grænsefladen
 // eth0 som har IP: 192.168.10.5
    lytteport 53 {127.0.0.1; 192.168.10.5; };
    lyt-på-v6-port 53 {:: 1; }; bibliotek "/ var / named"; dump-fil "/var/named/data/cache_dump.db"; statistik-fil "/var/named/data/named_stats.txt"; memstatistik-fil "/var/named/data/named_mem_stats.txt";

 // Speditørerklæring
 // speditører {
 // 0.0.0.0;
 // 1.1.1.1;
 //};
    // frem først;

    // Jeg tillader kun forespørgsler til min mired ACL
    tilladelsesforespørgsel {mired; }; // For at kontrollere med kommandoen dig desdelinux.fan axfr // kun fra SysAdmin-arbejdsstationen og localhost // Vi har ikke slave-DNS-servere. Vi har ikke brug for det ... indtil nu.
 tillad-overførsel {localhost; 192.168.10.1; };

    / * - Hvis du bygger en GODKENDELIG DNS-server, skal du IKKE aktivere rekursion. - Hvis du bygger en RECURSIVE (caching) DNS-server, skal du aktivere rekursion. - Hvis din rekursive DNS-server har en offentlig IP-adresse, SKAL du aktivere adgangskontrol for at begrænse forespørgsler til dine legitime brugere. Hvis du ikke gør det, får din server del af store DNS-amplifikationsangreb. Implementering af BCP38 i dit netværk reducerer en sådan angrebsflade i høj grad * /
    // Vi ønsker en AUTHORITY-server til vores LAN - SMV
    rekursionsnr.

    dnssec-aktiveret ja; dnssec-validering ja; / * Sti til ISC DLV-nøgle * / bindkeys-fil "/etc/named.iscdlv.key"; managed-keys-directory "/ var / named / dynamic"; pid-fil "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; logning af {channel default_debug {fil "data / named.run"; sværhedsgrad dynamisk }; }; zone "." IN {tip tip; fil "named.ca"; }; inkluderer "/etc/named.rfc1912.zones"; inkluderer "/etc/named.root.key";

// Vi inkluderer TSIG-nøglen til dynamiske DNS-opdateringer // af DHCP
inkluderer "/etc/dhcp.key";

// Erklæring om navn, type, placering og opdateringstilladelse
// af DNS Records-zoner // Begge zoner er MASTERS
zone "desdelinux.fan" {
 type master;
 fil "dynamisk / db.fromlinux.fan";
 tillad-opdatering {nøgle dhcp-nøgle; };
};

zone "10.168.192.in-addr.arpa" {
 type master;
 fil "dynamisk / db.10.168.192.in-addr.arpa";
 tillad-opdatering {nøgle dhcp-nøgle; };
};

Vi kontrollerer syntaksen

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

Da ovenstående kommando ikke returnerer noget, er syntaksen OK. Men hvis vi udfører den samme kommando, men med indstillingen -z, output vil være:

[root @ dns ~] # navngivet-checkconf -z
zone localhost.localdomain / IN: indlæst seriel 0 zone localhost / IN: indlæst seriel 0 zone 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: indlæst seriel 0 zone 1.0.0.127.in-addr.arpa/IN: indlæst seriel 0 zone 0.in-addr.arpa/IN: indlæst seriel 0 zone fra linux.fan/IN: indlæsning fra master fil dynamisk / db.fromlinux.fan mislykkedes: filen blev ikke fundet zone fralinux.fan/IN: ikke indlæst på grund af fejl. _default / desdelinux.fan / IN: filen blev ikke fundet zone 10.168.192.in-addr.arpa/IN: indlæsning fra masterfil dynamisk / db.10.168.192.in-addr.arpa mislykkedes: filen blev ikke fundet zone 10.168.192 .in-addr.arpa / IN: ikke indlæst på grund af fejl. _default / 10.168.192.in-addr.arpa / IN: filen blev ikke fundet

Naturligvis er det fejl, der opstår, fordi vi endnu ikke har oprettet DNS-registreringszoner til vores domæne.

  • For mere information om kommandoen navngivet-checkconf, løb mand ved navn-checkconf, inden du leder efter andre oplysninger på Internettet. Jeg kan forsikre dig om, at det vil spare en hel del tid.

Vi opretter Direct Zone-filen fra linux.fan

... ikke uden lidt teori først. 😉

Som en skabelon til oprettelse af zondatafilen kan vi tage /var/navngivet/navngivet.tom, Eller /usr/share/doc/bind-9.9.4/sample/var/named/named.empty. Begge er identiske.

[root @ dns ~] # cat /var/named/named.empty 
$ TTL 3H @ IN SOA @ rname.invalid. (0; seriel 1D; opdater 1H; prøv 1W igen; udløber 3H); minimum eller negativ cachetid for at leve NS @ A 127.0.0.1 AAAA :: 1

Livets tid - Tid til at leve TTL SOA-rekord

Lad os tage en parentes for at forklare TTL - Tid til at leve fra registeret SOA - autoritetens start af en masterzone. Det er interessant at kende deres betydning for, hvornår vi vil ændre nogen af ​​deres værdier.

$ TTL: Tid af livet - Tid til at leve for alle poster i filen, der følger erklæringen (men forud for enhver anden $ TTL-erklæring) og ikke har en eksplicit TTL-erklæring.

seriel: Serienummer på zonedataene. Hver gang vi manuelt ændrer en DNS-post i en zone, skal vi øge antallet med 1, især hvis vi har slave- eller sekundære servere. Hver gang en sekundær eller slave DNS-server kontakter sin masterserver, beder den om serienummeret på masterdataene. Hvis slaveens serienummer er lavere, er dataene for den pågældende zone på slaveserveren forældede, og slaven udfører en zoneoverførsel for at opdatere sig selv.

Opdater: Det fortæller slaveserveren, hvilket tidsinterval den skal kontrollere, om dens data er opdateret med hensyn til masteren.

prøve igen: Hvis masterserveren ikke er tilgængelig - for den blev syg, lad os sige - for slaven efter et tidsinterval Opdater, prøve igen Det fortæller slaven, hvor længe de skal vente, før de prøver at kontakte sin mester igen.

udløbe: Hvis slaven ikke kan kontakte sin master i et tidsinterval udløbe, så hvis slave-master zone-forholdet blev skruet op, og slave-serveren ikke har andet valg end at udløbe den pågældende zone. Udløbet af en zone med en slave-DNS-server betyder, at den stopper med at svare på DNS-forespørgsler relateret til den pågældende zone, fordi de tilgængelige data er for gamle til at være nyttige.

  • Ovenstående lærer os indirekte og fyldt med god sund fornuft - den mindst almindelige af sanserne - at hvis vi ikke har brug for slave DNS-servere til driften af ​​vores SMV, implementerer vi den ikke, medmindre de er strengt nødvendige. Lad os altid prøve at gå fra det enkle til det komplekse.

minimum: I versioner før BIND 8.2, den sidste post SOA Det angiver også standardlevetiden - Standard tid at leve, og negativ cache levetid - Negativ cachetid for at leve til zonen. Denne gang henviser til alle negative svar givet af den autoritative server for zonen.

Zone-fil /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; seriel 1D; opdater 1H; prøv igen 1W; udløber 3H); minimum eller; Negativ cachetid for at leve; @ IN NS dns.fromlinux.fan. @ IN MX 10 mail.fromlinux.fan. @ IN TXT "FromLinux, din blog dedikeret til fri software"; sysadmin IN A 192.168.10.1 ad-dC IN A 192.168.10.3 fileserver IN A 192.168.10.4 dns IN A 192.168.10.5 proxyweb IN A 192.168.10.6 blog IN A 192.168.10.7 ftpserver IN A 192.168.10.8 mail IN A 192.168.10.9

Vi tjekker /var/named/dynamic/db.fromlinux.fan

[root @ dns ~] # navngivet-kontrolzone fra linux.fan / var / named / dynamic / db. fromlinux.fan
zone fra linux.fan/IN: indlæst serie 1 OK

Vi opretter Reverse Zone-filen 10.168.192.in-addr.arpa

  • SOA-posten for denne zone er den samme som den for Direct Zone uden at tage MX-posten i betragtning..
[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; seriel 1D; opdater 1H; prøv igen 1W; udløber 3H); minimum eller; Negativ cachetid for at leve; @ IN NS dns.fromlinux.fan. ; 1 IN PTR sysadmin.fromlinux.fan. 3 I PTR ad-dc.fromlinux.fan. 4 IN PTR fileserver.fromlinux.fan. 5 I PTR dns.fromlinux.fan. 6 I PTR proxyweb.desdelinux.fan. 7 I PTR blog.desdelinux.fan. 8 IN PTR ftpserver.fromlinux.fan. 9 I PTR mail.fromlinux.fan.

[root @ dns ~] # named-checkzone 10.168.192.in-addr.arpa /var/named/dynamic/db.10.168.192.in-addr.arpa 
zone 10.168.192.in-addr.arpa/IN: indlæst seriel 1 OK

Før vi genstarter det navngivne, kontrollerer vi dets konfiguration

  • Indtil vi er sikre på, at konfigurationsfilerne for den navngivne named.conf og dens zonefiler ikke er korrekt konfigureret, foreslår vi ikke at genstarte den navngivne dæmon. Hvis vi gør dette og senere ændrer en zonefil, skal vi øge serienummeret på den modificerede zone med 1.
  • Lad os se på "." i slutningen af ​​domænenavn og værtsnavne.
[root @ dns ~] # navngivet-checkconf 
[root @ dns ~] # navngivet-checkconf -z
zone localhost.localdomain / IN: indlæst seriel 0 zone localhost / IN: indlæst seriel 0 zone 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: indlæst seriel 0 zone 1.0.0.127.in-addr.arpa/IN: indlæst seriel 0 zone 0.in-addr.arpa/IN: indlæst seriel 0 zone fra linux.fan/IN: indlæst seriel 1 zone 10.168.192.in-addr.arpa/IN: indlæst serie 1

Alle aktuelle navngivne konfigurationer

For at få klarhed, og selvom artiklen bliver lang, giver vi den fulde output af kommandoen navngivet -checkconf -zp:

[root @ dns ~] # navngivet-checkconf -zp
zone localhost.localdomain / IN: indlæst seriel 0 zone localhost / IN: indlæst seriel 0 zone 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: indlæst seriel 0 zone 1.0.0.127.in-addr.arpa/IN: indlæst seriel 0 zone 0.in-addr.arpa/IN: indlæst seriel 0 zone fra linux.fan/IN: indlæst seriel 1 zone 10.168.192.in-addr.arpa/IN: indlæste serielle 1-indstillinger {bindkeys-file "/etc/named.iscdlv.key"; session-keyfile "/run/named/session.key"; bibliotek "/ var / named"; dump-fil "/var/named/data/cache_dump.db"; lytteport 53 {127.0.0.1/32; 192.168.10.5/32; }; lyt-på-v6-port 53 {:: 1/128; }; managed-keys-directory "/ var / named / dynamic"; memstatistik-fil "/var/named/data/named_mem_stats.txt"; pid-fil "/run/named/named.pid"; statistik-fil "/var/named/data/named_stats.txt"; dnssec-aktiveret ja; dnssec-validering ja; rekursionsnr. tilladelsesforespørgsel {"mired"; }; tillad-overførsel {192.168.10.1/32; }; }; acl "mired" {127.0.0.0/8; 192.168.10.0/24; }; logning af {channel "default_debug" {file "data / named.run"; sværhedsgrad dynamisk }; }; nøgle "dhcp-key" {algoritme "hmac-md5"; hemmelig "OI7Vs + TO83L7ghUm2xNVKg =="; }; zone "." IN {tip tip; fil "named.ca"; }; zone "localhost.localdomain" IN {type master; fil "named.localhost"; tilladelsesopdatering {"none"; }; }; zone "localhost" IN {type master; fil "named.localhost"; tilladelsesopdatering {"none"; }; }; zone "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 {type master; fil "named.loopback"; tilladelsesopdatering {"none"; }; }; zone "1.0.0.127.in-addr.arpa" IN {type master; fil "named.loopback"; tilladelsesopdatering {"none"; }; }; zone "0.in-addr.arpa" IN {type master; fil "named.empty"; tilladelsesopdatering {"none"; }; }; zone "desdelinux.fan" {type master; fil "dynamisk / db.fromlinux.fan"; tillad-opdatering {nøgle "dhcp-nøgle"; }; }; zone "10.168.192.in-addr.arpa" {type master; fil "dynamisk / db.10.168.192.in-addr.arpa"; tillad-opdatering {nøgle "dhcp-nøgle"; }; }; administrerede nøgler {"." nøgle indledende-257 den 3. marts "AwEAAagAIKlVZrpC8Ia6gEzahOR + 7W9euxhJhVVLOyQbSEW29O0gcCjF FVQUTf8v6fLjwBd58YI0EzrAcQqBGCzh / RStIoO0g8NfnfL0MTJRkxoX bfDaUeVPQuYEhg2NZWAJQ37VnMVDxP / VHL9M / QZxkjf496 / Efucp5gaD X2RS6CXpoY6LsvPVjR68ZSwzz0apAzvN1dlzEheX9ICJBBtuA7G6LQpz W3hOA5hzCTMjJPJ2LbqF8dsV6DoBQzgul6sGIcGOYl0OyQdXfZ7relS Qageu + ipAdTTJ57AsRTAoub25ONGcLmqrAmRLKBP8dfwhYB1N4knNnulq QXA + Uk7ihz1 ="; };
  • Efter proceduren til ændring af opkaldt.konf I henhold til vores behov og kontrol og oprette hver zonefil og kontrollere den, tvivler vi på, at vi bliver nødt til at stå over for store konfigurationsproblemer. I sidste ende indser vi, at det er et drengespil med mange koncepter og kræsen syntaks,

Kontrollerne gav tilfredsstillende resultater, derfor kan vi genstarte BIND - som hedder.

Vi genstarter det navngivne og kontrollerer dets status

[root @ dns ~] # systemctl genstart med navnet.service
[root @ dns ~] # systemctl-status med navnet.service

Hvis vi får nogen form for fejl i output fra den sidste kommando, skal vi genstarte navngivet.tjeneste og kontroller din status. Hvis fejlene er væk, startede tjenesten med succes. Hvis ikke, skal vi foretage en grundig gennemgang af alle ændrede og oprettede filer og gentage proceduren.

Den korrekte output af status skal være:

[root @ dns ~] # systemctl-status med navnet.service
● named.service - Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; forhandlerindstilling: deaktiveret) Aktiv: aktiv (kører) siden søn 2017-01-29 10:05:32 EST; 2min 57s siden Process: 1777 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (code = exited, status = 0 / SUCCESS) Process: 1788 ExecStart = / usr / sbin / named -u named $ OPTIONS (code = exited, status = 0 / SUCCESS) Process: 1786 ExecStartPre = / bin / bash -c hvis [! "$ DISABLE_ZONE_CHECKING" == "ja"]; derefter / usr / sbin / named-checkconf -z /etc/named.conf; ellers ekko "Kontrol af zonefiler er deaktiveret"; fi (kode = afsluttet, status = 0 / SUCCESS) Hoved-PID: 1791 (navngivet) CGroup: /system.slice/named.service └─1791 / usr / sbin / named -u opkaldt 29. jan 10:05:32 dns navngivet [1791]: zone 1.0.0.127.in-addr.arpa/IN: indlæst serie 0 29. januar 10:05:32 dns navngivet [1791]: zone 10.168.192.in-addr.arpa/IN: indlæst serie 1. januar 29 10:05:32 dns navngivet [1791]: zone 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 : indlæst seriel 0 29. januar 10:05:32 dns navngivet [1791]: zone desdelinux.fan/IN: indlæst seriel 1. jan 29. 10:05:32 dns navngivet [1791]: zone localhost.localdomain / IN: indlæst serie 0 29. jan 10:05:32 dns navngivet [1791]: zone localhost / IN: indlæst serie 0 29. jan 10:05:32 dns navngivet [1791]: alle zoner er indlæst
29. jan 10:05:32 dns navngivet [1791]: kører
29. jan 10:05:32 dns systemd [1]: Startede Berkeley Internet Name Domain (DNS). 29. jan 10:05:32 dns med navnet [1791]: zone 10.168.192.in-addr.arpa/IN: afsendelsesmeddelelser (seriel 1)

Kontrol

Kontrollerne kan køres på samme server eller på en maskine, der er tilsluttet LAN. Vi foretrækker at gøre dem fra holdet sysadmin.fromlinux.fan som vi gav udtrykkelig tilladelse til at foretage zoneoverførsler til. Filen / Etc / resolv.conf af det hold er følgende:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
# Genereret af NetworkManager søgning fra linux.fan nameserver 192.168.10.5

buzz @ sysadmin: ~ $ dig fra linux.fan axfr
; << >> DiG 9.9.5-9 + deb8u1-Debian << >> desdelinux.fan axfr ;; globale muligheder: + cmd fra linux.fan. 10800 I SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 1 86400 3600 604800 10800 fra linux.fan. 10800 IN NS dns.fromlinux.fan. fra linux.fan. 10800 IN MX 10 mail.fromlinux.fan. fra linux.fan. 10800 IN TXT "FromLinux, din blog dedikeret til fri software" ad-dc.desdelinux.fan. 10800 IN 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 Til 192.168.10.1 fra linux.fan. 10800 I SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 1 86400 3600 604800 10800 ;; Forespørgselstid: 0 msek ;; SERVER: 192.168.10.5 # 53 (192.168.10.5) ;; NÅR: Søn 29 jan 11:44:18 EST 2017 ;; XFR-størrelse: 13 poster (meddelelser 1, bytes 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 ;; globale muligheder: + cmd 10.168.192.in-addr.arpa. 10800 I 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 I 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 ;; Forespørgselstid: 0 msek ;; SERVER: 192.168.10.5 # 53 (192.168.10.5) ;; NÅR: Søn 29 jan 11:44:57 EST 2017 ;; XFR-størrelse: 11 poster (meddelelser 1, bytes 352)

buzz @ sysadmin: ~ $ dig IN SOA fra linux.fan
buzz @ sysadmin: ~ $ dig IN MX fra linux.fan buzz @ sysadmin: ~ $ dig IN TXT fra linux.fan
buzz @ sysadmin: ~ $ vært dns
dns.fromlinux.fan har adresse 192.168.10.5
buzz @ sysadmin: ~ $ host sysadmin
sysadmin.desdelinux.fan har adresse 192.168.10.1 ... Og enhver anden kontrol, vi har brug for
  • Indtil videre har vi grundlaget for en DNS-server i vores SMV-netværk. Vi håber, at du nød hele proceduren, som var ret enkel, ikke? 😉

Vi installerer og konfigurerer DHCP

[root @ dns ~] # yum installer dhcp
Indlæste plugins: hurtigste spejl, centos-base langpacks | 3.4 kB 00:00:00 centos-opdateringer | 3.4 kB 00:00:00 Indlæsning af spejlhastigheder fra cachelagret værtsfil Løsning af afhængigheder -> Kørsel af transaktionstest ---> Pakke dhcp.x86_64 12: 4.2.5-42.el7.centos skal installeres -> Løsning af afhængigheder afsluttet Løst afhængighed ================================================= =================================================== ===================================== Pakkearkitektur Version lagerstørrelse ============ =================================================== ==================================================== ====================== Installation: dhcp x86_64 12: 4.2.5-42.el7.centos-base 511k Transaktionsoversigt ==== ==================================================== ==================================================== ============================= Installér 1 pakke Samlet downloadstørrelse: 511k Installeret størrelse: 1.4 M Er dette ok [y / d / N]: y Download af pakker: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00 Kører transaktionskontrol Kører transaktionstest Transaktionstest lykkedes Kører transaktion Installering: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 Kontrol: 12: dhcp-4.2.5-42. el7.centos.x86_64 1/1 Installeret: dhcp.x86_64 12: 4.2.5-42.el7.centos Udført!

[root @ dns ~] # nano /etc/dhcp/dhcpd.conf
# # DHCP-serverkonfigurationsfil. # se /usr/share/doc/dhcp*/dhcpd.conf.example # se dhcpd.conf (5) man-side # ddns-update-style interim; ddns-opdateringer på; ddns-domænenavn "desdelinux.fan."; ddns-rev-domænenavn "in-addr.arpa."; ignorere klientopdateringer; autoritativ; option ip-videresendelse fra; option domænenavn "desdelinux.fan"; # option ntp-servere 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; inkluderer "/etc/dhcp.key"; zone fra linux.fan. {primær 127.0.0.1; nøgle dhcp-nøgle; } zone 10.168.192.in-addr.arpa. {primær 127.0.0.1; nøgle dhcp-nøgle; } redlokal med delt netværk {subnet 192.168.10.0 netmask 255.255.255.0 {option routere 192.168.10.1; option undernetmaske 255.255.255.0; mulighed for udsendelsesadresse 192.168.10.255; option domænenavnservere 192.168.10.5; option netbios-navneservere 192.168.10.5; rækkevidde 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. Alle rettigheder forbeholdes. Besøg https://www.isc.org/software/dhcp/ for ikke at søge i LDAP, da ldap-server, ldap-port og ldap-base-dn ikke var angivet i konfigurationsfilen

[root @ dns ~] # systemctl aktiverer dhcpd
Oprettet symlink fra /etc/systemd/system/multi-user.target.wants/dhcpd.service til /usr/lib/systemd/system/dhcpd.service.

[root @ dns ~] # systemctl start dhcpd

[root @ dns ~] # systemctl status dhcpd
● dhcpd.service - DHCPv4 Server-dæmon indlæst: indlæst (/usr/lib/systemd/system/dhcpd.service; aktiveret; forhandlerindstilling: deaktiveret) Aktiv: aktiv (kører) siden dom 2017-01-29 12:04:59 Dens T; 23s siden Docs: man: dhcpd (8) man: dhcpd.conf (5) Hoved-PID: 2381 (dhcpd) Status: "Udsendelse af pakker ..." CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -bruger dhcpd-gruppe dhcpd --no-pid 29. jan 12:04:59 dns dhcpd [2381]: Internet Systems Consortium DHCP Server 4.2.5 Jan 29 12 : 04: 59 dns dhcpd [2381]: Copyright 2004-2013 Internet Systems Consortium. 29. jan 12:04:59 dns dhcpd [2381]: Alle rettigheder forbeholdes. 29. jan 12:04:59 dns dhcpd [2381]: For information, besøg https://www.isc.org/software/dhcp/ 29. jan 12:04:59 dns dhcpd [2381]: Søger ikke LDAP siden ldap -server, ldap-port og ldap-base-dn blev ikke specificeret i konfigurationsfilen 29. jan. 12:04:59 dns dhcpd [2381]: Skrev 0 leases to leases file. 29. jan 12:04:59 dns dhcpd [2381]: Lytter på LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29. jan 12:04:59 dns dhcpd [2381]: Sender på LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29. jan 12:04:59 dns dhcpd [2381]: Afsendelse på Socket / fallback / fallback-net 29. jan 12:04:59 dns systemd [1]: Startet DHCPv4 Server Daemon.

Hvad er der tilbage at gøre?

Enkel. Start en Windows 7 eller anden klient med fri software, og start test og kontrol. Vi gjorde det med to klienter: syv.fralinux.fan y suse-desktop.fromlinux.fan. Kontrollen var som følger:

buzz @ sysadmin: ~ $ vært syv
seven.fromlinux.fan har adresse 192.168.10.30

buzz @ sysadmin: ~ $ vært syv.fromlinux.fan
seven.fromlinux.fan har adresse 192.168.10.30

buzz @ sysadmin: ~ $ dig I TXT seven.fromlinux.fan
.... ;; SPØRGSMÅLSEKTION :; seven.fromlinux.fan. IN TXT ;; SVAR-AFSNIT: seven.fromlinux.fan. 3600 IN TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"....

Vi omdøber holdet "syv" til "LAGER" og genstarter. Efter genstart af den nye LAGER kontrollerer vi:

buzz @ sysadmin: ~ $ vært syv
Værts syv ikke fundet: 5 (AFFALDT)

buzz @ sysadmin: ~ $ vært syv.fromlinux.fan
Host seven.desdelinux.fan ikke fundet: 3 (NXDOMAIN)

buzz@sysadmin: ~ $ værtlager
lager.desdelinux.fan har adresse 192.168.10.30

buzz@sysadmin: ~ $ vært lager.fromlinux.fan
lager.desdelinux.fan har adresse 192.168.10.30

buzz @ sysadmin: ~ $ dig IN TXT lager.fromlinux.fan
.... ;; SPØRGSMÅL:; lager.fromlinux.fan. IN TXT ;; SVAR SEKTION: lager.fromlinux.fan. 3600 IN TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"....

Med hensyn til suse-desktop-klienten:

buzz @ sysadmin: ~ $ host suse-dektop
Værtssuse-dektop ikke fundet: 5 (NEGTET)

buzz @ sysadmin: ~ $ vært suse-desktop
suse-desktop.desdelinux.fan har adresse 192.168.10.33

buzz @ sysadmin: ~ $ vært suse-desktop.fromlinux.fan
suse-desktop.desdelinux.fan har adresse 192.168.10.33

buzz @ sysadmin: ~ $ vært 192.168.10.33
33.10.168.192.in-addr.arpa domænenavn markør suse-desktop.desdelinux.fan.

buzz @ sysadmin: ~ $ vært 192.168.10.30
30.10.168.192.in-addr.arpa domænenavn markør LAGER.desdelinux.fan.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
.... ;; SPØRGSMÅL: 33.10.168.192.in-addr.arpa. IN PTR ;; SVAR-SEKTION: 33.10.168.192.in-addr.arpa. 3600 IN PTR suse-desktop.fromlinux.fan. ;; MYNDIGHEDS SEKTION: 10.168.192.in-addr.arpa. 10800 IN NS dns.fromlinux.fan. ;; EKSTRA SEKTION: dns.fromlinux.fan. 10800 IN A 192.168.10.5 ....

buzz @ sysadmin: ~ $ dig I TXT suse-desktop.fromlinux.fan ....
; suse-desktop.desdelinux.fan. IN TXT ;; SVAR-SEKTION: suse-desktop.desdelinux.fan. 3600 IN TXT "31b78d287769160c93e6dca472e9b46d73"

;; MYNDIGHEDSDEL: desdelinux.fan. 10800 IN NS dns.fromlinux.fan. ;; EKSTRA SEKTION: dns.fromlinux.fan. 10800 IN A 192.168.10.5
....

Lad os også køre følgende kommandoer

[root @ dns ~] # grave fra linux.fan axfr
; << >> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 << >> desdelinux.fan axfr ;; globale muligheder: + cmd fra linux.fan. 10800 I SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 6 86400 3600 604800 10800 fra linux.fan. 10800 IN NS dns.fromlinux.fan. fra linux.fan. 10800 IN MX 10 mail.fromlinux.fan. fra linux.fan. 10800 IN TXT "FromLinux, din blog dedikeret til fri software" ad-dc.desdelinux.fan. 10800 IN 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 IN TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"LAGER.fromlinux.fan.   3600 I 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 IN TXT "31b78d287769160c93e6dca472e9b46d73"suse-desktop.desdelinux.fan. 3600 IN A 192.168.10.33 sysadmin.fromlinux.fan. 10800 IN Til 192.168.10.1 fra linux.fan. 10800 I SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 6 86400 3600 604800 10800

I outputen ovenfor fremhævede vi den fremhævet den TTL -i sekunder- for computere med IP-adresser, der er tildelt af DHCP-tjenesten, dem, der har en eksplicit erklæring om TTL 3600 fra DHCP. Faste IP'er styres af $ TTL på 3H -3 timer = 10800 sekunder - deklareret i SOA-registreringen for hver zonefil.

De kan kontrollere den omvendte zone på samme måde.

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

Andre ekstremt interessante kommandoer er:

[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

Manuel ændring af zonefiler

Efter at DHCP kommer i spil med dynamisk opdatering af zonefiler i som hedderHvis vi nogensinde har brug for manuelt at ændre en zonefil, skal vi udføre følgende procedure, men ikke før vi ved lidt mere om driften af ​​hjælpeprogrammet. rndc til navneserverkontrol.

[root @ dns ~] # mand rndc
....
       fryse [zone [klasse [visning]]]
           Suspendér opdateringer til en dynamisk zone. Hvis der ikke er angivet nogen zone, suspenderes alle zoner. Dette gør det muligt at foretage manuelle redigeringer i en zone, der normalt opdateres ved dynamisk opdatering. Det medfører også, at ændringer i journalfilen synkroniseres med masterfilen. Alle dynamiske opdateringsforsøg afvises, mens zonen er frossen.

       tø [zone [klasse [visning]]]
           Aktivér opdateringer til en frossen dynamisk zone. Hvis der ikke er angivet en zone, er alle frosne zoner aktiveret. Dette får serveren til at genindlæse zonen fra disken og genaktiverer dynamiske opdateringer, når belastningen er afsluttet. Når en zone er optøet, vil dynamiske opdateringer ikke længere blive nægtet. Hvis zonen er ændret, og indstillingen ixfr-fra-forskelle er i brug, opdateres journalfilen for at afspejle ændringer i zonen. Ellers, hvis zonen er ændret, fjernes enhver eksisterende journalfil. ....

Hvad, troede du, at jeg skulle udskrive hele manualen? ... et stykke, og de kører i bil. Resten overlader jeg det til dig. 😉

dybest set:

  • rndc fryse [zone [klasse [visning]]], suspenderer den dynamiske opdatering af en zone. Hvis en ikke er specificeret, vil alt blive frosset. Kommandoen tillader manuel redigering af den frosne zone eller alle zoner. Enhver dynamisk opdatering nægtes, mens den er frossen.
  • Rndc tø [zone [klasse [visning]]], muliggør dynamiske opdateringer på en tidligere frossen zone. DNS-serveren genindlæser zonefilen fra disken, og dynamiske opdateringer genaktiveres, når genindlæsningen er afsluttet.

Forholdsregler, der skal tages, når vi manuelt redigerer en zonefil? Det samme som hvis vi oprettede det uden at glemme at øge serienummeret med 1 eller seriel inden du gemmer filen med de sidste ændringer.

Eksempel:

[root @ dns ~] # rndc fryser fra linux.fan

[root @ dns ~] # nano /var/named/dynamic/db.fromlinux.fan
Jeg ændrer zonefilen af ​​en eller anden grund, nødvendig eller ej. Jeg gemmer ændringerne

[root @ dns ~] # rndc optøning fra linux.fan
En zoneindlæsning og optøning blev startet. Tjek logfiler for at se resultatet.

[root @ dns ~] # journalctl -f
29. jan 14:06:46 dns navngivet [2257]: optøningszone 'desdelinux.fan/IN': succes
29. jan 14:06:46 dns navngivet [2257]: zone fra linux.fan/IN: zone seriel (6) uændret. zone muligvis ikke overføres til slaver.
29. jan 14:06:46 dns navngivet [2257]: zone desdelinux.fan/IN: indlæst serie 6

Fejlen i den forrige output, der er vist med rødt på konsollen, skyldes, at jeg "glemte" at øge serienummeret med 1. Hvis jeg havde fulgt proceduren korrekt, ville output have været:

[root @ dns ~] # journalctl -f
- Logfiler begynder søndag 2017-01-29 08:31:32 EST. - 29. jan 14:06:46 dns navngivet [2257]: zone desdelinux.fan/IN: indlæst seriel 6. jan 29 14:10:01 dns systemd [1]: Startet session 43 i brugerrod. 29. jan 14:10:01 dns systemd [1]: Starter session 43 i brugerrod. 29. jan 14:10:01 dns CROND [2693]: (rod) CMD (/ usr / lib64 / sa / sa1 1) 1. jan 29:14:10 dns navngivet [45]: modtaget kontrolkanalkommando 'frys fra linux. fan '2257. jan 29:14:10 dns navngivet [45]: frysepunkt' desdelinux.fan/IN ': succes 2257. jan 29:14:10 dns navngivet [58]: modtaget kontrolkanalkommando' tø desdelinux.fan 'jan 2257 29:14:10 dns navngivet [58]: optøningszone 'desdelinux.fan/IN': succes 2257. jan 29:14:10 dns navngivet [58]: zone desdelinux.fan/IN: journalfil er forældet: fjernelse af journalfil 2257. jan 29:14:10 dns navngivet [58]: zone desdelinux.fan/IN: indlæst serie 2257
  • Læser venner, jeg gentager, at du skal læse omhyggeligt output af kommandoerne. For noget brugte udviklerne så meget arbejde på at programmere hver kommando, uanset hvor enkel den er.

Resumé

Indtil videre har vi behandlet implementeringen af ​​DNS - DHCP-parret, vigtige og vigtige tjenester for den gode præstation af vores SMV-netværk, idet vi henviser til tildeling af dynamiske adresser gennem DHCP og opløsningen af ​​computer- og domænenavne gennem DNS.

Vi håber seriøst, at du nød hele proceduren, som vi gjorde. Selvom det kan synes vanskeligere at bruge konsollen, er det meget nemmere og mere lærerigt at implementere en tjeneste i UNIX® / Linux med dens hjælp.

De tilgiver mig enhver fejlfortolkning af begreber, der er tænkt, skabt, skrevet, revideret, omskrevet og offentliggjort på Shakespeares sprog, ikke Cervantes. 😉

Næste levering

Jeg synes lidt mere af det samme - med teoretiske tilføjelser til DNS-poster - men i Debian. Vi kan ikke glemme den fordeling, ikke?


Indholdet af artiklen overholder vores principper for redaktionel etik. Klik på for at rapportere en fejl her.

15 kommentarer, lad dine

Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort.

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Christian Merchan sagde han

    Mange tak for dit prisværdige arbejde med at skrive sådanne frugtbare artikler. Det vil være meget nyttigt for mig

  2.   Federico sagde han

    Og mange tak, Cristian, for at følge mig og for din vurdering af dette indlæg. Succeser!

  3.   Ismael Alvarez Wong sagde han

    Efter at have taget et første kig på dette nye indlæg af Federico, er den store professionalisme, der ses i hele «PYMES» -serien, igen synlig; ud over den store detalje, der illustrerer dit domæne på to af de vigtigste tjenester (DNS og DHCP) i ethvert netværk. Ved denne lejlighed og i modsætning til mine tidligere kommentarer har jeg en 2. kommentar afventende efter at have gennemført det, jeg har angivet i dette indlæg.

  4.   crespo88 sagde han

    Ingen kommentarer, pa '400 !!! Fico tak fordi du ved meget godt, at jeg læser dine indlæg, og vi kan ikke bede om mere. Du starter med en meget god organisation, fra hvordan du installerer og indstiller en brugers personlige skrivebord, arbejdsstationen er basen, det er følelsen af ​​at være blandt de netværkstjenester, du forklarer meget godt. Du har klatret, og selvom det er sandt, at niveauet stiger, er det sandt, at du har skrevet og offentliggjort for dem, der er mindre end dem, der starter, for dem, der har været som mig i nogen tid og for de mest avancerede.
    Over tid er jeg kommet til den konklusion, at jeg ved, at mange allerede er ankommet, teorien, at det koster os så meget at erhverve for det enkle faktum, at vi ikke ønsker at læse, fordi udførelse allerede er meget lettere, når vi ved, hvad vi laver, hvorfor ???, spørgsmålene, hvor man kan finde og hvordan man kommer ud af den fejl, der giver så meget hovedpine, når vi ikke engang ved, hvor de kommer fra, værd at være overflødig.
    Af denne grund vil jeg ikke have dig til at efterlade de teoretiske elementer, som du vil medtage om DNS-poster i den næste publikation, som du meddelte, meget mindre når det kommer til den kære og elskede DEBIAN.
    Mange tak, og vi venter.

  5.   djæger sagde han

    Fremragende som altid Fico! Jeg venter på Debian-versionen, jeg har spillet alt med den distro i årevis.

  6.   Federico sagde han

    Wong: Din mening efter læsning er meget værd. Jeg afventer dine kommentarer, når du tester indholdet, fordi jeg ved, at det er sådan, du kan lide at gøre det. 😉

  7.   Federico sagde han

    Crespo: Som altid modtages dine kommentarer meget godt. Jeg ser, at du har fanget den generelle linje, som jeg har rejst i kompositionen af ​​denne serie. Jeg håber, at mange, ligesom dig, allerede har lagt mærke til det. Tak for din kommentar.

  8.   Federico sagde han

    Dhunter: Godt at læse dig igen! Du bliver ikke nødt til at vente længe. Senest mandag - eller før - er det færdigt til offentliggørelse. Tro ikke, at det er let for mig at dække tre forskellige distroer, men den respektable læser beder om det. Ikke kun Debian og Ubuntu, men de tre orienterede mod SMV'er.

  9.   crespo88 sagde han

    Hvis du har offentliggjort, er det fordi du kan, vi støtter dig, og vi ved, at du vil følge denne linje.
    Som en dhunter venter jeg på Debian-frigivelsen med skarpe tænder. Det ville være rart, hvis du dækkede lidt om NTP. SL2 og et stort kram. Hvis mine lærere havde lært mig alt sådan, HAHAJJA, Platinum Degree, HAHAJJA.

  10.   Federico sagde han

    Detaljeniveauet i kommandooutputs er nødvendigt for at vise dets betydning. De siger meget. Det er rigtigt, at få artikler adresserer dette detaljeringsniveau, fordi de tror, ​​at det ville være lange og tunge artikler at læse. En del af et SysAdmin-job er at læse de tunge og detaljerede output, ikke kun i lyset af et problem, men også over for kontrol.

  11.   Ismael Alvarez Wong sagde han

    Hej Federico, jeg havde lovet før at skrive nogle kommentarer efter at have studeret det pågældende indlæg nøje; Nå, her går de næste:
    - Fantastisk teknik til i stedet for at generere TSIG-nøglen til dynamiske DNS-opdateringer ved DHCP, kopiere den samme rndc.key-nøgle som dhcp.key, dette tilsyneladende "så simpelt" viser, at målet ikke kun er det tekniske af HOWTO-INSTALL-DNS - & - DHCP men lærer os at tænke, 5 STJERNER FOR FORFATTEREN.
    - Meget interessant i DNS-konfigurationsfilen med navnet.conf, tilstedeværelsen af ​​linjen «tillad-overførsel {localhost; 192.168.10.1; }; » for kun at teste domænet «desdelinux.fan» fra SysAdmin-arbejdsstationen og localhost (selve DNS-serveren), og indsæt også TSIG-nøglen for at opdatere DNS fra DHCP.
    - Meget god oprettelse af de direkte og inverse zoner i DNS sammen med den "detaljerede" forklaring af deres typer optegnelser, ud over udførelsen af ​​kommandoen "# named-checkconf -zp" for at kontrollere alle syntakserne for de navngivne før dens hard reset samt eksempler på kørsel af "grave" -kommandoen for at kontrollere forskellige typer DNS-poster.
    . I DHCP-konfigurationen (ved hjælp af filen /etc/dhcp/dhcpd.conf):
    - Sådan tilføjes vores lokale netværk med dets rækkevidde for dynamiske IP-adresser, der skal tildeles, definitionen af ​​navneserveren osv. samt hvordan man beder DHCP om at opdatere DNS-posterne ved hjælp af "ddns- ..." linjerne i sin konfiguration.
    . Når alt allerede er i drift, 5 STJERNER FOR FORFATTEREN, i udførelsen af ​​kommandoen "# dig desdelinux.fan axfr" for at kontrollere TTL for de computere på LAN, der har statisk IP for dem, der har dynamisk IP tildelt.
    . Endelig STOR, den manuelle ændring af Zones-filer ved først at fryse dem med "# rndc freeze desdelinux.fan", derefter foretage ændringen og til sidst frigøre dem med "# rndc thaw desdelinux.fan"
    . Og det bedste, alt blev gjort fra terminalen.
    Fortsæt det Fico.

    1.    Joy sagde han

      Hej,
      Jeg har ikke kigget på, det fordi jeg prøvede at bakke, hvordan det kan deles og fjernes bliver på min computer selv mine billeder. Jeg har ikke haft nogen kontrol mere over min egen computer på mobilen.
      Het zit m også i het dns i dhcp. Jeg ved ikke noget, hvordan jeg skal løse det og fjerne det. Misschien, at nogen vil hjælpe mig? Dette er navnligt uden for mig om geinstalleerd. Walgelijk gedrag vind ik het.

  12.   Federico sagde han

    Wong: din kommentar supplerer artiklen. Seriøst viser det, at du har studeret det grundigt. Ellers kunne du ikke kommentere det detaljeringsniveau, du gør. Bare tilføj det tillad-overførsel Det bruges hovedsageligt til når vi har en DNS-slave, og vi tillader overførsel af zoner fra masteren til den. Jeg bruger det på den måde, fordi det er en nem at implementere mekanisme til at udføre ikke-farlige kontroller fra en enkelt computer. Mange tak for din 5 vurdering. Hilsner! og jeg vil vente på dig i mine næste artikler.

  13.   IgnacioM sagde han

    Hej Federico. Jeg ved, at jeg er lidt sent, men jeg vil gerne stille dig et spørgsmål.
    Ville denne procedure hjælpe mig, hvis jeg vil pege et domæne til min vps-server?

    Hvert 15. minut får jeg disse systemmeddelelser:

    DHCPREQUEST på eth0 til port 67 (xid =…)
    DHCPACK fra (xid =…)
    bundet til - fornyelse på 970 sekunder.

    Og ud fra hvad jeg forstår, skal jeg oprette en A-post med mit domæne og ip på min dedikerede server.

    * Jeg lykønsker og tak for denne artikel, jeg ved ikke, om det er det, jeg ledte efter, men jeg fandt det meget interessant og godt forklaret. Derudover tager jeg henstillingen fra "DNS og BIND" om, at jeg allerede har sladret lidt, og det virker meget interessant.

    Hilsner fra Argentina!

    1.    antonio valdes toujague sagde han

      bedes du kontakte mig igennem valtestoujague@yandex.com