DNS e DHCP in CentOS 7 - Reti SMB

Indice generale della serie: Reti di computer per le PMI: Introduzione

Ciao amici!. Vedremo in questo articolo come implementare l'importante coppia di servizi per reti costituita dal DNS e DHCP su CentOS - Linux, in particolare nella sua versione 7.2.

  • Alcuni articoli sul DNS fanno riferimento al fatto che l'implementazione di questo servizio è un po 'oscura e difficile. Non sono del tutto d'accordo con questa affermazione. Preferisco dire che è un po 'concettuale e che molti dei suoi file di configurazione hanno una sintassi esigente. Fortunatamente, abbiamo strumenti per controllare, passo dopo passo, la sintassi di ogni file di configurazione che modifichiamo. Pertanto, cercheremo di rendere la lettura di questo post il più piacevole e divertente possibile..

Per chi cerca concetti di base su entrambi i servizi, consigliamo vivamente di iniziare la ricerca su Wikipedia, sia nella versione spagnola che in quella inglese. Non è meno vero che gli articoli in inglese sono quasi sempre più completi e coerenti. Tuttavia, Wikipedia è un ottimo punto di partenza.

Per quelli di voi che vogliono davvero conoscere DNS e BIND, consigliamo di leggere il libro «OReilly - DNS e BIND 4ed" scritto da Paul albitz y Grillo Liu, o un'edizione successiva che sicuramente esiste.

Abbiamo già pubblicato un articolo sull'argomento dal titolo «DNS e DHCP in openSUSE 13.2 Harlequin - SME Networks»Per gli amanti dell'ambiente grafico. Tuttavia, d'ora in poi si troveranno di fronte ad articoli su questo argomento - non su altri - scritti con molto uso dell'emulatore di un terminale o di una console. Wow, nel classico stile utilizzato dagli amministratori di sistema UNIX® / Linux.

Se vuoi saperne di più sul cognome del titolo di questo articolo «Reti di PMI»Puoi visitare la pagina in questo blog«Reti di PMI: primo taglio virtuale«. In esso troverai collegamenti a molti altri articoli pubblicati.

  • Dopo che l'installazione del sistema operativo CentOS 7 è terminata con i pacchetti che consigliamo, edirectory l /usr/share/doc/bind-9.9.4/ Contiene una buona quantità di documentazione che ti consigliamo di consultare prima di avventurarti in una ricerca su Internet senza prima sapere che, a portata di mano ea casa tua, puoi trovare quello che stai cercando.

Installazione del sistema di base

Dati generali del dominio e del server DNS

Nome di dominio: desdelinux.fan
Nome del server DNS: DNS.desdelinux.fan
indirizzo IP: 192.168.10.5
Maschera di sottorete: 255.255.255.0

Installazione

Partiamo da una nuova o pulita installazione del sistema operativo CentOS 7 come indicato nell'articolo precedente «Hypervisor I di CentOS 7 - Reti SMB«. Dobbiamo solo apportare le seguenti modifiche:

  • Qui alla Imagen 22 «SELEZIONE DEL SOFTWARE«, Consigliamo di scegliere nella colonna di sinistra«Ambiente di base»L'opzione corrispondente a«Server infrastruttura«, Mentre nella colonna di destra«Plugin per l'ambiente selezionato»Seleziona la casella di controllo«Server dei nomi DNS«. In seguito installeremo il server DHCP.
  • Ricordiamo la dichiarazione dei repository aggiuntivi come mostrato nel file Imagen 23, dopo aver impostato il «RETE E NOME DEL TEAM«.
  • Le immagini che si riferiscono alle partizioni che creeremo sul nostro disco rigido sono fornite solo come guida. Sentiti libero di selezionare le partizioni a tua discrezione, pratica e buon senso.
  • Finalmente, nel Immagine 13 «NETWORK & TEAM NAME», dobbiamo modificare i valori in base ai parametri generali del dominio e del server DNS dichiarati, senza dimenticare di specificare il nome dell'host -in questo caso «dns«- dopo che la configurazione di rete è stata completata. È positivo da fare ping -da un altro host- all'indirizzo IP specificato dopo che la rete è attiva:

DNS e DHCP su CentOS

Sono davvero pochi e molto evidenti i cambiamenti che dobbiamo apportare rispetto all'articolo precedente.

Controlli e adeguamenti iniziali

Dopo aver installato il sistema operativo dobbiamo rivedere almeno i seguenti file, e per questo avviamo una sessione tramite SSH dal nostro computer amministratore di sistema.desdelinux.fan:

buzz @ sysadmin: ~ $ ssh 192.168.10.5
password buzz@192.168.10.5: Ultimo accesso: Sab 28 gennaio 09:48:05 2017 da 192.168.10.1
[buzz @ dns ~] $

L'operazione di cui sopra potrebbe richiedere più tempo del normale ed è principalmente dovuta al fatto che non abbiamo ancora un DNS sulla LAN. Controlla più tardi che il DNS funzioni.

[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 
# Generato dalla ricerca NetworkManager desdelinuxserver dei nomi .fan 127.0.0.1

Le principali configurazioni rispondono alle nostre selezioni. Nota che anche su un server Red Hat 7 - CentOS 7, è configurato per impostazione predefinita quando NetworkManager in modo che questo sia colui che gestisce le interfacce di rete, siano esse cablate o wireless (WiFi), connessioni VPN, connessioni PPPoE e qualsiasi altra connessione di rete.

[buzz @ dns ~] $ sudo systemctl status networkmanager
[sudo] password per buzz: ● networkmanager.service Caricato: non trovato (motivo: nessun file o directory di questo tipo) Attivo: inattivo (morto)

[buzz @ dns ~] $ sudo systemctl status NetworkManager
● NetworkManager.service - Network Manager caricato: caricato (/usr/lib/systemd/system/NetworkManager.service; abilitato; preimpostazione del fornitore: abilitata) Attivo: attivo (in esecuzione) da sab 2017-01-28 12:23:59 EST; 12min fa PID principale: 705 (NetworkManager) CGroup: /system.slice/NetworkManager.service └─705 / usr / sbin / NetworkManager --no-daemon

Red Hat - CentOS consente anche di connettere e disconnettere le interfacce di rete utilizzando i comandi classici ifup e se giù. Eseguiamo su una console del server:

[root @ dns ~] # ifdown eth0
Il dispositivo "eth0" è stato disconnesso correttamente.

[root @ dns ~] # ifup eth0
Connessione attivata correttamente (percorso D-Bus attivo: / org / freedesktop / NetworkManager / ActiveConnection / 1)
  • Consigliamo non modificare le impostazioni predefinite offerte da CentOS 7 rispetto a NetworkManager.

Dichiariamo definitivamente i repository che utilizzeremo e aggiorneremo il sistema operativo se necessario:

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

È salutare leggere il contenuto dei file di dichiarazione originali dai repository consigliati da CentOS. I cambiamenti che facciamo qui sono dovuti al fatto che non abbiamo accesso a Internet e lavoriamo con archivi locali scaricati dal WWW Village, da colleghi che ci semplificano la vita. 😉

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

[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 pulisci tutto
Plugin caricati: più velocemirror, langpacks Pulizia dei repository: centos-base centos-updates Pulizia di tutto

[root @ dns yum.repos.d] # yum update
Plugin caricati: più velocemirror, langpacks centos-base | 3.4 kB 00:00 centos-updates | 3.4 kB 00:00 (1/2): centos-base / primary_db | 5.3 MB 00:00 (2/2): centos-updates / primary_db | 9.1 MB 00:00 Determinazione dei mirror più veloci Nessun pacchetto contrassegnato per l'aggiornamento

Il messaggio «Nessun pacchetto (esistente) contrassegnato per l'aggiornamento» - «Nessun pacchetto contrassegnato per l'aggiornamento»Indica che, dichiarando i repository più aggiornati a nostra disposizione durante l'installazione, sono stati installati proprio i pacchetti più aggiornati.

Informazioni sul contesto SELinux e sul firewall

Concentreremo questo articolo, fondamentalmente, sull'implementazione dei servizi DNS e DHCP, che è il suo obiettivo principale.

Se un lettore ha selezionato una politica di sicurezza durante il processo di installazione, come indicato nel file Imagen 06 dell'articolo di riferimento «Hypervisor I di CentOS 7 - Reti SMB»Utilizzato per l'installazione di questo server DNS - DHCP, e scopri che non sai come configurare correttamente SELinux e il Firewall CentOS, ti suggeriamo di eseguire quanto segue:

Modifica il file / etc / sysconfig / selinux e cambiare SELINUX = enforcing by SELINUX = disabilita

[root @ dns ~] # nano / etc / sysconfig / selinux
# Questo file controlla lo stato di SELinux sul sistema. # SELINUX = può assumere uno di questi tre valori: # enforcing - La politica di sicurezza di SELinux viene applicata. # permissive - SELinux stampa avvisi invece di applicare. # disabled - Non viene caricata alcuna policy SELinux.
SELINUX = disabled
# SELINUXTYPE = può assumere uno di tre due valori: # mirato - I processi mirati sono protetti, # minimo - Modifica della politica mirata. Solo i processi selezionati sono pr $ # mls - Protezione Multi Level Security. SELINUXTYPE = mirato

Quindi esegui i seguenti comandi

[root @ dns ~] # setenforce 0
[root @ dns ~] # servizio firewalld interrotto
Reindirizzamento a / bin / systemctl stop firewalld.service

[root @ dns ~] # systemctl disabilita firewalld
Rimosso collegamento simbolico /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Rimosso collegamento simbolico /etc/systemd/system/basic.target.wants/firewalld.service.

Se stai implementando un server DNS rivolto a Internet, NON dovresti fare quanto sopra, ma configurare correttamente il contesto SELinux e il Firewall. Vedere "Configurazione del server con GNU / Linux, dell'autore Joel Barrios Dueñas" o la stessa documentazione di CentOS - Red Hat

Configuriamo il BIND - denominato

  • Edirectory l /usr/share/doc/bind-9.9.4/ contiene una buona quantità di documentazione che ti consigliamo di consultare prima di avventurarti in una ricerca su Internet senza prima sapere che, a portata di mano ea casa tua, puoi trovare quello che stai cercando

In molte distribuzioni viene chiamato il servizio DNS installato tramite il pacchetto BIND detto (Nome Daemon). In CentOS 7 è installato disabilitato di default, secondo l'output del seguente comando, dove si afferma che il suo stato è «disabile«, E che questo stato è predefinito dal suo« venditore »- preimpostazione del fornitore. Per la cronaca, BIND è un software libero.

Abilitazione del servizio denominato

[root @ dns ~] # stato systemctl denominato
● named.service - Berkeley Internet Name Domain (DNS) caricato: caricato (/usr/lib/systemd/system/named.service; disabile; preset fornitore: disabilitato) Attivo: inattivo (morto)

[root @ dns ~] # systemctl abilita named
Creato collegamento simbolico da /etc/systemd/system/multi-user.target.wants/named.service a /usr/lib/systemd/system/named.service.

[root @ dns ~] # systemctl inizia con nome

[root @ dns ~] # stato systemctl denominato
● named.service - Berkeley Internet Name Domain (DNS) caricato: caricato (/usr/lib/systemd/system/named.service; abilitato; preset fornitore: disabilitato)
   Attivo: attivo (in esecuzione) da sab 2017-01-28 13:22:38 EST; 5min fa Processo: 1990 ExecStart = / usr / sbin / named -u named $ OPTIONS (code = exited, status = 0 / SUCCESS) Process: 1988 ExecStartPre = / bin / bash -c if [! "$ DISABLE_ZONE_CHECKING" == "sì"]; quindi / usr / sbin / named-checkconf -z /etc/named.conf; else echo "Il controllo dei file di zona è disabilitato"; fi (code = exited, status = 0 / SUCCESS) Main PID: 1993 (named) CGroup: /system.slice/named.service └─1993 / usr / sbin / named -u named Jan 28 13:22:45 dns named [1993]: errore (rete irraggiungibile) risoluzione di "./NS/IN": 2001: 500: 2f :: f # 53 Jan 28 13:22:47 dns denominato [1993]: errore (rete non raggiungibile) risoluzione di "./ DNSKEY / IN ': 2001: 500: 3 :: 42 # 53 Jan 28 13:22:47 DNS denominato [1993]: errore (rete non raggiungibile) risoluzione di' ./NS/IN ': 2001: 500: 3 :: 42 # 53 Jan 28 13:22:47 dns named [1993]: errore (rete non raggiungibile) risoluzione di "./DNSKEY/IN": 2001: 500: 2d :: d # 53 Jan 28 13:22:47 dns named [1993 ]: errore (rete non raggiungibile) nella risoluzione di "./NS/IN": 2001: 500: 2d :: d # 53 Jan 28 13:22:47 dns denominato [1993]: errore (rete non raggiungibile) nella risoluzione di "./DNSKEY/ IN ': 2001: dc3 :: 35 # 53 Jan 28 13:22:47 dns named [1993]: errore (rete non raggiungibile) risoluzione di' ./NS/IN ': 2001: dc3 :: 35 # 53 Jan 28 13: 22:47 dns named [1993]: errore (rete non raggiungibile) risoluzione di "./DNSKEY/IN": 2001: 7fe :: 53 # 53 Jan 28 13:22:47 dns named [1993]: errore (rete non raggiungibile) res olving './NS/IN': 2001: 7fe :: 53 # 53 Jan 28 13:22:48 dns named [1993]: managed-keys-zone: Impossibile recuperare il set DNSKEY '.': timeout

[root @ dns ~] # systemctl riavvio denominato

[root @ dns ~] # stato systemctl denominato
● named.service - Berkeley Internet Name Domain (DNS) Loaded: caricato (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled)
   Attivo: attivo (in esecuzione) da sab 2017-01-28 13:29:41 EST; 1s fa Processo: 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 named $ OPTIONS (code = exited, status = 0 / SUCCESS) Process: 1457 ExecStartPre = / bin / bash -c se [! "$ DISABLE_ZONE_CHECKING" == "sì"]; quindi / usr / sbin / named-checkconf -z /etc/named.conf; else echo "Il controllo dei file di zona è disabilitato"; fi (code = exited, status = 0 / SUCCESS) Main PID: 1463 (named) CGroup: /system.slice/named.service └─1463 / usr / sbin / named -u named Jan 28 13:29:41 dns named [1463]: managed-keys-zone: il file journal non è aggiornato: rimozione del file journal 28 gennaio 13:29:41 dns denominato [1463]: managed-keys-zone: caricato seriale 2 gennaio 28 13:29:41 dns named [1463]: zone 0.in-addr.arpa/IN: caricato seriale 0 Jan 28 13:29:41 dns named [1463]: zone localhost.localdomain / IN: caricato seriale 0 Jan 28 13:29:41 dns named [1463]: zone 1.0.0.127.in-addr.arpa/IN: caricato seriale 0 Jan 28 13:29:41 dns named [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: caricato seriale 28 gen 13 29:41:1463 dns denominato [0]: zone localhost / IN: caricato seriale 28 gen 13 29 : 41: 1463 dns con nome [28]: tutte le zone caricate il 13 gennaio 29:41:1463 dns con nome [28]: in esecuzione il 13 gennaio 29:41:1 dns systemd [XNUMX]: avviato Berkeley Internet Name Domain (DNS).

Dopo aver abilitato il servizio detto e lo avviamo per la prima volta, l'output del comando stato systemctl denominato mostra errori. Quando riavviamo il servizio di seguito, il detto crea tutti i file di configurazione che, di default, sono necessari per il suo corretto funzionamento. Pertanto, quando eseguiamo nuovamente il comando stato systemctl denominato non vengono più visualizzati errori.

  • Caro, costoso ed esigente lettore: se vuoi scoprire, almeno, da che parte si arriva alla fine della tana del coniglio, leggi con calma le uscite dettagliate di ogni comando. 😉 Sicuramente l'articolo sembrerà un po 'lungo, ma non nego che guadagni in spiegazioni e chiarezza.

Modifichiamo il file /etc/named.conf

Molti commenti dei lettori esprimono:Io non lo dico- La mania che hanno i manutentori di diverse distribuzioni Linux, di individuare i file di configurazione del sistema in cartelle con nomi diversi a seconda della distribuzione. Hanno ragione. Ma cosa possiamo fare noi, i semplici utenti che utilizzano queste distribuzioni? Adattare! 😉

A proposito, in FreeBSD, clone UNIX® «The Origin», il file è in formato /usr/local/etc/namedb/named.conf; mentre in Debian, oltre a dividere in quattro file named.conf, named.conf.options, named.conf.default-zone e named.conf.local, è nella cartella / etc / bind /. Chi vuole sapere dove lo colloca openSUSE, leggi «DNS e DHCP in openSUSE 13.2 Harlequin - SME Networks«. I lettori hanno ragione! 😉

E come facciamo sempre: prima di modificare qualsiasi cosa, salviamo il file di configurazione originale con un altro nome.

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

Per rendere la vita più facile, invece di generare la chiave TSIG per gli aggiornamenti DNS dinamici tramite DHCP, copiamo la stessa chiave rndc.key come dhcp.key.

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

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

Per l' detto può leggere il file appena copiato, modifichiamo il suo gruppo proprietario:

[root @ dns ~] # chown root: chiamato /etc/dhcp.key [root @ dns ~] # ls -l /etc/rndc.key /etc/dhcp.key -rw-r -----. 1 radice denominata 77 Jan 28 16:36 PM /etc/dhcp.key -rw-r -----. 1 radice denominata 77 Jan 28 13:22 /etc/rndc.key

Piccoli dettagli come il precedente sono ciò che può farci impazzire cercando di capire, ora ... dov'è il problema ...? con qualche aggettivo in più, che non scriviamo per rispetto del Rispettabile.

Ora se - finalmente! - modifichiamo il file /etc/nome.conf. Le modifiche o le aggiunte che abbiamo fatto, rispetto all'originale, sono in grassetto. Dai un'occhiata a quanti pochi.

[root @ dns ~] # nano /etc/named.conf
// // named.conf // // Fornito dal pacchetto bind di Red Hat per configurare il server ISC BIND denominato (8) DNS // come server dei nomi solo per la cache (solo come risolutore DNS localhost). // // Vedere / usr / share / doc / bind * / sample / ad esempio file di configurazione denominati. //

// Elenco di controllo degli accessi che dichiara quali reti potranno consultare
// il mio server denominato
acl impantanato {
 127.0.0.0 / 8;
 192.168.10.0 / 24;
};

opzioni {
 // Dichiaro che anche il demone denominato ascolta l'interfaccia
 // eth0 che ha l'IP: 192.168.10.5
    porta di ascolto 53 {127.0.0.1; 192.168.10.5; };
    Listen-on-v6 porta 53 {:: 1; }; directory "/ var / named"; dump-file "/var/named/data/cache_dump.db"; file di statistiche "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt";

 // Dichiarazione degli spedizionieri
 // spedizionieri {
 // 0.0.0.0;
 // 1.1.1.1;
 //};
    // avanti prima;

    // Consento solo le query al mio ACL impantanato
    consentire-query { impantanato; }; // Per verificare con il comando dig desdelinux.fan axfr // solo dalla workstation SysAdmin e localhost // Non abbiamo server DNS slave. Non ne abbiamo bisogno... fino ad ora.
 consentire-trasferimento {localhost; 192.168.10.1; };

    / * - Se stai creando un server DNS AUTORITATIVO, NON abilitare la ricorsione. - Se stai creando un server DNS RICURSIVO (caching), devi abilitare la ricorsione. - Se il tuo server DNS ricorsivo ha un indirizzo IP pubblico, DEVI abilitare il controllo degli accessi per limitare le query ai tuoi utenti legittimi. In caso contrario, il tuo server diventerà parte di attacchi di amplificazione DNS su larga scala. L'implementazione di BCP38 all'interno della rete ridurrebbe notevolmente tale superficie di attacco * /
    // Vogliamo un server AUTHORITY per la nostra LAN - PMI
    ricorsione no;

    dnssec-enable sì; convalida dnssec sì; / * Percorso della chiave ISC DLV * / bindkeys-file "/etc/named.iscdlv.key"; directory-chiavi-gestite "/ var / named / dynamic"; pid-file "/run/named/named.pid"; file-chiave di sessione "/run/named/session.key"; }; logging {channel default_debug {file "data / named.run"; gravità dinamica; }; }; zona "." IN {tipo di suggerimento; file "named.ca"; }; includere "/etc/named.rfc1912.zones"; include "/etc/named.root.key";

// Includiamo la chiave TSIG per gli aggiornamenti DNS dinamici // tramite DHCP
includere "/etc/dhcp.key";

// Dichiarazione di nome, tipo, posizione e autorizzazione all'aggiornamento
// delle zone dei record DNS // Entrambe le zone sono MASTER
zona"desdelinux.fan" {
 tipo master;
 file "dinamico/db.desdelinux.fan";
 consentire-aggiornamento {chiave dhcp-chiave; };
};

zona "10.168.192.in-addr.arpa" {
 tipo master;
 file "dynamic / db.10.168.192.in-addr.arpa";
 consentire-aggiornamento {chiave dhcp-chiave; };
};

Controlliamo la sintassi

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

Poiché il comando precedente non restituisce nulla, la sintassi è OK. Tuttavia, se eseguiamo lo stesso comando, ma con l'opzione -z, l'output sarà:

[root @ dns ~] # named-checkconf -z
zona localhost.localdomain/IN: seriale 0 caricata zona localhost/IN: seriale 0 caricata zona 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: zona seriale 0 caricata 1.0.0.127.in-addr.arpa/IN: zona seriale 0 caricata 0.in-addr.arpa/IN: zona seriale 0 caricata desdelinux.fan/IN: caricamento dal file master dinamico/db.desdelinux.fan non riuscito: zona file non trovato desdelinux.fan/IN: non caricato a causa di errori. _predefinito/desdelinux.fan/IN: file non trovato zona 10.168.192.in-addr.arpa/IN: caricamento dal file master Dynamic/db.10.168.192.in-addr.arpa non riuscito: file non trovato zona 10.168.192.in- addr.arpa/IN: non caricato a causa di errori. _default/10.168.192.in-addr.arpa/IN: file non trovato

Ovviamente sono errori che si verificano perché non abbiamo ancora creato le zone di registrazione DNS per il nostro dominio.

  • Per ulteriori informazioni sul comando denominato-checkconf, correre uomo chiamato-checkconf, prima di cercare qualsiasi altra informazione su Internet. Ti assicuro che farà risparmiare un bel po 'di tempo.

Creiamo il file Direct Zone desdelinux.fan

... non senza un po 'di teoria prima. 😉

Come modello per creare il file di dati della zona, possiamo prendere il /var/nome/nome.vuoto, O /usr/share/doc/bind-9.9.4/sample/var/named/named.empty. Entrambi sono identici.

[root @ dns ~] # cat /var/named/named.empty 
$ TTL 3H @ IN SOA @ rname.invalid. (0; seriale 1D; aggiornamento 1H; riprova 1W; scadenza 3H); tempo di memorizzazione nella cache minimo o negativo per vivere NS @ A 127.0.0.1 AAAA :: 1

Tempo di vita - È ora di vivere TTL Record SOA

Facciamo una parentesi per spiegare il TTL - È ora di vivere dal registro SOA - Inizio dell'Autorità di una Master Zone. È interessante conoscere il loro significato quando vogliamo modificare uno qualsiasi dei loro valori.

$ TTL: Tempo di vita - Tempo di vivere per tutti i record nel file che seguono la dichiarazione (ma precedono qualsiasi altra dichiarazione $ TTL) e non hanno una dichiarazione TTL esplicita.

serial: Numero di serie dei dati della zona. Ogni volta che modifichiamo manualmente un record DNS in una zona, dobbiamo aumentare quel numero di 1, soprattutto se abbiamo server slave o secondari. Ogni volta che un server DNS secondario o slave contatta il proprio server master, richiede il numero di serie dei dati del master. Se il numero di serie dello slave è inferiore, i dati per quella zona sul server slave non sono aggiornati e lo slave esegue un trasferimento di zona per aggiornarsi.

rinfrescare: Indica al server slave l'intervallo di tempo entro il quale deve verificare se i suoi dati sono aggiornati rispetto al master.

riprovare: Se il server master non è disponibile - perché si è ammalato, diciamo - per lo slave dopo un intervallo di tempo rinfrescare, riprovare Indica allo schiavo quanto tempo deve aspettare prima di provare di nuovo a contattare il suo padrone.

scadere: Se lo slave non può contattare il proprio master per un intervallo di tempo scadere, quindi se la relazione della zona slave-master è stata rovinata e il server slave non ha altra scelta che far scadere la zona in questione. La scadenza di una zona da parte di un server DNS slave significa che smetterà di rispondere alle query DNS relative a quella zona, perché i dati disponibili sono troppo vecchi per essere utili.

  • Quanto sopra ci insegna indirettamente e carico di grande buon senso - il meno comune dei sensi - che se non abbiamo bisogno di server DNS slave per il funzionamento del nostro SME, non lo implementiamo, a meno che non siano strettamente necessari. Cerchiamo sempre di passare dal semplice al complesso.

minimo: Nelle versioni precedenti alla ASSOCIAZIONE 8.2, l'ultimo record SOA Indica anche la durata predefinita - Tempo di vita predefinito, e durata della cache negativa - Tempo di caching negativo da vivere per la Zona. Questa volta si riferisce a tutte le risposte negative fornite dal server autorevole per la Zona.

File di zona /var/nominato/dinamico/db.desdelinux.fan

[root@dns ~]# nano /var/named/dynamic/db.desdelinux.fan
$TTL 3H @ IN SOA dns.desdelinux.fan. radice.dns.desdelinux.fan. (1; seriale 1D; aggiorna 1H; riprova 1W; scade 3H); minimo o ; Tempo di vita della memorizzazione nella cache negativo; @ IN NS dns.desdelinux.fan. @ IN MX 10 e-mail.desdelinux.fan. @IN TXT "DesdeLinux, il suo blog dedicato al software libero"; Sysadmin in UN 192.168.10.1 AD-DC IN UN FILESERVER 192.168.10.3 IN UN DNS 192.168.10.4 IN UN PROXYWEB 192.168.10.5 IN UN BLOG 192.168.10.6 IN UN FTPSERVER 192.168.10.7 IN UN 192.168.10.8 posta IN A 192.168.10.9

Controlliamo /var/named/dynamic/db.desdelinux.fan

[root@dns ~]# denominata-checkzone desdelinux.fan /var/nome/dinamico/db.desdelinux.fan
zona desdelinux.fan/IN: seriale 1 caricata OK

Creiamo il file Reverse Zone 10.168.192.in-addr.arpa

  • Il record SOA di questa zona è lo stesso di quello della Direct Zone senza considerare il record MX..
[root @ dns ~] # nano /var/named/dynamic/db.10.168.192.in-addr.arpa
$TTL 3H @ IN SOA dns.desdelinux.fan. radice.dns.desdelinux.fan. (1; seriale 1D; aggiorna 1H; riprova 1W; scade 3H); minimo o ; Tempo di vita della memorizzazione nella cache negativo; @ IN NS dns.desdelinux.fan. ; 1 IN PTR amministratore di sistema.desdelinux.fan. 3 IN PTR ad-cc.desdelinux.fan. 4 IN file server PTR.desdelinux.fan. 5 IN PTR dns.desdelinux.fan. 6 IN PTRproxyweb.desdelinux.fan. 7 NEL blog PTR.desdelinux.fan. 8 IN PTR server ftp.desdelinux.fan. 9 NELLA posta PTR.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: seriale 1 caricata OK

Prima di riavviare il named controlliamo la sua configurazione

  • Finché non saremo sicuri che i file di configurazione denominati, named.conf, e i suoi file di zona non siano configurati correttamente, suggeriamo di non riavviare il demone named. Se lo facciamo e successivamente modifichiamo un file di zona, dobbiamo aumentare il numero di serie della zona modificata di 1.
  • Diamo un'occhiata al "." alla fine dei nomi di dominio e host.
[root @ dns ~] # named-checkconf 
[root @ dns ~] # named-checkconf -z
zona localhost.localdomain/IN: seriale 0 caricata zona localhost/IN: seriale 0 caricata zona 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: zona seriale 0 caricata 1.0.0.127.in-addr.arpa/IN: zona seriale 0 caricata 0.in-addr.arpa/IN: zona seriale 0 caricata desdelinux.fan/IN: seriale 1 caricata zona 10.168.192.in-addr.arpa/IN: seriale 1 caricata

Tutta la configurazione con nome corrente

Per maggiore chiarezza, e sebbene l'articolo diventi lungo, forniamo l'output completo del comando denominato-checkconf -zp:

[root @ dns ~] # named-checkconf -zp
zona localhost.localdomain/IN: seriale 0 caricata zona localhost/IN: seriale 0 caricata zona 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 .ip6.arpa/IN: zona seriale 0 caricata 1.0.0.127.in-addr.arpa/IN: zona seriale 0 caricata 0.in-addr.arpa/IN: zona seriale 0 caricata desdelinux.fan/IN: zona seriale 1 caricata 10.168.192.in-addr.arpa/IN: opzioni seriale 1 caricate { bindkeys-file "/etc/named.iscdlv.key"; session-keyfile "/run/named/session.key"; directory "/var/nome"; file dump "/var/named/data/cache_dump.db"; porta di ascolto 53 { 127.0.0.1/32; 192.168.10.5/32; }; porta ascolto su v6 53 { ::1/128; }; directory delle chiavi gestite "/var/named/dynamic"; file-memstatistics "/var/named/data/named_mem_stats.txt"; file-pid "/run/nominato/nominato.pid"; file di statistiche "/var/named/data/named_stats.txt"; abilitazione DNSsec sì; convalida DNSsec sì; ricorsione no; consentire-query {"guardato"; }; consenti-trasferimento { 192.168.10.1/32; }; }; acl "guardato" { 127.0.0.0/8; 192.168.10.0/24; }; logging { canale "default_debug" { file "data/named.run"; gravità dinamica; }; }; chiave "dhcp-key" { algoritmo "hmac-md5"; segreto "OI7Vs+TO83L7ghUm2xNVKg=="; }; zona "." IN { digitare suggerimento; file "nome.ca"; }; zona "localhost.localdomain" IN { tipo master; file "nome.localhost"; consenti aggiornamento {"nessuno"; }; }; zona "localhost" IN { tipo master; file "nome.localhost"; consenti aggiornamento {"nessuno"; }; }; zona "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { digitare master; file "nome.loopback"; consenti aggiornamento {"nessuno"; }; }; zona "1.0.0.127.in-addr.arpa" IN { tipo master; file "nome.loopback"; consenti aggiornamento {"nessuno"; }; }; zona "0.in-addr.arpa" IN { tipo master; file "nome.vuoto"; consenti aggiornamento {"nessuno"; }; }; zona"desdelinux.fan" { tipo master; file "dinamico/db.desdelinux.fan"; consenti-aggiornamento { chiave "dhcp-key"; }; }; zona "10.168.192.in-addr.arpa" { tipo master; file "dynamic/db.10.168.192.in-addr.arpa "; consentire-aggiornamento { chiave "dhcp-chiave"; }; }; chiavi-gestite { "." chiave-iniziale 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g 0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD F6dsV6DoBQzgul68sGIcGOYl0OyQdXfZ1relS Qageu+ipAdTTJ9AsRTAoub7ONGcLmqrAmRLKBP6dfwh YB3N5knNnulq QxA +Uk2ihz8="; };
  • Seguendo la procedura di modifica del file nome.conf In base alle nostre esigenze e verificando, creando ogni file di zona e verificandolo, dubitiamo che dovremo affrontare grossi problemi di configurazione. Alla fine ci rendiamo conto che è un gioco da ragazzi, con molti concetti e una sintassi pignola,

I controlli hanno restituito risultati soddisfacenti, quindi possiamo riavviare il BIND - detto.

Riavviamo il named e controlliamo il suo stato

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

Se otteniamo qualsiasi tipo di errore nell'output dell'ultimo comando, dobbiamo riavviare il file nome.servizio e ricontrolla il tuo status. Se gli errori sono scomparsi, il servizio è stato avviato correttamente. In caso contrario, dobbiamo eseguire una revisione approfondita di tutti i file modificati e creati e ripetere la procedura.

L'output corretto dello stato dovrebbe essere:

[root @ dns ~] # systemctl status named.service
● named.service - Berkeley Internet Name Domain (DNS) Loaded: caricato (/usr/lib/systemd/system/named.service; enabled; vendor preset: disabled) Active: attivo (in esecuzione) da domenica 2017-01-29 10:05:32 EST; 2min 57s fa Processo: 1777 ExecStop=/bin/sh -c /usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID (code=exited, status=0/SUCCESS) Processo: 1788 ExecStart=/usr/sbin/named -u name $OPTIONS (code=exited, status=0/SUCCESS) Processo: 1786 ExecStartPre =/bin/bash -c se [ ! "$DISABLE_ZONE_CHECKING" == "sì"]; quindi /usr/sbin/named-checkconf -z /etc/named.conf; else echo "Il controllo dei file di zona è disabilitato"; fi (code=exited, status=0/SUCCESS) PID principale: 1791 (nominato) CGroup: /system.slice/named.service └─1791 /usr/sbin/named -u denominato 29 gennaio 10:05:32 dns denominato [1791]: zona 1.0.0.127.in-addr.arpa/IN: seriale caricato 0 gennaio 29 10:05:32 dns denominato[1791]: zona 10.168.192.in-addr.arpa/IN: seriale caricato 1 gennaio 29 10:05:32 dns denominato[1791]: zona 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN : seriale caricato 0 29 gennaio 10:05:32 DNS denominato[1791]: zona desdelinux.fan/IN: seriale caricato 1 gennaio 29 10:05:32 dns denominato[1791]: zona localhost.localdomain/IN: caricato seriale 0 gennaio 29 10:05:32 dns denominato[1791]: zona localhost/IN: caricato seriale 0 29 gennaio 10:05:32 DNS denominato[1791]: tutte le zone caricate
29 gennaio 10:05:32 dns con nome [1791]: running
29 gennaio 10:05:32 dns systemd [1]: Avviato Berkeley Internet Name Domain (DNS). Jan 29 10:05:32 dns named [1791]: zone 10.168.192.in-addr.arpa/IN: invio notifiche (seriale 1)

Controlli

I controlli possono essere eseguiti sullo stesso server o su una macchina collegata alla LAN. Preferiamo farli dalla squadra amministratore di sistema.desdelinux.fan a cui abbiamo dato espressa autorizzazione affinché possa effettuare Trasferimenti di Zona. Il file /etc/resolv.conf di quella squadra è la seguente:

buzz @ sysadmin: ~ $ cat /etc/resolv.conf 
# Generato dalla ricerca NetworkManager desdelinuxserver dei nomi .fan 192.168.10.5

buzz@sysadmin:~$ scava desdelinux.fan axfr
; <<>> DiG 9.9.5-9+deb8u1-Debian <<>> desdelinux.fan axfr ;; opzioni globali: +cmd
desdelinux.fan. 10800 IN SOA dns.desdelinux.fan. radice.dns.desdelinux.fan. 1 86400 3600 604800
desdelinux.fan. 10800 IN NS dns.desdelinux.fan.
desdelinux.fan. 10800 IN MX 10 e-mail.desdelinux.fan.
desdelinux.fan. 10800 IN TESTO"DesdeLinux, il tuo Blog dedicato al Software Libero" ad-dc.desdelinux.fan. 10800 IN UN blog 192.168.10.3.desdelinux.fan. 10800 IN UN DNS 192.168.10.7.desdelinux.fan. 10800 IN TO 192.168.10.5 fileserver.desdelinux.fan. 10800 IN UN server ftp 192.168.10.4.desdelinux.fan. 10800 NELLA mail 192.168.10.8.desdelinux.fan. 10800 IN UN proxyweb 192.168.10.9.desdelinux.fan. 10800 IN UN amministratore di sistema 192.168.10.6.desdelinux.fan. 10800 IN 192.168.10.1
desdelinux.fan. 10800 IN SOA dns.desdelinux.fan. radice.dns.desdelinux.fan. 1 86400 3600 604800 10800 ;; Tempo di interrogazione: 0 ms ;; SERVER: 192.168.10.5#53(192.168.10.5) ;; QUANDO: domenica 29 gennaio 11:44:18 EST 2017;; Dimensione XFR: 13 record (messaggi 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 ;; opzioni globali: +cmd 10.168.192.in-addr.arpa. 10800 IN SOA dns.desdelinux.fan.10.168.192.in-addr.arpa. radice.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 10.168.192.in-addr.arpa. 10800 IN NS dns.desdelinux.fan. 1.10.168.192.in-addr.arpa. 10800 IN PTR amministratore di sistema.desdelinux.fan. 3.10.168.192.in-addr.arpa. 10800 IN PTR ad-cc.desdelinux.fan. 4.10.168.192.in-addr.arpa. File server 10800 IN PTR.desdelinux.fan. 5.10.168.192.in-addr.arpa. 10800 IN PTR dns.desdelinux.fan. 6.10.168.192.in-addr.arpa. 10800 IN PTRproxyweb.desdelinux.fan. 7.10.168.192.in-addr.arpa. 10800 nel blog PTR.desdelinux.fan. 8.10.168.192.in-addr.arpa. 10800 IN PTR server ftp.desdelinux.fan. 9.10.168.192.in-addr.arpa. 10800 NELLA posta PTR.desdelinux.fan. 10.168.192.in-addr.arpa. 10800 IN SOA dns.desdelinux.fan.10.168.192.in-addr.arpa. radice.dns.desdelinux.fan.10.168.192.in-addr.arpa. 1 86400 3600 604800 10800 ;; Tempo di interrogazione: 0 ms ;; SERVER: 192.168.10.5#53(192.168.10.5) ;; QUANDO: domenica 29 gennaio 11:44:57 EST 2017;; Dimensione XFR: 11 record (messaggi 1, byte 352)

buzz@sysadmin:~$ cerca IN SOA desdelinux.fan
buzz@sysadmin:~$ cerca IN MX desdelinux.fan buzz@sysadmin:~$ digita IN TXT desdelinux.fan
buzz @ sysadmin: ~ $ host dns
DNS.desdelinux.fan ha l'indirizzo 192.168.10.5
buzz @ sysadmin: ~ $ host sysadmin
amministratore di sistema.desdelinux.fan ha l'indirizzo 192.168.10.1 ... E qualsiasi altro controllo di cui abbiamo bisogno
  • Finora abbiamo le basi per un server DNS nella nostra rete di PMI. Speriamo che l'intera procedura ti sia piaciuta, che è stata abbastanza semplice, giusto? 😉

Installiamo e configuriamo DHCP

[root @ dns ~] # yum installa dhcp
Plugin caricati: più velocemirror, langpacks centos-base | 3.4 kB 00:00:00 centos-updates | 3.4 kB 00:00:00 Caricamento delle velocità del mirror dal file host memorizzato nella cache Risoluzione delle dipendenze -> Esecuzione del test delle transazioni ---> Il pacchetto dhcp.x86_64 12: 4.2.5-42.el7.centos deve essere installato -> Risoluzione delle dipendenze Dipendenze risolte terminate ============================================== ================================================ =================================== Dimensione del repository della versione dell'architettura del pacchetto =========== ================================================ ================================================ ====================== Installazione: dhcp x86_64 12: 4.2.5-42.el7.centos centos-base 511 k Riepilogo transazione ==== ================================================ ================================================ ============================ Installa 1 pacchetto Dimensione totale download: 511k Dimensione installata: 1.4 M Va bene [y / d / N]: y Download dei pacchetti: dhcp-4.2.5-42.el7.centos.x86_64.rpm | 511 kB 00:00:00 Controllo della transazione in corso Test della transazione in corso Test della transazione riuscito Transazione in corso Installazione: 12: dhcp-4.2.5-42.el7.centos.x86_64 1/1 Controllo: 12: dhcp-4.2.5-42. el7.centos.x86_64 1/1 Installato: dhcp.x86_64 12: 4.2.5-42.el7.centos Fatto!

[root @ dns ~] # nano /etc/dhcp/dhcpd.conf
# # File di configurazione del server DHCP. # vedere /usr/share/doc/dhcp*/dhcpd.conf.example # vedere la pagina man dhcpd.conf(5) # ddns-update-style interim; aggiornamenti ddns attivati; nome-dominio ddns "desdelinux.fan."; ddns-rev-domainname "in-addr.arpa."; ignora gli aggiornamenti del client; autorevole; opzione ip-forwarding disattivata; opzione domain-name "desdelinux.fan"; # opzione ntp-servers 0.pool.ntp.org, 1.pool.ntp.org, 2.pool.ntp.org, 3.pool.ntp.org; include "/etc/dhcp.key" ; zona desdelinux.fan. { primario 127.0.0.1; chiave chiave DHCP; } zona 10.168.192.in-addr.arpa. { primario 127.0.0.1; chiave chiave DHCP; } rete condivisa redlocal { sottorete 192.168.10.0 maschera di rete 255.255.255.0 { opzione router 192.168.10.1; opzione subnet-mask 255.255.255.0; opzione indirizzo broadcast 192.168.10.255; opzione server-nome-dominio 192.168.10.5; opzione netbios-name-servers 192.168.10.5; intervallo 192.168.10.30 192.168.10.250; } } # FINE dhcpd.conf

[root @ dns ~] # dhcpd -t
Internet Systems Consortium Server DHCP 4.2.5 Copyright 2004-2013 Internet Systems Consortium. Tutti i diritti riservati. Per informazioni, visitare https://www.isc.org/software/dhcp/ Nessuna ricerca in LDAP poiché ldap-server, ldap-port e ldap-base-dn non erano specificati nel file di configurazione

[root @ dns ~] # systemctl abilita dhcpd
Collegamento simbolico creato da /etc/systemd/system/multi-user.target.wants/dhcpd.service a /usr/lib/systemd/system/dhcpd.service.

[root @ dns ~] # systemctl avvia dhcpd

[root @ dns ~] # systemctl status dhcpd
● dhcpd.service - Daemon server DHCPv4 caricato: caricato (/usr/lib/systemd/system/dhcpd.service; abilitato; preimpostazione fornitore: disabilitato) Attivo: attivo (in esecuzione) da dom 2017-01-29 12:04:59 ITS T; 23s fa Documenti: man: dhcpd (8) man: dhcpd.conf (5) PID principale: 2381 (dhcpd) Stato: "Dispatching packets ..." CGroup: /system.slice/dhcpd.service └─2381 / usr / sbin / dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid 29 gennaio 12:04:59 dns dhcpd [2381]: Internet Systems Consortium DHCP Server 4.2.5 29 gennaio 12 : 04: 59 dns dhcpd [2381]: Copyright 2004-2013 Internet Systems Consortium. 29 gennaio 12:04:59 dns dhcpd [2381]: Tutti i diritti riservati. 29 gennaio 12:04:59 dns dhcpd [2381]: Per informazioni, visitare https://www.isc.org/software/dhcp/ 29 gennaio 12:04:59 dns dhcpd [2381]: Nessuna ricerca LDAP da LDAP -server, ldap-port e ldap-base-dn non sono stati specificati nel file di configurazione Jan 29 12:04:59 dns dhcpd [2381]: ha scritto 0 lease nel file lease. 29 gennaio 12:04:59 dns dhcpd [2381]: Ascolto su LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 gennaio 12:04:59 dns dhcpd [2381]: Invio su LPF / eth0 / 52: 54: 00: 12: 17: 04 / redlocal 29 gennaio 12:04:59 dns dhcpd [2381]: Invio su Socket / fallback / fallback-net 29 gennaio 12:04:59 dns systemd [1]: Avviato Daemon server DHCPv4.

Cosa resta da fare?

Semplice. Avvia un Windows 7 o un altro client con software gratuito e inizia a provare e controllare. Lo abbiamo fatto con due clienti: Sette.desdelinux.fan y suse-desktop.desdelinux.fan. I controlli sono stati i seguenti:

buzz @ sysadmin: ~ $ host seven
Sette.desdelinux.fan ha l'indirizzo 192.168.10.30

buzz@sysadmin:~$ host sette.desdelinux.fan
Sette.desdelinux.fan ha l'indirizzo 192.168.10.30

buzz@sysadmin:~$ digita IN TXT sette.desdelinux.fan
....;; SEZIONE DOMANDE: ;sette.desdelinux.fan. NEL TESTO;; SEZIONE RISPOSTE: sette.desdelinux.fan. 3600 IN TESTO"31b7228ddd3a3b73be2fda9e09e601f3e9"....

Rinominiamo il team "sette" in "LAGER" e riavviamo. Dopo aver riavviato il nuovo LAGER, controlliamo:

buzz @ sysadmin: ~ $ host seven
Host sette non trovato: 5 (RIFIUTATO)

buzz@sysadmin:~$ host sette.desdelinux.fan
Ospite sette.desdelinux.fan non trovato: 3(NXDOMAIN)

brusio@sysadmin: ~ $ host lager
birra chiara.desdelinux.fan ha l'indirizzo 192.168.10.30

brusio@sysadmin:~$host lager.desdelinux.fan
birra chiara.desdelinux.fan ha l'indirizzo 192.168.10.30

buzz@sysadmin:~$ cerca IN TXT lager.desdelinux.fan
....;; SEZIONE DOMANDE: ;lager.desdelinux.fan. NEL TESTO;; SEZIONE RISPOSTA: lager.desdelinux.fan. 3600 IN TESTO"31b7228ddd3a3b73be2fda9e09e601f3e9"....

Per quanto riguarda il client suse-desktop:

buzz @ sysadmin: ~ $ host suse-dektop
Host suse-dektop non trovato: 5 (RIFIUTATO)

buzz @ sysadmin: ~ $ host suse-desktop
suse-desktop.desdelinux.fan ha l'indirizzo 192.168.10.33

buzz@sysadmin:~$ host suse-desktop.desdelinux.fan
suse-desktop.desdelinux.fan ha l'indirizzo 192.168.10.33

buzz @ sysadmin: ~ $ host 192.168.10.33
33.10.168.192.in-addr.arpa puntatore del nome di dominio suse-desktop.desdelinux.fan.

buzz @ sysadmin: ~ $ host 192.168.10.30
Puntatore del nome di dominio 30.10.168.192.in-addr.arpa LAGER.desdelinux.fan.
buzz @ sysadmin: ~ $ dig -x 192.168.10.33
....;; SEZIONE DOMANDE: ;33.10.168.192.in-addr.arpa. NEL PTR;; SEZIONE RISPOSTE: 33.10.168.192.in-addr.arpa. 3600 IN PTR suse-desktop.desdelinux.fan. ;; SEZIONE AUTORITÀ: 10.168.192.in-addr.arpa. 10800 IN NS dns.desdelinux.fan. ;; SEZIONE AGGIUNTIVA: dns.desdelinux.fan. 10800 IN TO 192.168.10.5 ....

buzz@sysadmin:~$ digita IN TXT suse-desktop.desdelinux.fan....
;suse-desktop.desdelinux.fan. NEL TESTO;; SEZIONE RISPOSTA: suse-desktop.desdelinux.fan. 3600 IN TESTO "31b78d287769160c93e6dca472e9b46d73"

;; SEZIONE DELL'AUTORITÀ:
desdelinux.fan. 10800 IN NS dns.desdelinux.fan. ;; SEZIONE AGGIUNTIVA: dns.desdelinux.fan. 10800 IN 192.168.10.5
....

Eseguiamo anche i seguenti comandi

[root@dns ~]# dig desdelinux.fan axfr
; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.4 <<>> desdelinux.fan axfr ;; opzioni globali: +cmd
desdelinux.fan. 10800 IN SOA dns.desdelinux.fan. radice.dns.desdelinux.fan. 6 86400 3600 604800
desdelinux.fan. 10800 IN NS dns.desdelinux.fan.
desdelinux.fan. 10800 IN MX 10 e-mail.desdelinux.fan.
desdelinux.fan. 10800 IN TESTO"DesdeLinux, il tuo Blog dedicato al Software Libero" ad-dc.desdelinux.fan. 10800 IN UN blog 192.168.10.3.desdelinux.fan. 10800 IN UN DNS 192.168.10.7.desdelinux.fan. 10800 IN TO 192.168.10.5 fileserver.desdelinux.fan. 10800 IN UN server ftp 192.168.10.4.desdelinux.fan. 10800 IN UNA LAGER 192.168.10.8.desdelinux.fan. 3600 IN TESTO"31b7228ddd3a3b73be2fda9e09e601f3e9"LAGER.desdelinux.fan.   3600 IN UNA E-mail 192.168.10.30.desdelinux.fan. 10800 IN UN proxyweb 192.168.10.9.desdelinux.fan. 10800 IN UN desktop suse 192.168.10.6.desdelinux.fan. 3600 IN TESTO"31b78d287769160c93e6dca472e9b46d73" suse-desktop.desdelinux.fan. 3600 IN A 192.168.10.33 amministratore di sistema.desdelinux.fan. 10800 IN 192.168.10.1
desdelinux.fan. 10800 IN SOA dns.desdelinux.fan. radice.dns.desdelinux.fan. 6 86400 3600 604800

Nell'output sopra, abbiamo evidenziato su grassetto dei TTL -in secondi- per i computer con indirizzi IP concessi dal servizio DHCP, quelli che hanno una dichiarazione esplicita del TTL 3600 data dal DHCP. Gli IP fissi sono guidati dal $ TTL di 3H -3 ore = 10800 secondi- dichiarato nel record SOA di ogni file di zona.

Possono controllare la zona inversa allo stesso modo.

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

Altri comandi estremamente interessanti sono:

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

Modifica manuale dei file delle zone

Dopo che DHCP entra in gioco per aggiornare dinamicamente i file di zona di dettoSe in qualsiasi momento abbiamo bisogno di modificare manualmente un file di zona, dobbiamo eseguire la seguente procedura, ma non prima di sapere qualcosa in più sul funzionamento dell'utilità rndc per il controllo del server dei nomi.

[root @ dns ~] # man rndc
....
       congelare [zona [classe [vista]]]
           Sospendi gli aggiornamenti a una zona dinamica. Se non viene specificata alcuna zona, tutte le zone vengono sospese. Ciò consente di apportare modifiche manuali a una zona normalmente aggiornata tramite aggiornamento dinamico. Inoltre, le modifiche al file journal vengono sincronizzate nel file master. Tutti i tentativi di aggiornamento dinamico verranno rifiutati mentre la zona è congelata.

       disgelo [zona [classe [vista]]]
           Abilita gli aggiornamenti a una zona dinamica bloccata. Se non viene specificata alcuna zona, vengono abilitate tutte le zone bloccate. Ciò fa sì che il server ricarichi la zona dal disco e riattivi gli aggiornamenti dinamici al termine del caricamento. Dopo che una zona è stata scongelata, gli aggiornamenti dinamici non verranno più rifiutati. Se la zona è cambiata ed è in uso l'opzione ixfr-da-differenze, il file journal verrà aggiornato per riflettere le modifiche nella zona. Altrimenti, se la zona è cambiata, qualsiasi file journal esistente verrà rimosso. ....

Cosa, pensavi che avrei trascritto l'intero manuale? ... un pezzo e vanno in macchina. Il resto lo lascio a te. 😉

in sostanza:

  • rndc freeze [zona [classe [vista]]], sospende l'aggiornamento dinamico di una zona. Se non ne viene specificato uno, tutto si bloccherà. Il comando consente la modifica manuale della zona congelata o di tutte le zone. Qualsiasi aggiornamento dinamico verrà negato durante il congelamento.
  • rndc disgelo [zona [classe [vista]]], abilita gli aggiornamenti dinamici su una zona precedentemente bloccata. Il server DNS ricarica il file di zona dal disco e gli aggiornamenti dinamici vengono riattivati ​​al termine del ricaricamento.

Precauzioni da prendere quando modifichiamo manualmente un file di zona? Come se lo stessimo creando, senza dimenticare di aumentare il numero di serie di 1 o serial prima di salvare il file con le modifiche finali.

Esempio:

[root @ dns ~] # rndc freeze desdelinux.fan

[root@dns ~]# nano /var/named/dynamic/db.desdelinux.fan
Modifico il file di zona per qualsiasi motivo, necessario o meno. Salvo le modifiche

[root @ dns ~] # rndc disgelo desdelinux.fan
È stato avviato un ricaricamento e un disgelo di zona. Controlla i log per vedere il risultato.

[root @ dns ~] # journalctl -f
29 gennaio 14:06:46 DNS denominato[2257]: zona di scongelamento 'desdelinux.fan/IN': successo
29 gennaio 14:06:46 DNS denominato[2257]: zona desdelinux.fan/IN: seriale zona (6) invariata. la zona potrebbe non riuscire a trasferire agli schiavi.
29 gennaio 14:06:46 DNS denominato[2257]: zona desdelinux.fan/IN: seriale 6 caricata

L'errore nell'output precedente, che viene mostrato in rosso sulla console, è dovuto al fatto che ho "dimenticato" di aumentare il numero di serie di 1. Se avessi seguito correttamente la procedura, l'output sarebbe stato:

[root @ dns ~] # journalctl -f
-- Le registrazioni iniziano a domenica 2017-01-29 08:31:32 EST. -- 29 gennaio 14:06:46 DNS denominato[2257]: zona desdelinux.fan/IN: seriale caricato il 6 gennaio 29 14:10:01 dns systemd[1]: sessione 43 avviata dell'utente root. 29 gennaio 14:10:01 dns systemd[1]: avvio della sessione 43 dell'utente root. 29 gennaio 14:10:01 dns CROND[2693]: (root) CMD (/usr/lib64/sa/sa1 1 1) 29 gennaio 14:10:45 dns denominato[2257]: ricevuto il comando del canale di controllo 'freeze desdelinux.fan' 29 gennaio 14:10:45 dns denominato[2257]: zona di congelamento 'desdelinux.fan/IN': successo 29 gennaio 14:10:58 dns denominato[2257]: ricevuto il comando del canale di controllo 'scongelamento desdelinux.fan' 29 gennaio 14:10:58 dns denominato[2257]: zona di scongelamento 'desdelinux.fan/IN': successo 29 gennaio 14:10:58 dns denominato[2257]: zona desdelinux.fan/IN: il file journal non è aggiornato: rimozione del file journal 29 gennaio 14:10:58 dns denominato[2257]: zona desdelinux.fan/IN: seriale 7 caricata
  • Amici lettori, ripeto che dovete leggere attentamente le uscite dei comandi. Per qualcosa i suoi sviluppatori hanno speso così tanto lavoro per programmare ogni comando, non importa quanto sia semplice.

Riassunto

Finora abbiamo affrontato l'implementazione della coppia DNS - DHCP, servizi importanti e cruciali per il buon andamento della nostra Rete di PMI, riferiti alla concessione di indirizzi dinamici tramite DHCP e alla risoluzione di computer e nomi di dominio tramite DNS.

Ci auguriamo seriamente che l'intera procedura ti sia piaciuta come abbiamo fatto noi. Sebbene possa sembrare più difficile usare la console, è molto più semplice ed educativo implementare un servizio in UNIX® / Linux con il suo aiuto.

Mi perdonano per qualsiasi interpretazione errata di concetti pensati, creati, scritti, rivisti, riscritti e pubblicati nella lingua di Shakespeare, non di Cervantes. 😉

Prossima consegna

Penso un po 'di più la stessa cosa - con aggiunte teoriche sui record DNS - ma in Debian. Non possiamo dimenticare quella distribuzione, giusto?


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.

  1.   Cristiano Mercante suddetto

    Grazie mille per il tuo lodevole lavoro nello scrivere articoli così fruttuosi. Mi sarà molto utile

  2.   federico suddetto

    E grazie mille, Cristian, per avermi seguito e per la tua valutazione su questo post. Successi!

  3.   Ismael Alvarez Wong suddetto

    Dopo aver dato un primo sguardo a questo nuovo post di Federico, si nota ancora una volta la grande professionalità vista in tutta la serie «PYMES»; oltre al grande dettaglio che illustra il tuo dominio su due dei servizi più importanti (DNS e DHCP) di qualsiasi rete. In questa occasione ea differenza dei miei commenti precedenti, ho un 2 ° commento in sospeso dopo aver messo in pratica quanto affermato in questo post.

  4.   crespo88 suddetto

    Nessun commento, pa '400 !!! Fico ti ringrazio perché sai benissimo che ho letto i tuoi post e non possiamo chiedere di più. Inizi con un'ottima organizzazione, da come installare e impostare il desktop personale di un utente, la postazione di lavoro è la base, è il senso di essere di quei servizi di rete che spieghi molto bene. Hai scalato e anche se è vero che il livello sta aumentando, è vero che hai scritto e pubblicato per chi è meno di chi inizia, per chi è come me da tempo e per i più avanzati.
    Col tempo sono giunto alla conclusione che so che in tanti sono già arrivati, la teoria, quella che ci costa tanto da acquisire per il semplice fatto di non voler leggere, perché l'esecuzione è già molto più facile quando sappiamo cosa stiamo facendo, perché ???, le domande, dove trovare e come uscire dall'errore che dà così tanto mal di testa quando non sappiamo nemmeno da dove vengono, vale la ridondanza.
    Per questo motivo, non vorrei che lasciassi indietro quegli elementi teorici che includerai sui record DNS nella prossima pubblicazione come hai annunciato, tanto meno quando si tratta del caro e amato DEBIAN.
    GRAZIE MOLTO e vi aspettiamo.

  5.   cacciatore suddetto

    Ottimo come sempre Fico! Aspetto la versione Debian, gioco da anni con quella distro.

  6.   federico suddetto

    Wong: La tua opinione dopo aver letto vale molto. Attendo i tuoi commenti quando proverai il contenuto, perché so che è così che ti piace farlo. 😉

  7.   federico suddetto

    Crespo: Come sempre, i tuoi commenti sono molto ben accolti. Vedo che hai catturato la linea generale che ho innalzato nella composizione di questa serie. Spero che, come te, molti se ne siano già accorti. Grazie per il tuo commento.

  8.   federico suddetto

    Dhunter: Piacere di leggerti di nuovo! Non dovrai aspettare a lungo. Al più tardi lunedì, o prima, sarà terminato per la pubblicazione. Non credo che sia facile per me coprire tre distro diverse, ma il rispettabile lettore, lo chiede. Non solo Debian e Ubuntu, ma i tre orientati alle PMI.

  9.   crespo88 suddetto

    Se hai pubblicato, è perché puoi, ti sosteniamo e sappiamo che seguirai quella linea.
    Come dhunter aspetto con denti aguzzi il rilascio di Debian. Sarebbe bello se coprissi un po 'di NTP. Sl2 e un grande abbraccio. Se i miei insegnanti mi avessero insegnato tutto del genere, HAHAJJA, Laurea Platino, HAHAJJA.

  10.   federico suddetto

    Il livello di dettaglio negli output dei comandi è necessario per mostrare la sua importanza. Dicono molto. È vero che pochi articoli trattano questo livello di dettaglio, perché pensano che sarebbero articoli lunghi e pesanti da leggere. Bene, parte del lavoro di un amministratore di sistema è leggere quegli output pesanti e dettagliati, non solo di fronte a un problema, ma anche di fronte a controlli.

  11.   Ismael Alvarez Wong suddetto

    Ciao Federico, avevo promesso prima, di scrivere qualche commento dopo aver studiato attentamente il post in questione; Bene, eccoli qui:
    - Ottima tecnica invece di generare la chiave TSIG per gli aggiornamenti DNS dinamici da DHCP, copiando la stessa chiave rndc.key di dhcp.key, questo apparentemente "così semplice" mostra che l'obiettivo non è solo il tecnicismo dell'HOWTO-INSTALL-DNS - & - DHCP ma insegnandoci a pensare, 5 STELLE PER L'AUTORE.
    – Molto interessante nel file di configurazione DNS, denominato.conf, la presenza della riga «allow-transfer { localhost; 192.168.10.1; };» testare il Dominio «desdelinux.fan" solo dalla workstation SysAdmin e dal localhost (il server DNS stesso), e oltre a inserire la chiave TSIG per l'aggiornamento del DNS da DHCP.
    - Ottima la creazione delle zone dirette e inverse del DNS unitamente alla spiegazione "dettagliata" dei loro tipi di record, nonché l'esecuzione del comando "# named-checkconf -zp" per controllare tutta la sintassi del named prima del suo hard reset, nonché esempi di esecuzione del comando "dig" per verificare diversi tipi di record DNS.
    . Nella configurazione DHCP (utilizzando il file /etc/dhcp/dhcpd.conf):
    - Come aggiungere la nostra rete locale con il suo range di indirizzi IP dinamici da assegnare, la definizione del name-server, ecc; nonché come dire a DHCP di aggiornare i record DNS utilizzando le righe "ddns- ..." nella sua configurazione.
    . Quando tutto sarà già operativo, 5 STELLE PER L'AUTORE, nell'esecuzione del comando «#dig desdelinux.fan axfr» per verificare il TTL dei computer LAN che hanno IP statici e quelli a cui sono assegnati IP dinamici.
    . Infine, FANTASTICO, modificare manualmente i file Zone congelandoli prima con «# rndc freeze desdelinux.fan", apportando poi la modifica ed infine sbloccandoli con "#rndc thaw desdelinux.fan"
    . E IL MEGLIO, TUTTO È STATO FATTO DAL TERMINALE.
    Continua così Fico.

    1.    Gioia suddetto

      Hallo,
      Ik kom net kijken, dit omdat ik probeer te achterhalen hoe het kan dat alles gedeeld en verwijderd wordt on mijn computer zelfs mijn foto's. Ik heb totaal geen control meer over mijn eigen computer on mobiel.
      Het zit m dus ook in het dns in dhcp. Ik weet echt niet hoe ik dit moet oplossen en het kan verwijderen. Misschien dat iemand mij wilt helpen? Dit is namelijk buiten mij om geinstalleerd. Walgelijk gedrag vind ik het.

  12.   federico suddetto

    Wong: il tuo commento completa l'articolo. Seriamente, mostra che l'hai studiato a fondo. Altrimenti, non potresti commentare con il livello di dettaglio che fai. Aggiungilo e basta consentire-trasferimento Viene utilizzato principalmente per quando abbiamo un DNS Slave e permettiamo il trasferimento di zone dal master ad esso. Lo uso in questo modo perché è un meccanismo facile da implementare per eseguire controlli non pericolosi da un singolo computer. Grazie mille per la tua valutazione 5. Saluti! e continuerò ad aspettarvi nei miei prossimi articoli.

  13.   Ignacio M suddetto

    Ciao Federico. So di essere un po 'in ritardo, ma vorrei farti una domanda.
    Questa procedura mi aiuterebbe se volessi puntare un dominio al mio server vps?

    Ogni 15 minuti ricevo questi messaggi di sistema:

    DHCPREQUEST su eth0 alla porta 67 (xid = ...)
    DHCPACK da (xid =…)
    vincolato a - rinnovo in 970 secondi.

    E da quello che ho capito dovrei creare un record A con il mio dominio e l'ip del mio server dedicato.

    * Mi congratulo e ti ringrazio per questo articolo, non so se è quello che cercavo ma l'ho trovato molto interessante e ben spiegato. Ho anche ricevuto la raccomandazione da "DNS and BIND" di cui ho già parlato un po 'e mi sembra molto interessante.

    Saluti dall'Argentina!

    1.    antonio valdes toujague suddetto

      per favore contattami tramite valdestoujague@yandex.com