DNS en DHCP in CentOS 7 - SMB-netwerken

Algemene index van de serie: Computernetwerken voor het MKB: inleiding

Hallo vrienden!. We zullen in dit artikel zien hoe we het belangrijke paar services kunnen implementeren voor netwerken die worden gevormd door het DNS en DHCP op CentOS - Linux, specifiek in zijn versie 7.2.

  • Sommige artikelen over DNS verwijzen naar het feit dat de implementatie van deze service een beetje obscuur en moeilijk is. Ik ben het niet helemaal eens met die stelling. Ik zou liever zeggen dat het een beetje conceptueel is en dat veel van de configuratiebestanden een moeilijke syntaxis hebben. Gelukkig hebben we tools om stap voor stap de syntaxis van elk configuratiebestand dat we wijzigen te controleren. Daarom zullen we proberen om het lezen van dit bericht zo aangenaam en plezierig mogelijk te maken..

Voor degenen die op zoek zijn naar basisconcepten over beide services, raden we ten zeerste aan om te beginnen met zoeken op Wikipedia, zowel in de Spaanse als in de Engelse versie. Het is niet minder waar dat artikelen in het Engels bijna altijd vollediger en coherenter zijn. Toch is Wikipedia een heel goed startpunt.

Voor degenen onder u die echt meer willen weten over DNS en BIND, raden we u aan het boek «OReilly - DNS en BIND 4ed" geschreven door Paul albitz y Krekel Liu, of een latere editie die zeker bestaat.

We hebben al een artikel over het onderwerp gepubliceerd met de titel «DNS en DHCP in openSUSE 13.2 Harlequin - SME Networks»Voor liefhebbers van de grafische omgeving. Vanaf nu zullen ze echter te maken krijgen met artikelen over dit onderwerp - niet over anderen - die zijn geschreven met veel gebruik van de emulator van een terminal of console. Wauw, in de klassieke stijl die wordt gebruikt door UNIX® / Linux-systeembeheerders.

Als je meer wilt weten over de achternaam van de titel van dit artikel «MKB-netwerken»U kunt de pagina in deze blog bezoeken«MKB-netwerken: eerste virtuele cut«. Hierin vindt u links naar vele andere gepubliceerde artikelen.

  • Nadat de installatie van het CentOS 7-besturingssysteem is voltooid met de pakketten die we aanbevelen, el directory /usr/share/doc/bind-9.9.4/ Het bevat een grote hoeveelheid documentatie die we u aanraden te raadplegen voordat u op internet gaat zoeken, zonder eerst te weten dat u binnen handbereik en in uw eigen huis kunt vinden wat u zoekt.

Basissysteem installatie

Algemene gegevens van het domein en de DNS-server

Domeinnaam: desdelinux.ventilator
DNS-servernaam: dns.desdelinux.ventilator
IP-adres: 192.168.10.5
Subnetmasker: 255.255.255.0

Installatie

We beginnen met een nieuwe of schone installatie van het CentOS 7-besturingssysteem zoals aangegeven in het vorige artikel «CentOS 7 Hypervisor I - MKB-netwerken«. We hoeven alleen de volgende wijzigingen aan te brengen:

  • In de Imagen 22 «SOFTWARE SELECTIE«, We raden aan om in de linkerkolom te kiezen«Basisomgeving»De optie die overeenkomt met een«Infrastructuur server«, Terwijl in de rechterkolom«Plug-ins voor geselecteerde omgeving»Schakel het selectievakje in«DNS-naamserver«. We zullen de DHCP-server later installeren.
  • Laten we de verklaring van de extra opslagplaatsen onthouden, zoals weergegeven in het Imagen 23, na het instellen van de «NETWERK & TEAMNAAM".
  • De afbeeldingen die verwijzen naar de partities die we op onze harde schijf zullen maken, worden alleen als richtlijn gegeven. Voel je vrij om de partities naar eigen inzicht, oefening en gezond verstand te selecteren.
  • Eindelijk, in de Afbeelding 13 «NETWERK & TEAMNAAM», moeten we de waarden wijzigen volgens de algemene parameters van het gedeclareerde domein en de DNS-server, zonder te vergeten de hostnaam op te geven -in dit geval «dns«- nadat de netwerkconfiguratie is voltooid. Het is positief om te doen ping -van een andere host- naar het opgegeven IP-adres nadat het netwerk actief is:

DNS en DHCP op CentOS

Er zijn echt weinig en zeer voor de hand liggende wijzigingen die we moeten aanbrengen ten opzichte van het vorige artikel.

Eerste controles en aanpassingen

Nadat we het besturingssysteem hebben geïnstalleerd, moeten we minimaal de volgende bestanden bekijken, en hiervoor starten we een sessie via SSH vanaf onze computer systeembeheerder.desdelinux.ventilator:

buzz @ sysadmin: ~ $ ssh 192.168.10.5
[e-mail beveiligd]Wachtwoord van 's: Laatste login: za 28 jan 2017 09:48:05 vanaf 192.168.10.1
[buzz @ dns ~] $

De bovenstaande bewerking kan langer duren dan normaal, en het is voornamelijk te wijten aan het feit dat we nog geen DNS op het LAN hebben. Controleer later opnieuw of DNS werkt.

[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 / hostnaam
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 
# Gegenereerd door zoeken in NetworkManager desdelinux.fan naamserver 127.0.0.1

De belangrijkste configuraties spelen in op onze selecties. Merk op dat zelfs op een server Red Hat 7 - CentOS 7, wordt standaard geconfigureerd wanneer Netwerkmanager zodat dit degene is die de netwerkinterfaces beheert, of ze nu bedraad of draadloos zijn (wifi), VPN-verbindingen, PPPoE-verbindingen en elke andere netwerkverbinding.

[buzz @ dns ~] $ sudo systemctl status netwerkmanager
[sudo] wachtwoord voor buzz: ● netwerkmanager.service Geladen: niet gevonden (Reden: bestand of map bestaat niet) Actief: inactief (dood)

[buzz @ dns ~] $ sudo systemctl status NetworkManager
● NetworkManager.service - Netwerkbeheerder geladen: geladen (/usr/lib/systemd/system/NetworkManager.service; ingeschakeld; leverancier preset: ingeschakeld) Actief: actief (actief) sinds za 2017-01-28 12:23:59 EST; 12 minuten geleden Hoofd-PID: 705 (NetworkManager) CGroup: /system.slice/NetworkManager.service └─705 / usr / sbin / NetworkManager --no-daemon

Red Hat - CentOS stelt je ook in staat om netwerkinterfaces te verbinden en te ontkoppelen met behulp van de klassieke commando's als e als naar beneden. Laten we op een serverconsole draaien:

[root @ dns ~] # ifdown eth0
Apparaat 'eth0' is succesvol verbroken.

[root @ dns ~] # ifup eth0
Verbinding succesvol geactiveerd (D-Bus actief pad: / org / freedesktop / NetworkManager / ActiveConnection / 1)
  • Wij suggereren verander niet de standaardinstellingen die CentOS 7 biedt met betrekking tot Netwerkmanager.

We verklaren definitief de repositories die we gaan gebruiken en updaten het besturingssysteem indien nodig:

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

Het is gezond om de inhoud van de originele declaratiebestanden van de door CentOS aanbevolen repository's te lezen. De veranderingen die we hier aanbrengen zijn te wijten aan het feit dat we geen internettoegang hebben en dat we werken met lokale opslagplaatsen die zijn gedownload van WWW Village, door collega's die ons leven een beetje gemakkelijker maken. 

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

[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 alles opschonen
Geladen plug-ins: fastmirror, langpacks Repositories opschonen: centos-base centos-updates Alles opschonen

[root @ dns yum.repos.d] # yum update
Geladen plug-ins: fastmirror, centos-base langpacks | 3.4 kB 00:00 centos-updates | 3.4 kB 00:00 (1/2): centos-base / primair_db | 5.3 MB 00:00 (2/2): centos-updates / primary_db | 9.1 MB 00:00 Snelste mirrors bepalen Geen pakketten gemarkeerd voor update

Het bericht «Geen (bestaande) pakketten gemarkeerd voor update» - «Geen pakketten gemarkeerd voor update»Geeft aan dat, door tijdens de installatie de meest up-to-date repositories beschikbaar te stellen, precies de meest recente pakketten zijn geïnstalleerd.

Over de SELinux context en de firewall

We gaan dit artikel - fundamenteel - richten op de implementatie van DNS- en DHCP-services, wat het hoofddoel is.

Als een lezer een beveiligingsbeleid heeft geselecteerd tijdens het installatieproces, zoals aangegeven in het Imagen 06 van het referentieartikel «CentOS 7 Hypervisor I - MKB-netwerken»Wordt gebruikt voor de installatie van deze DNS - DHCP server, en je merkt dat je niet weet hoe je SELinux en de CentOS Firewall correct moet configureren, we raden je aan om het volgende uit te voeren:

Wijzig het bestand / Etc / sysconfig / selinux en veranderen SELINUX = afdwingen door SELINUX = uitschakelen

[root @ dns ~] # nano / etc / sysconfig / selinux
# Dit bestand controleert de status van SELinux op het systeem. # SELINUX = kan een van deze drie waarden aannemen: # enforcing - SELinux beveiligingsbeleid wordt afgedwongen. # permissive - SELinux drukt waarschuwingen af ​​in plaats van af te dwingen. # uitgeschakeld - Er is geen SELinux-beleid geladen.
SELINUX = uitgeschakeld
# SELINUXTYPE = kan een van drie twee waarden aannemen: # gericht - Gerichte processen worden beschermd, # minimum - Wijziging van gericht beleid. Alleen geselecteerde processen zijn pr $ # mls - Multi Level Security-bescherming. SELINUXTYPE = gericht

Voer vervolgens de volgende opdrachten uit

[root @ dns ~] # setenforce 0
[root @ dns ~] # service firewall stopt
Omleiden naar / bin / systemctl stop firewalld.service

[root @ dns ~] # systemctl schakel firewall uit
Symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service verwijderd. De symlink /etc/systemd/system/basic.target.wants/firewalld.service verwijderd.

Als je een DNS-server implementeert die gericht is op internet, zou je het bovenstaande NIET moeten doen, maar de SELinux-context en de Firewall correct configureren. Zien "Serverconfiguratie met GNU / Linux, door de auteur Joel Barrios Dueñas" of CentOS-documentatie zelf - Red Hat

We configureren de BIND - named

  • El directory /usr/share/doc/bind-9.9.4/ bevat een grote hoeveelheid documentatie die we u aanraden te raadplegen voordat u zich op internet waagt zonder eerst te weten dat u binnen handbereik en in uw eigen huis kunt vinden wat u zoekt

In veel distributies wordt de DNS-service die via het BIND-pakket is geïnstalleerd, aangeroepen genoemd (Noem Daemon). In CentOS 7 is het standaard uitgeschakeld geïnstalleerd, volgens de uitvoer van het volgende commando, waar het aangeeft dat de status «invalide«, En dat deze staat vooraf is gedefinieerd door zijn« verkoper »- leverancier preset. Voor de goede orde, BIND is gratis software.

De genoemde service inschakelen

[root @ dns ~] # systemctl status genoemd
● named.service - Berkeley Internet Name Domain (DNS) geladen: geladen (/usr/lib/systemd/system/named.service; invalide; leverancier preset: uitgeschakeld) Actief: inactief (dood)

[root @ dns ~] # systemctl inschakelen met de naam
Een symlink gemaakt van /etc/systemd/system/multi-user.target.wants/named.service naar /usr/lib/systemd/system/named.service.

[root @ dns ~] # systemctl start met de naam

[root @ dns ~] # systemctl status genoemd
● named.service - Berkeley Internet Name Domain (DNS) geladen: geladen (/usr/lib/systemd/system/named.service; ingeschakeld; leverancier preset: uitgeschakeld)
   Actief: actief (actief) sinds za 2017-01-28 13:22:38 EST; 5 minuten geleden Proces: 1990 ExecStart = / usr / sbin / named -u genaamd $ OPTIONS (code = verlaten, status = 0 / SUCCES) Proces: 1988 ExecStartPre = / bin / bash -c if [! "$ DISABLE_ZONE_CHECKING" == "ja"]; dan / usr / sbin / named-checkconf -z /etc/named.conf; anders echo "Controle van zonebestanden is uitgeschakeld"; fi (code = verlaten, status = 0 / SUCCES) Main PID: 1993 (named) CGroup: /system.slice/named.service └─1993 / usr / sbin / named -u named 28 jan 13:22:45 dns named [1993]: fout (netwerk onbereikbaar) bij het oplossen van './NS/IN': 2001: 500: 2f :: f # 53 28 jan. 13:22:47 dns met de naam [1993]: fout (netwerk onbereikbaar) oplossen './ DNSKEY / IN ': 2001: 500: 3 :: 42 # 53 28 jan. 13:22:47 dns named [1993]: fout (netwerk onbereikbaar) bij het oplossen van' ./NS/IN ': 2001: 500: 3 :: 42 # 53 28 jan 13:22:47 dns named [1993]: fout (netwerk onbereikbaar) oplossen './DNSKEY/IN': 2001: 500: 2d :: d # 53 28 jan 13:22:47 dns named [1993 ]: fout (netwerk onbereikbaar) bij het oplossen van './NS/IN': 2001: 500: 2d :: d # 53 28 jan. 13:22:47 dns named [1993]: fout (netwerk onbereikbaar) bij het oplossen van './DNSKEY/ IN ': 2001: dc3 :: 35 # 53 28 jan 13:22:47 dns named [1993]: error (network unreachable) resolving' ./NS/IN ': 2001: dc3 :: 35 # 53 28 jan 13 22: 47:1993 dns named [2001]: error (netwerk onbereikbaar) oplossen './DNSKEY/IN': 7: 53fe :: 53 # 28 13 jan. 22:47:1993 dns named [2001]: error (netwerk onbereikbaar) res olving './NS/IN': 7: 53fe :: 53 # 28 13 januari 22:48:1993 dns met de naam [XNUMX]: managed-keys-zone: kan DNSKEY-set '.' niet ophalen: time-out

[root @ dns ~] # systemctl herstart met de naam

[root @ dns ~] # systemctl status genoemd
● named.service - Berkeley Internet Name Domain (DNS) Geladen: geladen (/usr/lib/systemd/system/named.service; ingeschakeld; vooraf ingestelde leverancier: uitgeschakeld)
   Actief: actief (actief) sinds za 2017-01-28 13:29:41 EST; 1s geleden Proces: 1449 ExecStop = / bin / sh -c / usr / sbin / rndc stop> / dev / null 2> & 1 || / bin / kill -TERM $ MAINPID (code = verlaten, status = 0 / SUCCES) Proces: 1460 ExecStart = / usr / sbin / named -u genaamd $ OPTIONS (code = verlaten, status = 0 / SUCCESS) Proces: 1457 ExecStartPre = / bin / bash -c als [! "$ DISABLE_ZONE_CHECKING" == "ja"]; dan / usr / sbin / named-checkconf -z /etc/named.conf; anders echo "Controle van zonebestanden is uitgeschakeld"; fi (code = verlaten, status = 0 / SUCCES) Main PID: 1463 (named) CGroup: /system.slice/named.service └─1463 / usr / sbin / named -u named 28 jan 13:29:41 dns named [1463]: managed-keys-zone: journaalbestand is verouderd: journaalbestand verwijderen 28 jan. 13:29:41 dns met de naam [1463]: managed-keys-zone: geladen serie 2 jan 28 13:29:41 dns naam [1463]: zone 0.in-addr.arpa/IN: geladen serie 0 28 januari 13:29:41 dns naam [1463]: zone localhost.localdomain / IN: geladen serie 0 28 jan 13:29:41 dns named [1463]: zone 1.0.0.127.in-addr.arpa/IN: geladen serie 0 28 jan. 13:29:41 dns genaamd [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: serieel geladen 28 13 januari 29:41:1463 dns met de naam [0]: zone localhost / IN: serieel geladen 28 13 januari 29 : 41: 1463 dns met de naam [28]: alle zones geladen 13 jan. 29:41:1463 dns met de naam [28]: actief op 13 jan 29:41:1 dns systemd [XNUMX]: Berkeley Internet Name Domain (DNS) gestart.

Nadat we de service hebben ingeschakeld genoemd en we starten het voor de eerste keer, de uitvoer van het commando systemctl status genoemd toont fouten. Wanneer we de onderstaande service opnieuw starten, wordt het genoemd maakt alle configuratiebestanden aan die standaard nodig zijn voor de juiste werking. Daarom, wanneer we de opdracht opnieuw uitvoeren systemctl status genoemd er worden geen fouten meer weergegeven.

  • Beste, dure en veeleisende lezer: als je tenminste wilt weten welk pad naar het einde van het konijnenhol leidt, lees dan rustig de gedetailleerde uitvoer van elk commando.  Het artikel zal zeker een beetje lang lijken, maar je zult niet ontkennen dat het aan uitleg en duidelijkheid wint.

We wijzigen het bestand /etc/named.conf

Veel commentaren van lezers zeggen:Ik zeg het niet– de gewoonte die de beheerders van de verschillende Linux-distributies hebben om de systeemconfiguratiebestanden in mappen met verschillende namen te plaatsen, afhankelijk van de distro. Ze hebben gelijk. Maar wat kunnen wij, de eenvoudige gebruikers die deze distributies gebruiken, doen? Aanpassen! 

Trouwens, in FreeBSD, UNIX®-kloon «The Origin», bevindt het bestand zich in /usr/local/etc/namedb/named.conf; terwijl in Debian, naast het splitsen in de vier bestanden named.conf, named.conf.options, named.conf.default-zones, en named.conf.local, staat in de map / etc / bind /. Degenen die willen weten waar openSUSE het plaatst, lezen «DNS en DHCP in openSUSE 13.2 Harlequin - SME Networks«. De lezers hebben gelijk! 

En zoals we altijd doen: voordat we iets wijzigen, bewaren we het originele configuratiebestand onder een andere naam.

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

Om het leven gemakkelijker te maken, in plaats van de sleutel te genereren TSIG voor dynamische DNS-updates door DHCP kopiëren we dezelfde sleutel rndc.toets als dhcp.sleutel.

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

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

Zodat de genoemd kan het zojuist gekopieerde bestand lezen, we wijzigen de eigenaarsgroep:

[root @ dns ~] # chown root: genaamd /etc/dhcp.key [root @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 wortel genaamd 77 28 januari 16:36 /etc/dhcp.key -rw-r -----. 1 root met de naam 77 Jan 28 13:22 /etc/rndc.key

Kleine details zoals de vorige zijn wat ons gek kan maken om erachter te komen, nu ... waar is het probleem ...? met wat meer bijvoeglijke naamwoorden, die we niet schrijven uit respect voor de Respectabele.

Als we nu - eindelijk! - het bestand aanpassen /etc/named.conf. De wijzigingen of toevoegingen die we hebben aangebracht, met betrekking tot het origineel, zijn in stoutmoedig. Kijk goed hoe weinig.

[root @ dns ~] # nano /etc/named.conf
// // named.conf // // Geleverd door Red Hat bind-pakket om de ISC BIND genaamd (8) DNS // server te configureren als een alleen caching nameserver (alleen als een localhost DNS resolver). // // Zie / usr / share / doc / bind * / sample / voor een voorbeeld met de naam configuratiebestanden. //

// Toegangscontrolelijst waarin staat welke netwerken kunnen raadplegen
// mijn server genaamd
acl verstrikt {
 127.0.0.0 / 8;
 192.168.10.0 / 24;
};

opties {
 // Ik verklaar dat de genoemde daemon ook naar de interface luistert
 // eth0 met het IP: 192.168.10.5
    luisterpoort 53 {127.0.0.1; 192.168.10.5; };
    luister-op-v6 poort 53 {:: 1; }; directory "/ var / named"; dump-bestand "/var/named/data/cache_dump.db"; statistieken-bestand "/var/named/data/named_stats.txt"; memstatistics-bestand "/var/named/data/named_mem_stats.txt";

 // Verklaring van expediteurs
 // expediteurs {
 // 0.0.0.0;
 // 1.1.1.1;
 //};
    // eerst vooruit;

    // Ik sta alleen zoekopdrachten toe aan mijn mired ACL
    toestaan-query { mired; }; // Om te controleren met het dig-commando desdelinux.fan axfr // alleen vanaf het SysAdmin-werkstation en localhost // We hebben geen slave-DNS-servers. We hebben het niet nodig... tot nu toe.
 allow-transfer {localhost; 192.168.10.1; };

    / * - Als u een AUTHORITATIEVE DNS-server bouwt, schakel dan GEEN recursie in. - Als u een RECURSIVE (caching) DNS-server bouwt, moet u recursie inschakelen. - Als uw recursieve DNS-server een openbaar IP-adres heeft, MOET u toegangscontrole inschakelen om zoekopdrachten te beperken tot uw legitieme gebruikers. Als u dit niet doet, wordt uw server onderdeel van grootschalige DNS-versterkingsaanvallen. Het implementeren van BCP38 in uw netwerk zou het aanvalsoppervlak aanzienlijk verminderen * /
    // We willen een AUTHORITY-server voor onze LAN - SME
    recursie nr;

    dnssec-inschakelen ja; dnssec-validatie ja; / * Pad naar ISC DLV-sleutel * / bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/ var / named / dynamic"; pid-bestand "/run/named/named.pid"; sessie-keyfile "/run/named/session.key"; }; logboekregistratie van {kanaal default_debug {bestand "data / named.run"; ernst dynamisch; }; }; zone "." IN {type hint; bestand "named.ca"; }; omvatten "/etc/named.rfc1912.zones"; omvatten "/etc/named.root.key";

// We nemen de TSIG-sleutel op voor dynamische DNS-updates // door DHCP
omvatten "/etc/dhcp.key";

// Verklaring van de naam, het type, de locatie en de updatemachtiging
// van de DNS Records Zones // Beide Zones zijn MASTERS
zone"desdelinux.fan" {
 typ meester;
 bestand "dynamisch/db.desdelinux.fan";
 allow-update {key dhcp-key; };
};

zone "10.168.192.in-addr.arpa" {
 typ meester;
 bestand "dynamic / db.10.168.192.in-addr.arpa";
 allow-update {key dhcp-key; };
};

We controleren de syntaxis

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

Omdat de bovenstaande opdracht niets retourneert, is de syntaxis OK. Als we echter hetzelfde commando uitvoeren, maar met de optie -z, de output zal zijn:

[root @ dns ~] # named-checkconf -z
zone localhost.localdomain/IN: geladen serieel 0 zone localhost/IN: geladen serieel 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: geladen seriële 0 zone 1.0.0.127.in-addr.arpa/IN: geladen seriële 0 zone 0.in-addr.arpa/IN: geladen seriële 0 zone desdelinux.fan/IN: laden vanuit masterbestand dynamic/db.desdelinux.fan mislukt: bestand niet gevonden zone desdelinux.fan/IN: niet geladen vanwege fouten. _standaard/desdelinux.fan/IN: bestand niet gevonden zone 10.168.192.in-addr.arpa/IN: laden vanuit hoofdbestand dynamic/db.10.168.192.in-addr.arpa mislukt: bestand niet gevonden zone 10.168.192.in- addr.arpa/IN: niet geladen vanwege fouten. _default/10.168.192.in-addr.arpa/IN: bestand niet gevonden

Het zijn natuurlijk fouten die optreden omdat we de DNS-registratiezones voor ons domein nog niet hebben aangemaakt.

  • Voor meer informatie over de opdracht name-checkconf, rennen man met de naam checkconf, voordat u andere informatie op internet zoekt. Ik verzeker u dat het u veel tijd zal besparen.

We maken het Direct Zone-bestand desdelinux.ventilator

…maar niet zonder eerst een beetje theorie. 

Als sjabloon om het zonegegevensbestand te maken, kunnen we de /var/named/namedempty, Or /usr/share/doc/bind-9.9.4/sample/var/named/named.empty. Beiden zijn identiek.

[root @ dns ~] # kat /var/named/named.empty 
$ TTL 3H @ IN SOA @ rname.invalid. (0; serieel 1D; vernieuwen 1H; opnieuw 1W; vervallen 3H); minimale of negatieve cachetijd om NS @ A 127.0.0.1 AAAA :: 1 te leven

Tijd van leven - Tijd om TTL te leven SOA-record

Laten we een haakje nemen om de TTL - Tijd om te leven uit het register SOA - Start van de autoriteit van een Master Zone. Het is interessant om hun betekenis te kennen voor wanneer we een van hun waarden willen wijzigen.

$ TTL: Levensduur - Tijd om te leven voor alle records in het bestand die volgen op de aangifte (maar voorafgaan aan elke andere $ TTL-aangifte) en die geen expliciete TTL-verklaring hebben.

serie-: Serienummer van de zonegegevens. Elke keer dat we handmatig een DNS-record in een zone wijzigen, moeten we dat aantal met 1 verhogen, vooral als we slaaf- of secundaire servers hebben. Elke keer dat een secundaire of slaaf DNS-server contact maakt met zijn masterserver, vraagt ​​deze om het serienummer van de mastergegevens. Als het serienummer van de slaaf lager is, zijn de gegevens voor die zone op de slaveserver verouderd en voert de slaaf een zoneoverdracht uit om zichzelf bij te werken.

verversen: Het vertelt de slaveserver het tijdsinterval waarin het moet controleren of zijn gegevens up-to-date zijn met betrekking tot de master.

opnieuw proberen: Als de masterserver niet beschikbaar is - omdat hij ziek werd, laten we zeggen - na een tijdsinterval voor de slaaf verversen, opnieuw proberen Het vertelt de slaaf hoe lang hij moet wachten voordat hij opnieuw contact probeert te maken met zijn meester.

vervallen: Als de slaaf gedurende een bepaalde tijd geen contact kan opnemen met zijn meester vervallenDus als de slaaf-masterzonerelatie is verknoeid en de slaveserver geen andere keuze heeft dan de betreffende zone te laten vervallen. Het vervallen van een zone door een slaaf DNS-server betekent dat deze niet meer reageert op DNS-vragen met betrekking tot die zone, omdat de beschikbare gegevens te oud zijn om bruikbaar te zijn.

  • Het bovenstaande leert ons indirect en beladen met veel gezond verstand - de minst gangbare zintuigen - dat als we geen slaaf DNS-servers nodig hebben voor de werking van onze KMO, we het niet implementeren, tenzij ze strikt noodzakelijk zijn. Laten we altijd proberen om van eenvoudig naar complex te gaan.

minimaal: In versies vóór BINDEN 8.2, het laatste record SOA Het geeft ook de standaardlevensduur aan - Standaard tijd om te leven, en negatieve cache levensduur - Negatieve cachetijd om te leven voor de Zone. Deze tijd verwijst naar alle negatieve reacties van de gezaghebbende server voor de Zone.

Zonebestand /var/named/dynamic/db.desdelinux.ventilator

[root@dns ~]# nano /var/named/dynamic/db.desdelinux.ventilator
$TTL 3H @ IN SOA dns.desdelinux.fan. root.dns.desdelinux.fan. (1; serieel 1D; vernieuwen 1H; opnieuw proberen 1W; verlopen 3H); minimaal of; Negatieve cachetijd om te leven; @ IN NS dns.desdelinux.fan. @ IN MX 10 e-mail.desdelinux.fan. @ IN TXT "FromLinux, uw blog gewijd aan Vrije Software" ; sysadmin IN Een 192.168.10.1 ad-dc IN Een 192.168.10.3 fileserver IN Een 192.168.10.4 dns IN Een 192.168.10.5 proxyweb IN Een 192.168.10.6 blog IN Een 192.168.10.7 ftpserver IN Een 192.168.10.8 .192.168.10.9 mail IN A XNUMX

We controleren /var/named/dynamic/db.desdelinux.ventilator

[root@dns ~]# benoemd-checkzone desdelinux.fan /var/named/dynamic/db.desdelinux.ventilator
zone desdelinux.fan/IN: geladen serieel 1 OK

We maken het Reverse Zone-bestand 10.168.192.in-addr.arpa

  • Het SOA-record van deze Zone is hetzelfde als dat van de Direct Zone zonder rekening te houden met het MX-record..
[root @ dns ~] # nano /var/named/dynamic/db.10.168.192.in-addr.arpa
$TTL 3H @ IN SOA dns.desdelinux.fan. root.dns.desdelinux.fan. (1; serieel 1D; vernieuwen 1H; opnieuw proberen 1W; verlopen 3H); minimaal of; Negatieve cachetijd om te leven; @ IN NS dns.desdelinux.fan. ; 1 IN PTR-sysadmin.desdelinux.fan. 3 IN PTR ad-dc.desdelinux.fan. 4 IN PTR-fileserver.desdelinux.fan. 5 IN PTR dns.desdelinux.fan. 6 IN PTR-proxyweb.desdelinux.fan. 7 IN PTR-blog.desdelinux.fan. 8 IN PTR ftp-server.desdelinux.fan. 9 IN PTR-mail.desdelinux.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: geladen serieel 1 OK

Voordat we de naam opnieuw starten, controleren we de configuratie

  • Totdat we zeker zijn dat de benoemde configuratiebestanden met de naam.conf, en de zonebestanden ervan niet correct zijn geconfigureerd, raden we aan om de genoemde daemon niet opnieuw op te starten. Als we dit doen en later een zonebestand wijzigen, moeten we het serienummer van de gewijzigde zone met 1 verhogen.
  • Laten we eens kijken naar de "." aan het einde van domein- en hostnamen.
[root @ dns ~] # named-checkconf 
[root @ dns ~] # named-checkconf -z
zone localhost.localdomain/IN: geladen serieel 0 zone localhost/IN: geladen serieel 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: geladen seriële 0 zone 1.0.0.127.in-addr.arpa/IN: geladen seriële 0 zone 0.in-addr.arpa/IN: geladen seriële 0 zone desdelinux.fan/IN: geladen serieel 1 zone 10.168.192.in-addr.arpa/IN: geladen serieel 1

Alle huidige benoemde configuratie

Om duidelijkheid te krijgen, en hoewel het artikel lang wordt, geven we de volledige uitvoer van de opdracht met de naam checkconf -zp:

[root @ dns ~] # named-checkconf -zp
zone localhost.localdomain/IN: geladen serieel 0 zone localhost/IN: geladen serieel 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: geladen seriële 0 zone 1.0.0.127.in-addr.arpa/IN: geladen seriële 0 zone 0.in-addr.arpa/IN: geladen seriële 0 zone desdelinux.fan/IN: geladen seriële 1 zone 10.168.192.in-addr.arpa/IN: geladen seriële 1 opties {bindkeys-file "/etc/named.iscdlv.key"; sessie-sleutelbestand "/run/named/session.key"; map "/var/named"; dump-bestand "/var/named/data/cache_dump.db"; luisterpoort 53 { 127.0.0.1/32; 192.168.10.5/32; }; luister-op-v6 poort 53 { ::1/128; }; beheerde-sleutels-directory "/var/named/dynamic"; memstatistics-bestand "/var/named/data/named_mem_stats.txt"; pid-bestand "/run/named/named.pid"; statistiekenbestand "/var/named/data/named_stats.txt"; dnssec-inschakelen ja; dnssec-validatie ja; recursie nee; allow-query { "bekeken"; }; overdracht toestaan ​​{ 192.168.10.1/32; }; }; acl "bekeken" { 127.0.0.0/8; 192.168.10.0/24; }; loggen { kanaal "default_debug" { bestand "data/named.run"; dynamische ernst; }; }; sleutel "dhcp-key" {algoritme "hmac-md5"; geheim "OI7Vs+TO83L7ghUm2xNVKg=="; }; zone "." IN { type hint; bestand "genaamd.ca"; }; zone "localhost.localdomain" IN {type master; bestand "genaamd.localhost"; allow-update { "geen"; }; }; zone "localhost" IN {type master; bestand "genaamd.localhost"; allow-update { "geen"; }; }; 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; bestand "genaamd.loopback"; allow-update { "geen"; }; }; zone "1.0.0.127.in-addr.arpa" IN { type master; bestand "genaamd.loopback"; allow-update { "geen"; }; }; zone "0.in-addr.arpa" IN { type master; bestand "genaamd.leeg"; allow-update { "geen"; }; }; zone"desdelinux.fan" {type master; bestand "dynamic/db.desdelinux.fan"; allow-update { sleutel "dhcp-key"; }; }; zone "10.168.192.in-addr.arpa" { type master; bestand "dynamic/db.10.168.192.in-addr.arpa "; allow-update { key "dhcp-key"; }; }; beheerde sleutels { "." initiële sleutel 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g 0 NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD F6dsV6DoBQzgul68sGicGOYl0OyQdXfZ1relS Qageu+ipAdTTJ9AsRTAoub7ONGcLmqrAmRLKBP6dfwhYB3N 5knNnulq QxA +Uk2ihz8="; };
  • Volg de procedure voor het wijzigen van het genaamd.conf Volgens onze behoeften en controleren, en elk zonebestand aanmaken en controleren, betwijfelen we of we met grote configuratieproblemen te maken zullen krijgen. Uiteindelijk realiseren we ons dat het een jongensspel is, met veel concepten en een moeilijke syntaxis. 

De controles leverden bevredigende resultaten op, daarom kunnen we de BIND opnieuw starten - genoemd.

We herstarten de naam en controleren de status

[root @ dns ~] # systemctl herstart named.service
[root @ dns ~] # systemctl status named.service

Als we een fout krijgen in de uitvoer van het laatste commando, moeten we het benoemde.service en controleer je toestand. Als de fouten zijn verdwenen, is de service met succes gestart. Anders moeten we alle gewijzigde en gemaakte bestanden grondig controleren en de procedure herhalen.

De juiste uitvoer van de status moet zijn:

[root @ dns ~] # systemctl status named.service
● named.service - Berkeley Internet Name Domain (DNS) Geladen: geladen (/usr/lib/systemd/system/named.service; ingeschakeld; vooraf ingestelde leverancier: uitgeschakeld) Actief: actief (actief) sinds zo 2017-01-29 10:05:32 EST; 2min 57s geleden Proces: 1777 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS) Proces: 1788 ExecStart=/usr/sbin/named -u genaamd $OPTIONS (code=exited, status=0/SUCCESS) Proces: 1786 ExecStartPre =/bin/bash -c als [! "$DISABLE_ZONE_CHECKING" == "ja" ]; dan /usr/sbin/named-checkconf -z /etc/named.conf; else echo "Het controleren van zonebestanden is uitgeschakeld"; fi (code=exited, status=0/SUCCESS) Hoofd-PID: 1791 (benoemd) CGroup: /system.slice/named.service └─1791 /usr/sbin/named -u benoemd 29 januari 10:05:32 dns benoemd [1791]: zone 1.0.0.127.in-addr.arpa/IN: geladen serieel 0 januari 29:10:05 DNS genaamd[32]: zone 1791.in-addr.arpa/IN: geladen serieel 10.168.192 januari 1 29:10:05 dns genaamd [32]: zone 1791.ip1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.arpa/IN : geladen serieel 6 0 januari 29:10:05 dns genaamd [32]: zone desdelinux.fan/IN: geladen serieel 1 januari 29:10:05 dns genaamd[32]: zone localhost.localdomain/IN: geladen serieel 1791 januari 0:29:10 dns genaamd[05]: zone localhost/IN: geladen serieel 32 1791 januari 0:29:10 dns genaamd [05]: alle zones geladen
29 jan 10:05:32 dns genaamd [1791]: lopend
29 jan 10:05:32 dns systemd [1]: Berkeley Internet Name Domain (DNS) gestart. 29 jan 10:05:32 dns met de naam [1791]: zone 10.168.192.in-addr.arpa/IN: meldingen verzenden (serie 1)

Cheques

De controles kunnen op dezelfde server worden uitgevoerd of op een machine die is aangesloten op het LAN. We doen ze het liefst vanuit het team systeembeheerder.desdelinux.ventilator waarnaar we uitdrukkelijke toestemming hebben gegeven om Zone-overdrachten uit te voeren. Het bestand / Etc / resolv.conf van dat team is het volgende:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
# Gegenereerd door zoeken in NetworkManager desdelinux.fan naamserver 192.168.10.5

buzz@sysadmin:~$ graven desdelinux.fan axfr
; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> desdelinux.fan axfr ;; globale opties: +cmd
desdelinux.fan. 10800 IN SOA-dns.desdelinux.fan. root.dns.desdelinux.fan. 1 86400 3600 604800 10800
desdelinux.fan. 10800 IN NS dns.desdelinux.fan.
desdelinux.fan. 10800 IN MX 10 e-mail.desdelinux.fan.
desdelinux.fan. 10800 IN TXT "FromLinux, uw blog gewijd aan Vrije Software" ad-dc.desdelinux.fan. 10800 IN Een 192.168.10.3-blog.desdelinux.fan. 10800 IN EEN 192.168.10.7 dns.desdelinux.fan. 10800 IN NAAR 192.168.10.5 bestandsserver.desdelinux.fan. 10800 IN EEN 192.168.10.4 ftp-server.desdelinux.fan. 10800 IN EEN 192.168.10.8-mail.desdelinux.fan. 10800 IN Een 192.168.10.9 proxyweb.desdelinux.fan. 10800 IN EEN 192.168.10.6 systeembeheerder.desdelinux.fan. 10800 NAAR 192.168.10.1
desdelinux.fan. 10800 IN SOA-dns.desdelinux.fan. root.dns.desdelinux.fan. 1 86400 3600 604800 10800 ;; Opvraagtijd: 0 msec;; SERVER: 192.168.10.5#53(192.168.10.5) ;; WANNEER: zo 29 januari 11:44:18 EST 2017;; XFR-grootte: 13 records (berichten 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 opties: +cmd 10.168.192.in-addr.arpa. 10800 IN SOA-dns.desdelinux.fan.10.168.192.in-adr.arpa. root.dns.desdelinux.fan.10.168.192.in-adr.arpa. 1 86400 3600 604800 10800 10.168.192.in-adr.arpa. 10800 IN NS dns.desdelinux.fan. 1.10.168.192.in-adr.arpa. 10800 IN PTR-systeembeheerder.desdelinux.fan. 3.10.168.192.in-adr.arpa. 10800 IN PTR ad-dc.desdelinux.fan. 4.10.168.192.in-adr.arpa. 10800 IN PTR-bestandsserver.desdelinux.fan. 5.10.168.192.in-adr.arpa. 10800 IN PTR dns.desdelinux.fan. 6.10.168.192.in-adr.arpa. 10800 IN PTR-proxyweb.desdelinux.fan. 7.10.168.192.in-adr.arpa. 10800 IN PTR-blog.desdelinux.fan. 8.10.168.192.in-adr.arpa. 10800 IN PTR ftp-server.desdelinux.fan. 9.10.168.192.in-adr.arpa. 10800 IN PTR-mail.desdelinux.fan. 10.168.192.in-adr.arpa. 10800 IN SOA-dns.desdelinux.fan.10.168.192.in-adr.arpa. root.dns.desdelinux.fan.10.168.192.in-adr.arpa. 1 86400 3600 604800 10800 ;; Opvraagtijd: 0 msec;; SERVER: 192.168.10.5#53(192.168.10.5) ;; WANNEER: zo 29 januari 11:44:57 EST 2017;; XFR-grootte: 11 records (berichten 1, bytes 352)

buzz@sysadmin:~$ dig IN SOA desdelinux.ventilator
buzz@sysadmin:~$ dig IN MX desdelinux.fan buzz@sysadmin:~$ dig IN TXT desdelinux.ventilator
buzz @ sysadmin: ~ $ host dns
DNS.desdelinux.fan heeft adres 192.168.10.5
buzz @ sysadmin: ~ $ host sysadmin
systeembeheerder.desdelinux.fan heeft adres 192.168.10.1 ... En alle andere controles die we nodig hebben
  • Momenteel hebben we de basis voor een DNS-server op ons MKB-netwerk. We hopen dat je genoten hebt van de hele procedure, die vrij eenvoudig was, toch? 

We installeren en configureren DHCP

[root @ dns ~] # yum installeer dhcp
Geladen plug-ins: fastmirror, centos-base langpacks | 3.4 kB 00:00:00 centos-updates | 3.4 kB 00:00:00 Spiegelsnelheden laden vanuit een hostbestand in de cache Afhankelijkheden oplossen -> Transactietest uitvoeren ---> Pakket dhcp.x86_64 12: 4.2.5-42.el7.centos moet zijn geïnstalleerd -> Afhankelijkheden oplossen beëindigd Opgeloste afhankelijkheden =============================================== =================================================== =================================== Pakketarchitectuur Versie Repository Grootte =========== =================================================== =================================================== ====================== Installatie: dhcp x86_64 12: 4.2.5-42.el7.centos-base 511k Transactieoverzicht ==== =================================================== =================================================== ============================ Installeer 1 pakket Totale downloadgrootte: 511k Geïnstalleerde grootte: 1.4 M Is dit oké [y / d / N]: y Pakketten downloaden: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00 Transactiecontrole uitvoeren Transactietest uitvoeren Transactietest geslaagd Transactie uitvoeren Installatie: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 Controle: 12: dhcp-4.2.5-42. el7.centos.x86_64 1/1 Geïnstalleerd: dhcp.x86_64 12: 4.2.5-42.el7.centos Klaar!

[root @ dns ~] # nano /etc/dhcp/dhcpd.conf
# # DHCP-serverconfiguratiebestand. # zie /usr/share/doc/dhcp*/dhcpd.conf.example # zie dhcpd.conf(5) manpagina # ddns-update-style interim; ddns-updates aan; ddns-domeinnaam "desdelinux.fan."; ddns-rev-domeinnaam "in-addr.arpa."; client-updates negeren; gezaghebbend; optie ip-forwarding uit; optie domeinnaam "desdelinux.fan"; # optie ntp-servers 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; neem "/etc/dhcp.key" op ; zone desdelinux.fan. { primair 127.0.0.1; sleutel DHCP-sleutel; } zone 10.168.192.in-adr.arpa. { primair 127.0.0.1; sleutel DHCP-sleutel; } gedeeld netwerk redlocal { subnet 192.168.10.0 netmasker 255.255.255.0 { optie routers 192.168.10.1; optie subnetmasker 255.255.255.0; optie uitzendadres 192.168.10.255; optie domeinnaam-servers 192.168.10.5; optie netbios-naamservers 192.168.10.5; bereik 192.168.10.30 192.168.10.250; } } # EINDE dhcpd.conf

[root @ dns ~] # dhcpd -t
Internet Systems Consortium DHCP Server 4.2.5 Copyright 2004-2013 Internet Systems Consortium. Alle rechten voorbehouden. Ga voor informatie naar https://www.isc.org/software/dhcp/ Zoekt niet naar LDAP omdat ldap-server, ldap-port en ldap-base-dn niet zijn opgegeven in het configuratiebestand

[root @ dns ~] # systemctl zet dhcpd aan
Een symlink gemaakt van /etc/systemd/system/multi-user.target.wants/dhcpd.service naar /usr/lib/systemd/system/dhcpd.service.

[root @ dns ~] # systemctl start dhcpd

[root @ dns ~] # systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon geladen: geladen (/usr/lib/systemd/system/dhcpd.service; ingeschakeld; leverancier preset: uitgeschakeld) Actief: actief (actief) sinds dom 2017-01-29 12:04:59 HET IS T; 23 sec. Geleden Docs: man: dhcpd (8) man: dhcpd.conf (5) Hoofd-PID: 2381 (dhcpd) Status: "Dispatching packets ..." CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid 29 jan 12:04:59 dns dhcpd [2381]: Internet Systems Consortium DHCP Server 4.2.5 29 jan 12 : 04: 59 dns dhcpd [2381]: Copyright 2004-2013 Internet Systems Consortium. 29 jan 12:04:59 dns dhcpd [2381]: Alle rechten voorbehouden. 29 jan 12:04:59 dns dhcpd [2381]: Ga voor informatie naar https://www.isc.org/software/dhcp/ 29 jan 12:04:59 dns dhcpd [2381]: Zoekt niet naar LDAP sinds ldap -server, ldap-port en ldap-base-dn zijn niet gespecificeerd in het configuratiebestand 29 jan. 12:04:59 dns dhcpd [2381]: 0 leases geschreven naar leasesbestand. 29 jan 12:04:59 dns dhcpd [2381]: Luisteren op LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 jan 12:04:59 dns dhcpd [2381]: Verzenden op LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 jan 12:04:59 dns dhcpd [2381]: Verzenden op Socket / fallback / fallback-net 29 jan 12:04:59 dns systemd [1]: Gestart DHCPv4-serverdaemon.

Wat moet er nog gebeuren?

Gemakkelijk. Start een Windows 7 of andere client met gratis software en begin met testen en controleren. We hebben het gedaan met twee klanten: zeven.desdelinux.ventilator y suse-desktop.desdelinux.ventilator. De controles waren als volgt:

buzz @ sysadmin: ~ $ host zeven
zeven.desdelinux.fan heeft adres 192.168.10.30

buzz@sysadmin:~$ host zeven.desdelinux.ventilator
zeven.desdelinux.fan heeft adres 192.168.10.30

buzz@sysadmin:~$ dig IN TXT zeven.desdelinux.ventilator
.... ;; VRAAGGEDEELTE: ;zeven.desdelinux.fan. IN TXT ;; ANTWOORDGEDEELTE: zeven.desdelinux.fan. 3600 IN TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"....

We hernoemen het team "zeven" in "LAGER" en herstarten. Nadat we de nieuwe LAGER opnieuw hebben opgestart, controleren we:

buzz @ sysadmin: ~ $ host zeven
Host zeven niet gevonden: 5 (GEWEIGERD)

buzz@sysadmin:~$ host zeven.desdelinux.ventilator
Gastheer zeven.desdelinux.fan niet gevonden: 3(NXDOMAIN)

gezoem@sysadmin: ~ $ host pils
pils.desdelinux.fan heeft adres 192.168.10.30

gezoem@sysadmin:~$host lager.desdelinux.ventilator
pils.desdelinux.fan heeft adres 192.168.10.30

buzz@sysadmin:~$ dig IN TXT pils.desdelinux.ventilator
.... ;; VRAAGGEDEELTE: ;pils.desdelinux.fan. IN TXT ;; ANTWOORDGEDEELTE: pils.desdelinux.fan. 3600 IN TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"....

Met betrekking tot de suse-desktopclient:

buzz @ sysadmin: ~ $ host suse-dektop
Host suse-dektop niet gevonden: 5 (GEWEIGERD)

buzz @ sysadmin: ~ $ host suse-desktop
suse-desktop.desdelinux.fan heeft adres 192.168.10.33

buzz@sysadmin:~$ host suse-desktop.desdelinux.ventilator
suse-desktop.desdelinux.fan heeft adres 192.168.10.33

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

buzz @ sysadmin: ~ $ host 192.168.10.30
30.10.168.192.in-addr.arpa domeinnaamaanwijzer LAGER.desdelinux.fan.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
.... ;; VRAAG SECTIE: ;33.10.168.192.in-addr.arpa. IN PTR;; ANTWOORDGEDEELTE: 33.10.168.192.in-addr.arpa. 3600 IN PTR suse-desktop.desdelinux.fan. ;; AUTORITEITS SECTIE: 10.168.192.in-addr.arpa. 10800 IN NS dns.desdelinux.fan. ;; AANVULLENDE SECTIE: dns.desdelinux.fan. 10800 NAAR 192.168.10.5 ....

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

;; AUTORITEIT SECTIE:
desdelinux.fan. 10800 IN NS dns.desdelinux.fan. ;; AANVULLENDE SECTIE: dns.desdelinux.fan. 10800 NAAR 192.168.10.5
....

Laten we ook de volgende opdrachten uitvoeren

[root@dns ~]# graven desdelinux.fan axfr
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> desdelinux.fan axfr ;; globale opties: +cmd
desdelinux.fan. 10800 IN SOA-dns.desdelinux.fan. root.dns.desdelinux.fan. 6 86400 3600 604800 10800
desdelinux.fan. 10800 IN NS dns.desdelinux.fan.
desdelinux.fan. 10800 IN MX 10 e-mail.desdelinux.fan.
desdelinux.fan. 10800 IN TXT "FromLinux, uw blog gewijd aan Vrije Software" ad-dc.desdelinux.fan. 10800 IN Een 192.168.10.3-blog.desdelinux.fan. 10800 IN EEN 192.168.10.7 dns.desdelinux.fan. 10800 IN NAAR 192.168.10.5 bestandsserver.desdelinux.fan. 10800 IN EEN 192.168.10.4 ftp-server.desdelinux.fan. 10800 IN EEN LAGER 192.168.10.8.desdelinux.fan. 3600 IN TXT"31b7228ddd3a3b73be2fda9e09e601f3e9"LAGER.desdelinux.fan.   3600 IN EEN 192.168.10.30 e-mail.desdelinux.fan. 10800 IN Een 192.168.10.9 proxyweb.desdelinux.fan. 10800 IN Een 192.168.10.6 suse-desktop.desdelinux.fan. 3600 IN TXT"31b78d287769160c93e6dca472e9b46d73" suse-desktop.desdelinux.fan. 3600 IN EEN 192.168.10.33 systeembeheerder.desdelinux.fan. 10800 NAAR 192.168.10.1
desdelinux.fan. 10800 IN SOA-dns.desdelinux.fan. root.dns.desdelinux.fan. 6 86400 3600 604800 10800

In de bovenstaande uitvoer hebben we gemarkeerd stoutmoedig de TTL -in seconden- voor de computers met IP-adressen toegekend door de DHCP-service, die een expliciete verklaring van de TTL 3600 hebben gegeven door de DHCP. Vaste IP's worden geleid door de $ TTL van 3H -3 uur = 10800 seconden- aangegeven in het SOA-record van elk zonebestand.

Ze kunnen op dezelfde manier de omgekeerde zone controleren.

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

Andere buitengewoon interessante opdrachten zijn:

[root@dns ~]# benoemd-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

Handmatige wijziging van Zones-bestanden

Nadat DHCP een rol speelt bij het dynamisch bijwerken van de zonebestanden van het genoemdAls we ooit een zonebestand handmatig moeten wijzigen, moeten we de volgende procedure uitvoeren, maar niet voordat we iets meer weten over de werking van het hulpprogramma. rndc voor naamservercontrole.

[root @ dns ~] # man rndc
....
       bevriezen [zone [class [view]]]
           Onderbreek updates voor een dynamische zone. Als er geen zone is opgegeven, worden alle zones onderbroken. Hierdoor kunnen handmatige bewerkingen worden uitgevoerd in een zone die normaal wordt bijgewerkt door dynamische updates. Het zorgt er ook voor dat wijzigingen in het journaalbestand worden gesynchroniseerd met het hoofdbestand. Alle dynamische updatepogingen worden geweigerd terwijl de zone is bevroren.

       ontdooien [zone [class [view]]]
           Schakel updates voor een bevroren dynamische zone in. Als er geen zone is opgegeven, zijn alle bevroren zones ingeschakeld. Hierdoor laadt de server de zone opnieuw vanaf de schijf en worden dynamische updates opnieuw ingeschakeld nadat het laden is voltooid. Nadat een zone is ontdooid, worden dynamische updates niet langer geweigerd. Als de zone is gewijzigd en de optie ixfr-from-verschillen in gebruik is, wordt het journaalbestand bijgewerkt om wijzigingen in de zone weer te geven. Als de zone is gewijzigd, wordt anders elk bestaand journaalbestand verwijderd. ....

Wat, dacht je dat ik de hele handleiding ging uitschrijven?... een stukje en ze gaan met de auto. De rest laat ik aan jou over. 

in principe:

  • rndc bevriezen [zone [class [view]]], schort de dynamische update van een zone op. Als er geen is gespecificeerd, zal alles vastlopen. Met het commando kunt u de bevroren zone of alle zones handmatig bewerken. Elke dynamische update wordt geweigerd als deze is bevroren.
  • rndc ontdooien [zone [klasse [bekijken]]], maakt dynamische updates mogelijk op een eerder bevroren zone. De DNS-server laadt het zonebestand opnieuw vanaf de schijf en dynamische updates worden opnieuw ingeschakeld nadat het opnieuw laden is voltooid.

Voorzorgsmaatregelen die moeten worden genomen wanneer we handmatig een zonebestand bewerken? Hetzelfde alsof we het aan het maken waren, zonder te vergeten het serienummer met 1 of te verhogen serie- voordat u het bestand met de laatste wijzigingen opslaat.

voorbeeld:

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

[root@dns ~]# nano /var/named/dynamic/db.desdelinux.ventilator
Ik wijzig het zonebestand om welke reden dan ook, noodzakelijk of niet. Ik bewaar de wijzigingen

[root @ dns ~] # rndc dooi desdelinux.ventilator
Een zone herladen en ontdooien werd gestart. Controleer de logboeken om het resultaat te zien.

[root @ dns ~] # journalctl -f
29 januari 14:06:46 dns genaamd [2257]: ontdooizone 'desdelinux.fan/IN': succes
29 januari 14:06:46 dns genaamd[2257]: zone desdelinux.fan/IN: zoneserieel (6) ongewijzigd. zone kan mogelijk niet worden overgedragen naar slaven.
29 januari 14:06:46 dns genaamd[2257]: zone desdelinux.fan/IN: serieel 6 geladen

De fout in de vorige uitvoer, die in rood wordt weergegeven op de console, is te wijten aan het feit dat ik "vergat" het serienummer met 1 te verhogen. Als ik de procedure correct had gevolgd, zou de uitvoer zijn geweest:

[root @ dns ~] # journalctl -f
-- Logboeken beginnen op zondag 2017-01-29 08:31:32 EST. -- 29 januari 14:06:46 dns genaamd[2257]: zone desdelinux.fan/IN: serieel geladen 6 januari 29 14:10:01 dns systemd[1]: Sessie 43 van gebruiker root gestart. 29 januari 14:10:01 dns systemd[1]: Sessie 43 van gebruiker root starten. 29 januari 14:10:01 dns CROND[2693]: (root) CMD (/usr/lib64/sa/sa1 1 1) 29 januari 14:10:45 dns genaamd[2257]: ontvangen controlekanaalcommando 'freeze' desdelinux.fan' 29 januari 14:10:45 dns genaamd [2257]: bevriezingszone 'desdelinux.fan/IN': succes 29 januari 14:10:58 dns genaamd [2257]: ontvangen controlekanaalcommando 'ontdooien' desdelinux.fan' 29 januari 14:10:58 dns genaamd [2257]: ontdooizone 'desdelinux.fan/IN': succes 29 januari 14:10:58 dns genaamd[2257]: zone desdelinux.fan/IN: journaalbestand is verouderd: journaalbestand verwijderen 29 januari 14:10:58 dns genaamd [2257]: zone desdelinux.fan/IN: serieel 7 geladen
  • Lezer vrienden, ik herhaal dat je de uitvoer van de commando's zorgvuldig moet lezen. Voor iets hebben de ontwikkelaars zoveel werk besteed aan het programmeren van elke opdracht, hoe eenvoudig het ook is.

Overzicht

Tot dusverre hebben we ons beziggehouden met de implementatie van het DNS - DHCP-paar, belangrijke en cruciale diensten voor de goede prestaties van ons MKB-netwerk, verwijzend naar het toekennen van dynamische adressen via DHCP en de omzetting van computer- en domeinnamen via DNS.

We hopen van harte dat je net als wij genoten hebt van de hele procedure. Hoewel het misschien moeilijker lijkt om de console te gebruiken, is het veel gemakkelijker en leerzamer om met zijn hulp een service in UNIX® / Linux te implementeren.

Vergeef me elke verkeerde interpretatie van concepten die zijn bedacht, gecreëerd, geschreven, herzien, herschreven en gepubliceerd in de taal van Shakespeare, niet in Cervantes. 

Volgende levering

Ik denk iets meer van hetzelfde - met theoretische toevoegingen aan DNS-records - maar dan in Debian. We mogen die distributie niet vergeten, toch?


Voeg dit toe als voorkeursbron in Google.