DNS och DHCP i CentOS 7 - SMB-nätverk

Allmänt index för serien: Datornätverk för små och medelstora företag: introduktion

Hej kompisar!. Vi kommer att se i den här artikeln hur vi kan implementera det viktiga paret av tjänster för nätverk som utgörs av DNS och DHCP på CentOS - Linux, särskilt i version 7.2.

  • Vissa artiklar om DNS hänvisar till det faktum att implementeringen av den här tjänsten är lite obskur och svår. Jag håller inte så mycket med det uttalandet. Jag skulle hellre säga att det är lite konceptuellt och att många av dess konfigurationsfiler har noga syntax. Lyckligtvis har vi verktyg för att steg för steg kontrollera syntaxen för varje konfigurationsfil som vi ändrar. Därför kommer vi att försöka göra läsningen av detta inlägg så trevligt och roligt som möjligt..

För dem som letar efter grundläggande begrepp om båda tjänsterna rekommenderar vi starkt att du börjar din sökning på Wikipedia, både i dess spanska och engelska versioner. Det är inte mindre sant att artiklar på engelska nästan alltid är mer fullständiga och sammanhängande. Ändå är Wikipedia en mycket bra utgångspunkt.

För dig som verkligen vill lära dig mer om DNS och BIND rekommenderar vi att du läser boken «OReilly - DNS och BIND 4ed" skriven av Paul albitz y Liu Cricket, eller en senare upplaga som verkligen finns.

Vi har redan publicerat en artikel om ämnet med titeln «DNS och DHCP i openSUSE 13.2 Harlequin - SME-nätverk»För älskare av den grafiska miljön. Men från och med nu kommer de att ställas inför artiklar om detta ämne - inte om andra - skrivna med mycket användning av emulator för en terminal eller konsol. Wow, i den klassiska stilen som används av UNIX® / Linux-systemadministratörer.

Om du vill veta mer om efternamnet på titeln på den här artikeln «SME-nätverk»Du kan besöka sidan i den här bloggen«Små och medelstora nätverk: första virtuella nedskärningen«. I den hittar du länkar till många andra publicerade artiklar.

  • Efter att installationen av operativsystemet CentOS 7 är klar med de paket som vi rekommenderar, eJag katalog /usr/share/doc/bind-9.9.4/ innehåller en hel del dokumentation som vi rekommenderar att du konsulterar innan du ger dig in på en internetsökning utan att först veta att du kan hitta det du letar efter till hands och i ditt eget hem.

Bassysteminstallation

Allmänna data för domänen och DNS-servern

Domän namn: fromlinux.fan
DNS-serverns namn: dns.fromlinux.fan
IP-adress: 192.168.10.5
Subnetmask: 255.255.255.0

installation

Vi börjar med en ny eller ren installation av CentOS 7-operativsystemet som anges i föregående artikel «CentOS 7 Hypervisor I - SMB-nätverk«. Vi behöver bara göra följande ändringar:

  • I Imagen 22 «PROGRAMVAL«, Vi rekommenderar att du väljer i den vänstra kolumnen«Basmiljö»Alternativet som motsvarar en«Infrastruktur server«, Medan i högra kolumnen«Insticksprogram för vald miljö»Markera kryssrutan«DNS-namnserver«. Vi installerar DHCP-servern senare.
  • Låt oss komma ihåg deklarationen från de ytterligare arkiven som visas i Imagen 23, efter inställning av «NÄTVERK & LAGSNAMN".
  • Bilderna som hänvisar till partitionerna som vi kommer att skapa på vår hårddisk ges endast som guider. Välj gärna partitionerna efter eget gottfinnande, praxis och med gott omdöme.
  • Slutligen, i Bild 13 «NÄTVERK & LAGSNAMN»Vi måste ändra värdena enligt de allmänna parametrarna för den deklarerade domänen och DNS-servern, utan att glömma att ange värdnamnet - i det här fallet «dns«- efter att nätverkskonfigurationen är klar. Det är positivt att göra ping -från en annan värd- till den angivna IP-adressen efter att nätverket är aktivt:

DNS och DHCP på CentOS

Det finns verkligen få och mycket uppenbara förändringar som vi måste göra med avseende på föregående artikel.

Inledande kontroller och justeringar

När vi har installerat operativsystemet måste vi åtminstone granska följande filer, och för detta startar vi en session via SSH från vår dator sysadmin.fromlinux.fan:

buzz @ sysadmin: ~ $ ssh 192.168.10.5
buzz@192.168.10.5s lösenord: Senaste inloggning: lör 28 jan 09:48:05 2017 från 192.168.10.1
[buzz @ dns ~] $

Ovanstående åtgärd kan ta längre tid än normalt, och det beror främst på det faktum att vi ännu inte har en DNS på LAN. Kontrollera igen senare att DNS fungerar.

[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 
# Skapad av NetworkManager-sökning från linux.fan nameserver 127.0.0.1

Huvudkonfigurationerna svarar på våra val. Observera att även på en server Red Hat 7 - CentOS 7, är konfigurerad som standard när Nätverks chef så att det är den som hanterar nätverksgränssnitten, oavsett om de är trådbundna eller trådlösa (WiFi), VPN-anslutningar, PPPoE-anslutningar och andra nätverksanslutningar.

[buzz @ dns ~] $ sudo systemctl status nätverkshanterare
[sudo] lösenord för buzz: ● networkmanager.service Loaded: hittades inte (Orsak: Ingen sådan fil eller katalog) Aktiv: inaktiv (död)

[buzz @ dns ~] $ sudo systemctl status NetworkManager
● NetworkManager.service - Network Manager Loaded: laddad (/usr/lib/systemd/system/NetworkManager.service; aktiverad; leverantörsförinställning: aktiverad) Aktiv: aktiv (igång) sedan lör 2017-01-28 12:23:59 EST; 12 minuter sedan Huvud-PID: 705 (NetworkManager) CGroup: /system.slice/NetworkManager.service 705─XNUMX / usr / sbin / NetworkManager --no-daemon

Red Hat - CentOS låter dig också ansluta och koppla bort nätverksgränssnitt med de klassiska kommandona ifup e om ner. Låt oss köra på en serverkonsol:

[root @ dns ~] # ifdown eth0
Enheten 'eth0' har kopplats bort.

[root @ dns ~] # ifup eth0
Anslutningen aktiverades framgångsrikt (D-Bus aktiv sökväg: / org / freedesktop / NetworkManager / ActiveConnection / 1)
  • Vi föreslår ändra inte standardinställningarna som CentOS 7 erbjuder med avseende på Nätverks chef.

Vi förklarar definitivt förvaren som vi ska använda och uppdaterar operativsystemet vid behov:

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

Det är hälsosamt att läsa innehållet i originaldeklarationsfilerna från CentOS rekommenderade förvar. De förändringar vi gör här beror på att vi inte har tillgång till internet, och vi arbetar med lokala förvar som laddas ner från WWW Village, av kollegor som gör våra liv lite enklare. 😉

[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 rengör allt
Laddade plugins: snabbaste spegel, langpacks Rengöringsförråd: centos-bas centos-uppdateringar Rensa upp allt

[root @ dns yum.repos.d] # yum-uppdatering
Laddade plugins: snabbaste spegel, centos-base langpacks | 3.4 kB 00:00 cent-uppdateringar | 3.4 kB 00:00 (1/2): centos-base / primary_db | 5.3 MB 00:00 (2/2): centos-uppdateringar / primär_db | 9.1 MB 00:00 Fastställa snabbaste speglar Inga paket markerade för uppdatering

Meddelandet «Inga (det finns) paket markerade för uppdatering» - «Inga paket markerade för uppdatering»Indikerar att exakt de senaste paketen installerades genom att deklarera de mest aktuella förvar som var tillgängliga för oss under installationen.

Om SELinux-sammanhanget och brandväggen

Vi kommer att fokusera den här artikeln - grundläggande - på implementeringen av DNS- och DHCP-tjänster, som är dess huvudsakliga mål.

Om någon läsare valde en säkerhetspolicy under installationsprocessen, såsom anges i Imagen 06 i referensartikeln «CentOS 7 Hypervisor I - SMB-nätverk»Används för att installera denna DNS - DHCP-server och upptäcker att du inte vet hur du konfigurerar SELinux och CentOS Firewall ordentligt, vi föreslår att du kör följande:

Ändra filen / Etc / sysconfig / selinux och förändring SELinux = genomdrivande av SELINUX = inaktivera

[root @ dns ~] # nano / etc / sysconfig / selinux
# Den här filen kontrollerar tillståndet för SELinux i systemet. # SELINUX = kan ta ett av dessa tre värden: # verkställighet - SELinux säkerhetspolicy tillämpas. # permissive - SELinux skriver ut varningar istället för att verkställa. # inaktiverad - Ingen SELinux-policy har laddats.
SELinux = inaktiverad
# SELINUXTYPE = kan ta ett av tre två värden: # riktad - Riktade processer är skyddade, # minimum - Ändring av riktad policy. Endast utvalda processer är pr $ # mls - Säkerhetsskydd på flera nivåer. SELINUXTYPE = riktad

Kör sedan följande kommandon

[root @ dns ~] # setenforce 0
[root @ dns ~] # service firewalld stop
Omdirigerar till / bin / systemctl stoppa firewalld.service

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

Om du implementerar en DNS-server som vetter mot Internet ska du INTE göra ovan, utan konfigurera SELinux-sammanhanget och brandväggen korrekt. Ser "Serverkonfiguration med GNU / Linux, av författaren Joel Barrios Dueñas" eller CentOS-dokumentation i sig - Red Hat

Vi konfigurerar namnet BIND

  • EJag katalog /usr/share/doc/bind-9.9.4/ innehåller en hel del dokumentation som vi rekommenderar att du konsulterar innan du går in på en internetsökning utan att först veta att du kan hitta det du letar efter till hands och i ditt eget hem

I många distributioner kallas DNS-tjänsten som installeras via BIND-paketet som heter (Namn Daemon). I CentOS 7 är den installerad inaktiverad som standard, enligt utdata från följande kommando, där den anger att dess status är «inaktiverad«, Och att detta tillstånd är fördefinierat av dess« säljare »- leverantörsförinställning. För ordens skull är BIND fri programvara.

Aktivera den namngivna tjänsten

[root @ dns ~] # systemctl-status namngiven
● named.service - Berkeley Internet Name Domain (DNS) laddad: laddad (/usr/lib/systemd/system/named.service; inaktiverad; leverantörsförinställning: inaktiverad) Aktiv: inaktiv (död)

[root @ dns ~] # systemctl-aktiverad namngiven
Skapad symlink från /etc/systemd/system/multi-user.target.wants/named.service till /usr/lib/systemd/system/named.service.

[root @ dns ~] # systemctl startnamn

[root @ dns ~] # systemctl-status namngiven
● named.service - Berkeley Internet Name Domain (DNS) laddad: laddad (/usr/lib/systemd/system/named.service; aktiverad; leverantörsförinställning: inaktiverad)
   Aktiv: Aktiv (kör) sedan lör 2017-01-28 13:22:38 EST; 5 minuter sedan Process: 1990 ExecStart = / usr / sbin / heter -u med namnet $ OPTIONS (kod = avslutad, status = 0 / SUCCESS) Process: 1988 ExecStartPre = / bin / bash -c om [! "$ DISABLE_ZONE_CHECKING" == "ja"]; sedan / usr / sbin / named-checkconf -z /etc/named.conf; annat eko "Kontroll av zonfiler är inaktiverad"; fi (code = exited, status = 0 / SUCCESS) Huvud-PID: 1993 (namngiven) CGroup: /system.slice/named.service └─1993 / usr / sbin / named -u heter Jan 28 13:22:45 dns heter [1993]: fel (nätverk kan inte nås) löser './NS/IN': 2001: 500: 2f :: f # 53 Jan 28 13:22:47 dns med namnet [1993]: fel (nätverk kan inte nås) löser './ DNSKEY / IN ': 2001: 500: 3 :: 42 # 53 Jan 28 13:22:47 dns med namnet [1993]: fel (nätverk kan inte nås) löser' ./NS/IN ': 2001: 500: 3 :: 42 # 53 Jan 28 13:22:47 dns namngav [1993]: fel (nätverk kan inte nås) löser './DNSKEY/IN': 2001: 500: 2d :: d # 53 Jan 28 13:22:47 dns heter [1993 ]: fel (nätverk kan inte nås) löser './NS/IN': 2001: 500: 2d :: d # 53 Jan 28 13:22:47 dns med namnet [1993]: fel (nätverk kan inte nås) löser './DNSKEY/ IN ': 2001: dc3 :: 35 # 53 Jan 28 13:22:47 dns namngiven [1993]: fel (nätverk kan inte nås) löser' ./NS/IN ': 2001: dc3 :: 35 # 53 Jan 28 13: 22:47 dns med namnet [1993]: fel (nätverk kan inte nås) löser './DNSKEY/IN': 2001: 7fe :: 53 # 53 Jan 28 13:22:47 dns med namnet [1993]: fel (nätverk kan inte nås) res olving './NS/IN': 2001: 7fe :: 53 # 53 Jan 28 13:22:48 dns namngav [1993]: managed-keys-zone: Det gick inte att hämta DNSKEY-set '.': tidsgräns

[root @ dns ~] # systemctl-start namngiven

[root @ dns ~] # systemctl-status namngiven
● named.service - Berkeley Internet Name Domain (DNS) Loaded: laddad (/usr/lib/systemd/system/named.service; aktiverad; leverantörsinställning: inaktiverad)
   Aktiv: Aktiv (kör) sedan lör 2017-01-28 13:29:41 EST; 1s sedan 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 om [! "$ DISABLE_ZONE_CHECKING" == "ja"]; sedan / usr / sbin / named-checkconf -z /etc/named.conf; annars eko "Kontroll av zonfiler är inaktiverad"; fi (code = exited, status = 0 / SUCCESS) Huvud-PID: 1463 (namngiven) CGroup: /system.slice/named.service └─1463 / usr / sbin / named -u heter Jan 28 13:29:41 dns heter [1463]: managed-keys-zone: journal-filen är inaktuell: tar bort journalfil 28 jan 13:29:41 dns med namnet [1463]: managed-keys-zone: laddad serie 2 jan 28 13:29:41 dns namngiven [1463]: zon 0.in-addr.arpa/IN: laddad serie 0 Jan 28 13:29:41 dns namngiven [1463]: zon localhost.localdomain / IN: laddad serie 0 Jan 28 13:29:41 dns namngiven [1463]: zon 1.0.0.127.in-addr.arpa/IN: laddad serie 0 Jan 28 13:29:41 dns namngiven [1463]: zon 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .6.ip0.arpa / IN: laddad serie 28 jan 13 29:41:1463 dns namngiven [0]: zon lokal värd / IN: laddad serie 28 jan 13 29 : 41: 1463 dns namngav [28]: alla zoner laddade 13 jan 29:41:1463 dns namngav [28]: kör 13 jan 29:41:1 dns systemd [XNUMX]: Startade Berkeley Internet Name Domain (DNS).

Efter att vi aktiverat tjänsten som heter och vi startar det för första gången, kommandot systemctl-status namngiven visar fel. När vi startar om tjänsten nedan, som heter skapar alla konfigurationsfiler som, som standard, är nödvändiga för att den ska fungera korrekt. Därför när vi kör kommandot igen systemctl-status namngiven inga fler fel visas.

  • Kära, dyra och krävande läsare: om du vill ta reda på - åtminstone - vilken väg som leder till slutet av kaninhålet, läs lugnt de detaljerade utmatningarna från varje kommando. 😉 Visst kommer artikeln att verka lite lång, men förneka inte att den vinner förklaring och tydlighet.

Vi ändrar filen /etc/named.conf

Många läsarkommentarer uttrycker -Jag säger inte det- den mani som underhållare av olika Linux-distributioner har, att placera systemkonfigurationsfiler i mappar med olika namn beroende på distro. De har rätt. Men vad kan vi, de enkla användarna som använder dessa distributioner, göra? Anpassa! 😉

Förresten, i FreeBSD, UNIX®-klon «Ursprunget» finns filen i /usr/local/etc/namedb/named.conf; medan du är i Debian, förutom att dela upp i de fyra filerna named.conf, named.conf.options, named.conf.default-zones, and named.conf.local, finns i mappen / etc / bind /. De som vill veta var openSUSE placerar det, läs «DNS och DHCP i openSUSE 13.2 Harlequin - SME-nätverk«. Läsarna har rätt! 😉

Och som vi alltid gör: innan vi ändrar något sparar vi den ursprungliga konfigurationsfilen under ett annat namn.

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

För att göra livet enklare, istället för att generera nyckeln TSIG för dynamiska DNS-uppdateringar via DHCP kopierar vi samma nyckel rndc.nyckel som dhcp.key.

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

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

Så att som heter kan läsa filen som just kopierats ändrar vi dess ägargrupp:

[root @ dns ~] # chown root: heter /etc/dhcp.key [root @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 rot med namnet 77 jan 28 16:36 /etc/dhcp.key -rw-r -----. 1 rot med namnet 77 jan 28 13:22 /etc/rndc.key

Små detaljer som den tidigare är vad som kan göra oss galna när vi försöker lista ut, nu ... var är problemet ...? med några fler adjektiv, som vi inte skriver av respekt för den respektabla.

Nu om - äntligen! - ändrar vi filen /etc/named.conf. De ändringar eller tillägg som vi har gjort med avseende på originalet finns djärv. Ta en titt på hur få.

[root @ dns ~] # nano /etc/named.conf
// // named.conf // // Tillhandahålls av Red Hat bindpaket för att konfigurera ISC BIND med namnet (8) DNS // -server som en endast caching-namnserver (endast som en lokal värd DNS-resolver). // // Se / usr / share / doc / bind * / sample / till exempel namngivna konfigurationsfiler. //

// Åtkomstkontrollista som anger vilka nätverk som kommer att kunna konsultera
// min server heter
acl mired {
 127.0.0.0 / 8;
 192.168.10.0 / 24;
};

alternativ {
 // Jag förklarar att namngiven daemon också lyssnar efter gränssnittet
 // eth0 som har IP: 192.168.10.5
    lyssningsport 53 {127.0.0.1; 192.168.10.5; };
    lyssna-på-v6-port 53 {:: 1; }; katalog "/ var / named"; dump-fil "/var/named/data/cache_dump.db"; statistikfil "/var/named/data/named_stats.txt"; memstatistik-fil "/var/named/data/named_mem_stats.txt";

 // Speditörers uttalande
 // speditörer {
 // 0.0.0.0;
 // 1.1.1.1;
 //};
    // framåt först;

    // Jag tillåter bara frågor till min mired ACL
    allow-query {mired; }; // För att kontrollera med kommandot gräva från linux.fan axfr // från SysAdmin-arbetsstationen och endast localhost // Vi har inte slav-DNS-servrar. Vi behöver det inte ... tills nu.
 allow-transfer {localhost; 192.168.10.1; };

    / * - Om du bygger en Auktoritativ DNS-server, aktivera INTE rekursion. - Om du bygger en RECURSIVE (caching) DNS-server måste du aktivera rekursion. - Om din rekursiva DNS-server har en offentlig IP-adress, MÅSTE du aktivera åtkomstkontroll för att begränsa frågor till dina legitima användare. Om du inte gör det kommer din server att bli en del av storskaliga DNS-förstärkningsattacker. Implementering av BCP38 i ditt nätverk skulle kraftigt minska sådan attackyta * /
    // Vi vill ha en AUTHORITY-server för vårt LAN - SME
    rekursionsnummer;

    dnssec-aktivera ja; dnssec-validering ja; / * Sökväg till ISC DLV-nyckel * / bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/ var / named / dynamic"; pid-fil "/run/named/named.pid"; session-keyfile "/run/named/session.key"; }; logga {channel default_debug {file "data / named.run"; allvarlighetsdynamik; }; }; zon "." IN {typ tips; fil "named.ca"; }; inkluderar "/etc/named.rfc1912.zones"; inkluderar "/etc/named.root.key";

// Vi inkluderar TSIG-nyckeln för dynamiska DNS-uppdateringar // av DHCP
inkluderar "/etc/dhcp.key";

// Deklaration av namn, typ, plats och uppdateringsbehörighet
// av DNS-registerzonerna // Båda zonerna är MASTERS
zon "desdelinux.fan" {
 typ mästare;
 fil "dynamisk / db.fromlinux.fan";
 tillåta uppdatering {key dhcp-key; };
};

zon "10.168.192.in-addr.arpa" {
 typ mästare;
 fil "dynamisk / db.10.168.192.in-addr.arpa";
 tillåta uppdatering {key dhcp-key; };
};

Vi kontrollerar syntaxen

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

Eftersom ovanstående kommando inte returnerar någonting är syntaxen OK. Men om vi kör samma kommando, men med alternativet -zkommer utmatningen att vara:

[root @ dns ~] # namngiven-checkconf -z
zon localhost.localdomain / IN: laddad seriell 0 zon localhost / IN: laddad seriell 0 zon 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa / IN: laddad seriell 0-zon 1.0.0.127.in-addr.arpa/IN: laddad seriell 0-zon 0.in-addr.arpa/IN: laddad seriell 0-zon från linux.fan/IN: laddas från master fil dynamisk / db.från linux.fan misslyckades: filen hittades inte zonen från linux.fan/IN: inte laddad på grund av fel. _default / desdelinux.fan / IN: fil hittades inte zon 10.168.192.in-addr.arpa/IN: laddning från huvudfil dynamisk / db.10.168.192.in-addr.arpa misslyckades: fil hittades inte zon 10.168.192 .in-addr.arpa / IN: laddades inte på grund av fel. _default / 10.168.192.in-addr.arpa / IN: filen hittades inte

Naturligtvis är det fel som uppstår eftersom vi ännu inte har skapat DNS-registreringszonerna för vår domän.

  • För mer information om kommandot namngiven-checkconf, springa man heter-checkconfinnan du letar efter annan information på Internet. Jag kan försäkra er att det kommer att spara en hel del tid.

Vi skapar Direct Zone-filen från linux.fan

... inte utan lite teori först. 😉

Som en mall för att skapa zondatafilen kan vi ta /var/named/named.emptyOr /usr/share/doc/bind-9.9.4/sample/var/named/named.empty. Båda är identiska.

[root @ dns ~] # cat /var/named/named.empty 
$ TTL 3H @ IN SOA @ rname.invalid. (0; serie 1D; uppdatera 1H; försök 1W; upphöra 3H); minsta eller negativa cachetid för att leva NS @ A 127.0.0.1 AAAA :: 1

Livstid - Dags att leva TTL SOA-post

Låt oss ta en parentes för att förklara TTL - Dags att leva från registret SOA - Start of Authority av en Master Zone. Det är intressant att känna till deras betydelse för när vi vill ändra någon av deras värden.

$ TTL: Livstid - Tid att leva för alla poster i filen som följer deklarationen (men föregår alla andra $ TTL-deklarationer) och inte har en uttrycklig TTL-deklaration.

seriell: Serienummer för zondata. Varje gång vi manuellt ändrar en DNS-post i en zon måste vi öka antalet med 1, särskilt om vi har slav- eller sekundärservrar. Varje gång en sekundär eller slav-DNS-server kontaktar sin huvudserver ber den om serienumret på masterdata. Om slavens serienummer är mindre är data för den zonen på slavservern föråldrad och slaven utför en zonöverföring för att uppdatera sig själv.

refresh: Den berättar slavservern om det tidsintervall då den ska kontrollera om dess data är uppdaterade med avseende på mastern.

Försök igen: Om masterservern inte är tillgänglig - för att den blev sjuk, låt oss säga - till slaven efter ett tidsintervall refresh, Försök igen Det berättar för slaven hur länge man ska vänta innan man försöker en kontakt med sin herre igen.

ut: Om slaven inte kan kontakta sin master under en tidsperiod utSedan om slav-master-zonförhållandet skruvades upp och slavservern inte har något annat val än att upphöra med den aktuella zonen. Utgången av en zon av en slav-DNS-server innebär att den slutar svara på DNS-frågor relaterade till den zonen, eftersom tillgänglig data är för gammal för att vara användbar.

  • Ovanstående lär oss indirekt och laddad med stor sunt förnuft - det minst vanliga av sinnena - att om vi inte behöver slav-DNS-servrar för driften av våra små och medelstora företag, implementerar vi det inte, såvida de inte är absolut nödvändiga. Låt oss alltid försöka gå från det enkla till det komplexa.

minimum: I versioner före BIND 8.2, den sista posten SOA Det anger också standardlivslängden - Standardtid att leva, och negativ cache livstid - Negativ cachetid för att leva för zonen. Den här gången avser alla negativa svar från den auktoritativa servern för zonen.

Zonfil /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; serie 1D; uppdatera 1H; försök 1W; upphöra 3H); minimum eller; Negativ cachetid för att leva; @ IN NS dns.fromlinux.fan. @ IN MX 10 mail.fromlinux.fan. @ IN TXT "FromLinux, din blogg tillägnad fri programvara"; 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 kontrollerar /var/named/dynamic/db.fromlinux.fan

[root @ dns ~] # namngiven kontrollzon från linux.fan / var / namngiven / dynamisk / db. frånlinux.fan
zon från linux.fan/IN: laddad serie 1 OK

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

  • SOA-posten för denna zon är densamma som för Direct Zone utan att MX-posten beaktas..
[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; serie 1D; uppdatera 1H; försök 1W; upphöra 3H); minimum eller; Negativ cachetid för att leva; @ IN NS dns.fromlinux.fan. ; 1 IN PTR sysadmin.fromlinux.fan. 3 IN PTR ad-dc.fromlinux.fan. 4 IN PTR fileserver.fromlinux.fan. 5 IN PTR dns.fromlinux.fan. 6 IN PTR proxyweb.desdelinux.fan. 7 IN 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 
zon 10.168.192.in-addr.arpa/IN: laddad serie 1 OK

Innan vi startar om namnet kontrollerar vi dess konfiguration

  • Innan vi är säkra på att de namngivna konfigurationsfilerna, named.conf och dess zonfiler inte är korrekt konfigurerade, föreslår vi att du inte startar om den namngivna daemon. Om vi ​​gör detta och senare ändrar en zonfil måste vi öka serienumret för den modifierade zonen med 1.
  • Låt oss titta på "." i slutet av domän- och värdnamn.
[root @ dns ~] # namngiven-checkconf 
[root @ dns ~] # namngiven-checkconf -z
zon localhost.localdomain / IN: laddad seriell 0 zon localhost / IN: laddad seriell 0 zon 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa / IN: laddad seriell 0-zon 1.0.0.127.in-addr.arpa/IN: laddad seriell 0-zon 0.in-addr.arpa/IN: laddad seriell 0-zon från linux.fan/IN: laddad serie 1 zon 10.168.192.in-addr.arpa/IN: laddad serie 1

Alla nuvarande namngivna konfigurationer

För att få klarhet, och även om artikeln blir lång, ger vi kommandot fullständiga resultat namngiven-checkconf -zp:

[root @ dns ~] # namngiven-checkconf -zp
zon localhost.localdomain / IN: laddad seriell 0 zon localhost / IN: laddad seriell 0 zon 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa / IN: laddad seriell 0-zon 1.0.0.127.in-addr.arpa/IN: laddad seriell 0-zon 0.in-addr.arpa/IN: laddad seriell 0-zon från linux.fan/IN: laddad serie 1 zon 10.168.192.in-addr.arpa/IN: laddade serie 1-alternativ {bindkeys-file "/etc/named.iscdlv.key"; session-keyfile "/run/named/session.key"; katalog "/ var / named"; dump-fil "/var/named/data/cache_dump.db"; lyssningsport 53 {127.0.0.1/32; 192.168.10.5/32; }; lyssna 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"; statistikfil "/var/named/data/named_stats.txt"; dnssec-aktivera ja; dnssec-validering ja; rekursionsnummer; allow-query {"mired"; }; tillåta överföring {192.168.10.1/32; }; }; acl "mired" {127.0.0.0/8; 192.168.10.0/24; }; logga {channel "default_debug" {file "data / named.run"; allvarlighetsdynamik; }; }; nyckel "dhcp-key" {algoritm "hmac-md5"; hemligt "OI7Vs + TO83L7ghUm2xNVKg =="; }; zon "." IN {typ tips; fil "named.ca"; }; zon "localhost.localdomain" IN {typ master; fil "named.localhost"; allow-update {"none"; }; }; zon "localhost" IN {typ master; fil "named.localhost"; allow-update {"none"; }; }; zon "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {typ master; fil "named.loopback"; allow-update {"none"; }; }; zon "1.0.0.127.in-addr.arpa" IN {typ master; fil "named.loopback"; allow-update {"none"; }; }; zon "0.in-addr.arpa" IN {typ master; fil "named.empty"; allow-update {"none"; }; }; zon "desdelinux.fan" {typ master; fil "dynamisk / db.fromlinux.fan"; tillåta uppdatering {nyckel "dhcp-nyckel"; }; }; zon "10.168.192.in-addr.arpa" {typ master; fil "dynamisk / db.10.168.192.in-addr.arpa"; tillåta uppdatering {nyckel "dhcp-nyckel"; }; }; hanterade nycklar {"." nyckelinitial-257 skrevs den augusti 3 "AwEAAagAIKlVZrpC8Ia6gEzahOR + 7W9euxhJhVVLOyQbSEW29O0gcCjF FVQUTf8v6fLjwBd58YI0EzrAcQqBGCzh / RStIoO0g8NfnfL0MTJRkxoX bfDaUeVPQuYEhg2NZWAJQ37VnMVDxP / VHL9M / QZxkjf496 / Efucp5gaD X2RS6CXpoY6LsvPVjR68ZSwzz0apAzvN1dlzEheX9ICJBBtuA7G6LQpz W3hOA5hzCTMjJPJ2LbqF8dsV6DoBQzgul6sGIcGOYl0OyQdXfZ7relS Qageu + ipAdTTJ57AsRTAoub25ONGcLmqrAmRLKBP8dfwhYB1N4knNnulq QXA + Uk7ihz1 ="; };
  • Efter proceduren för att ändra heter.konf Enligt våra behov och kontroll, och skapa varje zonfil och kontrollera den, tvivlar vi på att vi kommer att behöva möta stora konfigurationsproblem. Till slut inser vi att det är ett pojkespel, med många koncept och noga syntax, 😉

Kontrollerna gav tillfredsställande resultat, därför kan vi starta om BIND - som heter.

Vi startar om namngivna och kontrollerar dess status

[root @ dns ~] # systemctl starta om namngiven.service
[root @ dns ~] # systemctl-status med namnet.service

Om vi ​​får någon form av fel i utgången från det sista kommandot måste vi starta om namngiven.tjänst och kontrollera din status. Om felen är borta startade tjänsten framgångsrikt. Annars måste vi göra en grundlig granskning av alla modifierade och skapade filer och upprepa proceduren.

Den korrekta utmatningen av statusen bör vara:

[root @ dns ~] # systemctl-status med namnet.service
● named.service - Berkeley Internet Name Domain (DNS) Loaded: loaded (/usr/lib/systemd/system/named.service; enabled; leverantörsinställning: deaktiverad) Aktiv: aktiv (kör) sedan sön 2017-01-29 10:05:32 EST; 2min 57s sedan 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 called $ OPTIONS (code = exited, status = 0 / SUCCESS) Process: 1786 ExecStartPre = / bin / bash -c om [! "$ DISABLE_ZONE_CHECKING" == "ja"]; sedan / usr / sbin / named-checkconf -z /etc/named.conf; annars eko "Kontroll av zonfiler är inaktiverad"; fi (kod = avslutad, status = 0 / SUCCESS) Huvud-PID: 1791 (namngiven) CGroup: /system.slice/named.service └─1791 / usr / sbin / named -u heter Jan 29 10:05:32 dns heter [1791]: zon 1.0.0.127.in-addr.arpa/IN: laddad serie 0 jan 29 10:05:32 dns namngiven [1791]: zon 10.168.192.in-addr.arpa/IN: laddad serie 1 jan 29 10:05:32 dns med namnet [1791]: zon 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN : laddad serie 0 jan 29 10:05:32 dns namngiven [1791]: zon desdelinux.fan/IN: laddad serie 1 jan 29 10:05:32 dns namngiven [1791]: zon localhost.localdomain / IN: laddad serie 0 29 jan 10:05:32 dns namngav [1791]: zon localhost / IN: laddad serie 0 29 jan 10:05:32 dns namngiven [1791]: alla zoner laddade
29 jan 10:05:32 dns namngav [1791]: rinnande
29 jan 10:05:32 dns systemd [1]: Startade Berkeley Internet Name Domain (DNS). 29 jan 10:05:32 dns med namnet [1791]: zon 10.168.192.in-addr.arpa/IN: skickar meddelanden (serie 1)

Kontroller

Kontrollerna kan köras på samma server eller på en maskin som är ansluten till LAN. Vi föredrar att göra dem från laget sysadmin.fromlinux.fan som vi gav uttryckligt tillstånd att göra zonöverföringar till. Filen / Etc / resolv.conf i det laget är följande:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
# Skapad av NetworkManager-sökning från linux.fan nameserver 192.168.10.5

buzz @ sysadmin: ~ $ dig från linux.fan axfr
; << >> DiG 9.9.5-9 + deb8u1-Debian << >> desdelinux.fan axfr ;; globala alternativ: + cmd från linux.fan. 10800 IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 1 86400 3600 604800 10800 från linux.fan. 10800 IN NS dns.fromlinux.fan. från linux.fan. 10800 IN MX 10 mail.fromlinux.fan. från linux.fan. 10800 IN TXT "FromLinux, din blogg dedikerad till fri programvara" 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 Till 192.168.10.1 från linux.fan. 10800 IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 1 86400 3600 604800 10800 ;; Frågetid: 0 ms ;; SERVER: 192.168.10.5 # 53 (192.168.10.5) ;; NÄR: Sön 29 jan 11:44:18 EST 2017 ;; XFR-storlek: 13 poster (meddelanden 1, byte 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 ;; globala alternativ: + 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 ;; Frågetid: 0 ms ;; SERVER: 192.168.10.5 # 53 (192.168.10.5) ;; NÄR: Sön 29 jan 11:44:57 EST 2017 ;; XFR-storlek: 11 poster (meddelanden 1, byte 352)

buzz @ sysadmin: ~ $ dig IN SOA från linux.fan
buzz @ sysadmin: ~ $ dig IN MX från linux.fan buzz @ sysadmin: ~ $ dig IN TXT från linux.fan
buzz @ sysadmin: ~ $ värd dns
dns.fromlinux.fan har adressen 192.168.10.5
buzz @ sysadmin: ~ $ värd sysadmin
sysadmin.desdelinux.fan har adressen 192.168.10.1 ... Och alla andra kontroller vi behöver
  • Hittills har vi grunden för en DNS-server i vårt SME-nätverk. Vi hoppas att du gillade hela proceduren, vilket var ganska enkelt, eller hur? 😉

Vi installerar och konfigurerar DHCP

[root @ dns ~] # yum installera dhcp
Laddade plugins: snabbaste spegel, centos-base langpacks | 3.4 kB 00:00:00 centos-uppdateringar | 3.4 kB 00:00:00 Läser in spegelhastigheter från cachad värdfil Lösa beroenden -> Kör transaktionstest ---> Paket dhcp.x86_64 12: 4.2.5-42.el7.centos måste installeras -> Lösa beroenden avslutade Lösta beroenden ================================================= =================================================== ==================================== Paketarkitektur Version Förvar Storlek =========== =================================================== =================================================== ======================= Installation: dhcp x86_64 12: 4.2.5-42.el7.centos centos-base 511 k Transaktionsöversikt ==== =================================================== =================================================== ============================= Installera 1 paket Total nedladdningsstorlek: 511k Installerad storlek: 1.4 M Är det ok [y / d / N]: y Nedladdning av paket: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00 Kör transaktionskontroll Köra transaktionstest Transaktionstest lyckades Köra transaktion Installera: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 Kontroll: 12: dhcp-4.2.5-42. el7.centos.x86_64 1/1 Installerad: dhcp.x86_64 12: 4.2.5-42.el7.centos Klar!

[root @ dns ~] # nano /etc/dhcp/dhcpd.conf
# # DHCP-serverkonfigurationsfil. # se /usr/share/doc/dhcp*/dhcpd.conf.exempel # se dhcpd.conf (5) man sida # ddns-update-style interim; ddns-uppdateringar på; ddns-domännamn "desdelinux.fan."; ddns-rev-domännamn "in-addr.arpa."; ignorera klientuppdateringar; auktoritativ; alternativ ip-vidarebefordran av; alternativ domännamn "desdelinux.fan"; # option ntp-servrar 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; inkluderar "/etc/dhcp.key"; zon från linux.fan. {primär 127.0.0.1; nyckel dhcp-nyckel; } zon 10.168.192.in-addr.arpa. {primär 127.0.0.1; nyckel dhcp-nyckel; } delat nätverk redlocal {subnet 192.168.10.0 netmask 255.255.255.0 {option routers 192.168.10.1; undernätmask 255.255.255.0; alternativ sändningsadress 192.168.10.255; alternativ domännamnsservrar 192.168.10.5; option netbios-namnservrar 192.168.10.5; intervall 192.168.10.30 192.168.10.250; }} # SLUT dhcpd.conf

[root @ dns ~] # dhcpd -t
Internet Systems Consortium DHCP Server 4.2.5 Copyright 2004-2013 Internet Systems Consortium. Alla rättigheter förbehållna. För information, besök https://www.isc.org/software/dhcp/ Söker inte LDAP eftersom ldap-server, ldap-port och ldap-base-dn inte specificerades i konfigurationsfilen

[root @ dns ~] # systemctl aktiverar dhcpd
Skapad symlink från /etc/systemd/system/multi-user.target.wants/dhcpd.service till /usr/lib/systemd/system/dhcpd.service.

[root @ dns ~] # systemctl start dhcpd

[root @ dns ~] # systemctl-status dhcpd
● dhcpd.service - DHCPv4 Server Daemon Loaded: laddad (/usr/lib/systemd/system/dhcpd.service; aktiverad; leverantörsförinställning: inaktiverad) Aktiv: aktiv (igång) sedan dom 2017-01-29 12:04:59 DET ÄR T; 23 år sedan Dokument: man: dhcpd (8) man: dhcpd.conf (5) Huvud-PID: 2381 (dhcpd) Status: "Skickar paket ..." CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -användare dhcpd -grupp 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]: Alla rättigheter förbehållna. 29 jan 12:04:59 dns dhcpd [2381]: För information, besök https://www.isc.org/software/dhcp/ 29 jan 12:04:59 dns dhcpd [2381]: Söker inte LDAP sedan ldap -server, ldap-port och ldap-base-dn specificerades inte i konfigurationsfilen 29 jan 12:04:59 dns dhcpd [2381]: Skrev 0 hyresavtal till leasingavtal. 29 jan 12:04:59 dns dhcpd [2381]: Lyssnar på LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 jan 12:04:59 dns dhcpd [2381]: Skickar på LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 jan 12:04:59 dns dhcpd [2381]: Skickar på uttaget / reserv / fallback-nät 29 jan 12:04:59 dns systemd [1]: Startad DHCPv4 Server Daemon.

Vad återstår att göra?

Enkel. Starta en Windows 7 eller annan klient med fri programvara och börja testa och kontrollera. Vi gjorde det med två kunder: sju.fromlinux.fan y suse-desktop.fromlinux.fan. Kontrollerna var som följer:

buzz @ sysadmin: ~ $ värd sju
seven.fromlinux.fan har adressen 192.168.10.30

buzz @ sysadmin: ~ $ värd sju.fromlinux.fan
seven.fromlinux.fan har adressen 192.168.10.30

buzz @ sysadmin: ~ $ dig IN TXT seven.fromlinux.fan
.... ;; FRÅGA AVSNITT :; seven.fromlinux.fan. IN TXT ;; SVAR-AVSNITT: sju.fromlinux.fan. 3600 IN TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"....

Vi byter namn på laget "sju" till "LAGER" och startar om. Efter att ha startat om den nya LAGER, kontrollerar vi:

buzz @ sysadmin: ~ $ värd sju
Värd sju hittades inte: 5 (REFUSED)

buzz @ sysadmin: ~ $ värd sju.fromlinux.fan
Värd sju.desdelinux.fan hittades inte: 3 (NXDOMAIN)

surr@sysadmin: ~ $ värd lager
lager.desdelinux.fan har adressen 192.168.10.30

surr@sysadmin: ~ $ värd lager.fromlinux.fan
lager.desdelinux.fan har adressen 192.168.10.30

buzz @ sysadmin: ~ $ dig IN TXT lager.fromlinux.fan
.... ;; FRÅGA AVSNITT :; lager.fromlinux.fan. IN TXT ;; SVAR-AVSNITT: lager.fromlinux.fan. 3600 IN TXT "31b7228ddd3a3b73be2fda9e09e601f3e9"....

När det gäller suse-desktop-klienten:

buzz @ sysadmin: ~ $ värd suse-dektop
Host suse-dektop hittades inte: 5 (REFUSED)

buzz @ sysadmin: ~ $ värd suse-desktop
suse-desktop.desdelinux.fan har adressen 192.168.10.33

buzz @ sysadmin: ~ $ värd suse-desktop.fromlinux.fan
suse-desktop.desdelinux.fan har adressen 192.168.10.33

buzz @ sysadmin: ~ $ värd 192.168.10.33
33.10.168.192.in-addr.arpa domännamnspekare suse-desktop.desdelinux.fan.

buzz @ sysadmin: ~ $ värd 192.168.10.30
30.10.168.192.in-addr.arpa domännamnspekare LAGER.desdelinux.fan.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
.... ;; FRÅGA AVSNITT :; 33.10.168.192.in-addr.arpa. IN PTR ;; SVAR-AVSNITT: 33.10.168.192.in-addr.arpa. 3600 IN PTR suse-desktop.fromlinux.fan. ;; MYNDIGHETSSNITT: 10.168.192.in-addr.arpa. 10800 IN NS dns.fromlinux.fan. ;; YTTERLIGARE AVSNITT: dns.fromlinux.fan. 10800 IN A 192.168.10.5 ....

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

;; Auktoritetsavsnitt: desdelinux.fan. 10800 IN NS dns.fromlinux.fan. ;; YTTERLIGARE AVSNITT: dns.fromlinux.fan. 10800 IN A 192.168.10.5
....

Låt oss också köra följande kommandon

[root @ dns ~] # gräva från linux.fan axfr
; << >> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 << >> desdelinux.fan axfr ;; globala alternativ: + cmd från linux.fan. 10800 IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 6 86400 3600 604800 10800 från linux.fan. 10800 IN NS dns.fromlinux.fan. från linux.fan. 10800 IN MX 10 mail.fromlinux.fan. från linux.fan. 10800 IN TXT "FromLinux, din blogg dedikerad till fri programvara" 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 IN 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 Till 192.168.10.1 från linux.fan. 10800 IN SOA dns.fromlinux.fan. root.dns.fromlinux.fan. 6 86400 3600 604800 10800

I utdata ovan markerade vi på djärv den TTL -in sekunder- för datorer med IP-adresser som beviljas av DHCP-tjänsten, de som har en uttrycklig deklaration av TTL 3600 från DHCP. Fasta IP: er styrs av $ TTL på 3H -3 timmar = 10800 sekunder - deklareras i SOA-posten för varje zonfil.

De kan kontrollera omvänd zon på samma sätt.

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

Andra extremt intressanta kommandon är:

[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

Manuell modifiering av Zones-filer

Efter DHCP spelar in dynamisk uppdatering av zonfiler för som heterOm vi ​​någonsin behöver ändra en zonfil manuellt måste vi utföra följande procedur, men inte innan vi vet lite mer om hur verktyget fungerar rndc för namnserverkontroll.

[root @ dns ~] # man rndc
....
       frysa [zon [klass [visa]]]
           Stäng av uppdateringar till en dynamisk zon. Om ingen zon anges är alla zoner avstängda. Detta gör att manuella redigeringar kan göras till en zon som normalt uppdateras av dynamisk uppdatering. Det gör också att ändringar i journalfilen synkroniseras till huvudfilen. Alla dynamiska uppdateringsförsök kommer att nekas medan zonen är frusen.

       tina [zon [klass [visa]]]
           Aktivera uppdateringar av en frusen dynamisk zon. Om ingen zon anges är alla frysta zoner aktiverade. Detta gör att servern laddar om zonen från disk och aktiverar dynamiska uppdateringar igen efter att belastningen har slutförts. Efter att en zon har tinats kommer dynamiska uppdateringar inte längre att avslås. Om zonen har ändrats och alternativet ixfr-från-skillnader används, kommer journalfilen att uppdateras för att återspegla ändringar i zonen. Annars, om zonen har ändrats, kommer alla befintliga journalfiler att tas bort. ....

Vad, trodde du att jag skulle transkribera hela manualen? ... en bit så går de med bil. Resten lämnar jag åt dig. 😉

princip:

  • rndc frysa [zon [klass [visa]]], avbryter den dynamiska uppdateringen av en zon. Om en inte är angiven kommer alla att frysa. Kommandot tillåter manuell redigering av den frysta zonen eller alla zoner. Alla dynamiska uppdateringar kommer att nekas medan de är frysta.
  • rndc tina [zon [klass [vy]]], möjliggör dynamiska uppdateringar på en tidigare frusen zon. DNS-servern laddar om zonfilen från hårddisken och dynamiska uppdateringar aktiveras igen när omladdningen är klar.

Varningar som ska vidtas när vi manuellt redigerar en zonfil? Samma som om vi skapade den utan att glömma att öka serienumret med 1 eller seriell innan du sparar filen med de slutliga ändringarna.

Exempelvis:

[root @ dns ~] # rndc fryser från linux.fan

[root @ dns ~] # nano /var/named/dynamic/db.fromlinux.fan
Jag ändrar zonfilen av någon anledning, nödvändig eller inte. Jag sparar ändringarna

[root @ dns ~] # rndc tina från linux.fan
En zonladdning och upptining startades. Kontrollera loggarna för att se resultatet.

[root @ dns ~] # journalctl -f
29 jan 14:06:46 dns namngav [2257]: tiningszon 'desdelinux.fan/IN': framgång
29 jan 14:06:46 dns namngav [2257]: zon från linux.fan/IN: zon serie (6) oförändrad. zonen kan misslyckas med att överföras till slavar.
29 jan 14:06:46 dns namngav [2257]: zon desdelinux.fan/IN: laddad serie 6

Felet i föregående utgång, som visas i rött på konsolen, beror på det faktum att jag "glömde" att öka serienumret med 1. Om jag hade följt proceduren korrekt hade utmatningen varit:

[root @ dns ~] # journalctl -f
- Loggar börjar sön 2017-01-29 08:31:32 EST. - 29 jan 14:06:46 dns med namnet [2257]: zon desdelinux.fan/IN: laddad serie 6 jan 29 14:10:01 dns systemd [1]: Startade session 43 i användarrot. 29 jan 14:10:01 dns systemd [1]: Startar session 43 i användarrot. 29 jan 14:10:01 dns CROND [2693]: (root) CMD (/ usr / lib64 / sa / sa1 1) 1 jan 29:14:10 dns med namnet [45]: fått kontrollkanalkommandot 'frysa från linux. fan '2257 jan 29:14:10 dns namngiven [45]: fryszon' desdelinux.fan/IN ': framgång 2257 jan 29:14:10 dns namngiven [58]: fått kontrollkanalkommandot' tina desdelinux.fan 'jan 2257 29:14:10 dns med namnet [58]: tinande zon 'desdelinux.fan/IN': framgång 2257 jan 29:14:10 dns med namnet [58]: zon desdelinux.fan/IN: journalfilen är inaktuell: tar bort journalfil 2257 jan 29:14:10 dns med namnet [58]: zon desdelinux.fan/IN: laddad serie 2257
  • Läsare vänner, jag upprepar att du måste läsa igenom kommandona. För något spenderade utvecklarna så mycket arbete på att programmera varje kommando, oavsett hur enkelt det är.

Sammanfattning

Hittills har vi behandlat implementeringen av DNS - DHCP-paret, viktiga och viktiga tjänster för vårt SME-nätverk, med hänvisning till beviljande av dynamiska adresser via DHCP och upplösning av dator- och domännamn via DNS.

Vi hoppas verkligen att du har haft hela proceduren som vi gjorde. Även om det kan verka svårare att använda konsolen är det mycket lättare och mer lärorikt att implementera en tjänst i UNIX® / Linux med hjälp.

De förlåter mig för all felaktig tolkning av begrepp som skapats, skrivits, reviderats, skrivits om och publicerats på Shakespeares språk, inte Cervantes. 😉

Nästa leverans

Jag tror lite mer av samma sak - med teoretiska tillägg till DNS-poster - men i Debian. Vi kan inte glömma den distributionen, eller hur?


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

15 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras.

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Christian Merchan sade

    Tack så mycket för ditt lovvärda arbete med att skriva sådana fruktbara artiklar. Det kommer att vara till stor nytta för mig

  2.   federico sade

    Och tack så mycket, Cristian, för att du följde mig och för din bedömning av det här inlägget. Framgångar!

  3.   Ismael Alvarez Wong sade

    Efter att ha tittat första gången på detta nya inlägg av Federico, märks återigen den stora professionalismen i hela PYMES-serien; förutom den stora detalj som illustrerar din domän på två av de viktigaste tjänsterna (DNS och DHCP) i alla nätverk. Vid det här tillfället och till skillnad från mina tidigare kommentarer har jag en andra kommentar väntar efter att ha genomfört vad jag har sagt i det här inlägget.

  4.   crespo88 sade

    Inga kommentarer, pa '400 !!! Fico tack för att du vet mycket väl att jag läser dina inlägg och vi kan inte be om mer. Du börjar med en mycket bra organisation, från hur man installerar och ställer in ett personligt skrivbord för en användare, arbetsstationen är basen, det är känslan av att vara de nätverkstjänsterna som du förklarar mycket bra. Du har klättrat och även om det är sant att nivån ökar är det sant att du har skrivit och publicerat för dem som är mindre än de som börjar, för de som har varit som jag en tid och för de mest avancerade.
    Med tiden har jag kommit till slutsatsen att jag vet att många redan har kommit, teorin, det som kostar oss så mycket att förvärva för det enkla faktum att vi inte vill läsa, eftersom det redan är mycket lättare att utföra när vi vet vad vi gör, varför ???, frågorna, var man kan hitta och hur man kan komma ur felet som ger så mycket huvudvärk när vi inte ens vet var de kommer ifrån, värda redundansen.
    Av den anledningen vill jag inte att du ska lämna de teoretiska elementen som du kommer att ta med om DNS-poster i nästa publikation som du meddelade, mycket mindre när det gäller den kära och älskade DEBIAN.
    TACK MYCKET och vi väntar.

  5.   djägare sade

    Utmärkt som alltid Fico! Jag väntar på Debian-versionen, jag har spelat allt med den distro i flera år.

  6.   federico sade

    Wong: Din åsikt efter att ha läst är värt mycket. Jag väntar på dina kommentarer när du testar innehållet, för jag vet att det är så du vill göra det. 😉

  7.   federico sade

    Crespo: Som alltid tas dina kommentarer mycket väl emot. Jag ser att du har tagit den allmänna linjen som jag tog upp i kompositionen av denna serie. Jag hoppas att, precis som du, många redan har lagt märke till det. Tack för din kommentar.

  8.   federico sade

    Dhunter: Bra att läsa dig igen! Du behöver inte vänta länge. Senast måndagen - eller innan - kommer den att vara klar för publicering. Tror inte att det är lätt för mig att täcka tre olika distroer, men Respectable Reader ber om det. Inte bara Debian och Ubuntu utan de tre som är inriktade på små och medelstora företag.

  9.   crespo88 sade

    Om du har publicerat beror det på att du kan, vi stöder dig och vi vet att du kommer att följa den raden.
    Som en dhunter väntar jag på Debian-utgåvan med skarpa tänder. Det skulle vara trevligt om du täckte lite om NTP. Sl2 och en stor kram. Om mina lärare hade lärt mig allt sådant, HAHAJJA, Platinum Degree, HAHAJJA.

  10.   federico sade

    Detaljnivån i kommandoutgångar är nödvändig för att visa dess betydelse. De säger mycket. Det är sant att få artiklar behandlar denna detaljnivå, eftersom de tror att det skulle vara långa och tunga artiklar att läsa. Tja, en del av ett SysAdmins jobb är att läsa de tunga och detaljerade resultaten, inte bara inför ett problem utan också inför kontroller.

  11.   Ismael Alvarez Wong sade

    Hej Federico, jag hade lovat tidigare att skriva några kommentarer efter att ha studerat det aktuella inlägget noggrant; Tja, här går de nästa:
    - Bra teknik istället för att generera TSIG-nyckeln för dynamiska DNS-uppdateringar av DHCP, kopiera samma rndc.key-tangent som dhcp.key, detta tydligen "så enkelt" visar att målet inte bara är tekniskt av HOWTO-INSTALL-DNS - & - DHCP men lär oss att tänka, 5 STJÄRNOR FÖR SKRIVAREN.
    - Mycket intressant i DNS-konfigurationsfilen med namnet.conf, närvaron av raden «allow-transfer {localhost; 192.168.10.1; }; » för att testa domänen «desdelinux.fan» endast från SysAdmin-arbetsstationen och localhost (själva DNS-servern), och sätt också in TSIG-nyckeln för att uppdatera DNS från DHCP.
    - Mycket bra skapandet av de direkta och inversa zonerna för DNS tillsammans med den "detaljerade" förklaringen av deras typer av poster, liksom utförandet av kommandot "# named-checkconf -zp" för att kontrollera alla syntaxer för namngivna innan dess hård återställning, liksom exempel på att köra kommandot "dig" för att verifiera olika typer av DNS-poster.
    . I DHCP-konfigurationen (med filen /etc/dhcp/dhcpd.conf):
    - Hur man lägger till vårt lokala nätverk med sitt sortiment för dynamiska IP-adresser att tilldela, definitionen av namnservern, etc; samt hur man berättar för DHCP att uppdatera DNS-poster genom att använda raderna "ddns- ..." i sin konfiguration.
    . När allt redan är i drift, 5 STJÄRNOR FÖR SKRIVAREN, vid körningen av kommandot "# dig desdelinux.fan axfr" för att kontrollera TTL för datorer på LAN som har statisk IP för dem som har dynamisk IP tilldelad.
    . Slutligen, STOR, manuell modifiering av Zones-filer genom att frysa dem först med "# rndc freeze desdelinux.fan", sedan göra modifieringen och slutligen låsa upp dem med "# rndc thaw desdelinux.fan"
    . OCH DET BÄSTA, ALLA HAR GJORT FRÅN TERMINALEN.
    Fortsätt så Fico.

    1.    Joy sade

      Hej,
      Jag kom inte titta på det, därför att jag försökte bakom hur jag kan göra allt som delas och tas bort på min dator och mina bilder. Jag har totalt ingen kontroll över min egen dator på mobilen.
      Het zit m dus också in het dns in dhcp. Jag vet verkligen inte hur jag behöver lösningar och kan ta bort. Misschien att någon ska hjälpa mig? This is namelijk buiten mij om geinstalleerd. Walgelijk gedrag vind ik het.

  12.   federico sade

    Wong: din kommentar kompletterar artikeln. Allvarligt, det visar att du har studerat det noggrant. Annars kan du inte kommentera den detaljnivå du gör. Lägg bara till det tillåta överföring Den används främst för när vi har en DNS-slav och vi tillåter överföring av zoner från mastern till den. Jag använder det på det sättet eftersom det är en enkel att implementera mekanism för att göra icke-farliga kontroller från en enda dator. Tack så mycket för ditt betyg 5. Hälsningar! och jag kommer att vänta på dig i mina nästa artiklar.

  13.   IgnacioM sade

    Hej Federico. Jag vet att jag är lite sen, men jag skulle vilja ställa en fråga.
    Kommer den här proceduren att hjälpa mig om jag vill rikta en domän till min vps-server?

    Var 15: e minut får jag dessa systemmeddelanden:

    DHCPREQUEST på eth0 till port 67 (xid =…)
    DHCPACK från (xid =…)
    bunden till - förnyelse på 970 sekunder.

    Och utifrån vad jag förstår ska jag skapa en A-post med min domän och ip på min dedikerade server.

    * Jag gratulerar och tackar för den här artikeln, jag vet inte om det är det jag letade efter men jag tyckte det var väldigt intressant och väl förklarat. Jag fick också rekommendationen från "DNS och BIND" att jag redan har skvallrat lite och det verkar väldigt intressant.

    Hälsningar från Argentina!

    1.    antonio valdes toujague sade

      vänligen kontakta mig igenom valtestoujague@yandex.com