Server dei nomi di dominio (DNS) utilizzato per la risoluzione dei nomi su qualsiasi host. Server DNS principali (Server primario) sono i gestori dati della zona originale e il server DNS slave (Server Secondario) sono solo un server di backup che viene utilizzato per copiare le stesse informazioni sulla zona dai server master. Master Server risolverà i nomi per ogni host che abbiamo definito nel database della zona e che useremo Protocollo UDP, perché i protocolli UDP non utilizzano mai il processo di riconoscimento mentre tcp utilizza riconoscimento. I server DNS utilizzano anche i protocolli UDP per risolvere la richiesta di query al più presto.
La comprensione del DNS potrebbe essere poco confusa per i neofiti. Ecco una breve spiegazione su come funzionano i DNS.
Diciamo, se abbiamo bisogno di accedere a qualsiasi sito web cosa faremo? Basta digitare www.google.com nel browser e premi invio. Hmm è tutto ciò che sappiamo, ma il fatto è che il DNS lo attraversa mentre interroga per noi. Mentre digitiamo www.google.com, il sistema cercherà www.google.com. Ogni volta che digitiamo un nome di dominio, c'è un
. (punto) alla fine di www.google.com che dice di cercare il server principale dello spazio dei nomi.A livello globale ci sono 13 server radice disponibile per risolvere il quesito. All'inizio, mentre premiamo invio come www.google.com, il nostro browser invierà una richiesta al nostro resolver locale, che contiene informazioni sul nostro server DNS master e slave. Se non hanno informazioni su tale query richiesta, passeranno la richiesta al dominio di primo livello (TLD), se TLD dice che non conosco la richiesta, potrebbe essere il server autorevole a conoscere la tua richiesta, inoltrerà ai server autorevoli, qui solo www.google.com è stato definito come indirizzo 72.36.15.56.
Nel frattempo il server autorevole darà la risposta a TLD e TLD passerà al server root e root fornirà le informazioni al browser, quindi il browser memorizzerà nella cache la richiesta DNS per un uso futuro. Quindi questi lunghi processi si risolveranno solo in millisecondi. Se non conoscono la richiesta, risponderanno come NXDOMAIN. Ciò significa che non è stato trovato alcun record nel database della zona. Spero che questo ti faccia capire come funziona il DNS.
Leggi anche: Configura server cache DNS in Ubuntu
Per questo articolo, sto usando 3 macchine, 2 per la configurazione del server (master e slave) e 1 per il client.
Server DNS principale Indirizzo IP: 192.168.0.200. Nome host: masterdns.tecmintlocal.com. Sistema operativo: Centos 6.5 finale.
Server DNS slave Indirizzo IP: 192.168.0.201. Nome host: slavedns.tecmintlocal.com. Sistema operativo: Centos 6.5 finale.
Macchina client per utilizzare DNS Indirizzo IP: 192.168.0.210. Nome host: node1.tecmintlocal.com. Sistema operativo: Centos 6.5 finale.
bind, bind-utils, bind-chroot.
file di configurazione: /etc/named.conf. file di script: /etc/init.d/named.
53, UDP
Innanzitutto, verifica l'indirizzo IP, il nome host e la versione di distribuzione del server DNS principale, prima di procedere con la configurazione.
$ sudo ifconfig | grep inet. $ nome host. $ cat /etc/redhat-release.
Una volta, confermi che le impostazioni di cui sopra sono corrette, è tempo di andare avanti per installare i pacchetti richiesti.
$ sudo yum install bind* -y.
Dopo aver installato i pacchetti richiesti, ora definisci i file di zona nella configurazione principale 'nome.conf' file.
$ sudo vim /etc/named.conf.
Di seguito è riportato il mio nome.conf voce del file, modificare il file di configurazione secondo le proprie necessità.
// // nominato.conf. // // Fornito dal pacchetto bind di Red Hat per configurare l'ISC BIND denominato (8) DNS. // server come nameserver di sola memorizzazione nella cache (solo come risolutore DNS localhost). // // Vedere /usr/share/doc/bind*/sample/ per esempio i file di configurazione denominati. // opzioni { ascolto sulla porta 53 {127.0.0.1; 192.168.0.200; }; # Qui dobbiamo aggiungere il nostro IP del server DNS principale. ascolta-su-v6 porta 53 { ::1; }; directory "/var/named"; file dump "/var/named/data/cache_dump.db"; file-statistiche "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; 192.168.0.0/24; }; # intervallo di sottorete in cui i miei host possono interrogare il nostro DNS. consentire-trasferimento { host locale; 192.168.0.201; }; # Qui abbiamo bisogno dell'IP del nostro server DNS slave. ricorsione no; dnssec-enable sì; convalida dnssec sì; dnssec-lookaside auto; /* Percorso della chiave ISC DLV */ bindkeys-file "/etc/named.iscdlv.key"; directory chiavi gestite "/var/named/dynamic"; }; logging { canale default_debug { file "data/named.run"; dinamica della gravità; }; }; zona "." IN { suggerimento di tipo; file "named.ca"; }; ## Definisci qui il nostro file di zona avanti e indietro per tecmintlocal.com. zona"tecmintlocal.com" IN { tipo maestro; file "tecmintlocal.fwd.zone"; allow-update { nessuno; }; }; zona"0.168.192.in-addr.arpa" IN { tipo maestro; file "tecmintlocal.rev.zone"; allow-update { nessuno; }; }; ##### include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
Di seguito sono riportate le spiegazioni di ciascuna configurazione utilizzata nel file precedente.
Per prima cosa definiamo l'ingresso della zona di ricerca diretta. Qui dobbiamo creare i file di zona nel nome di ciò che abbiamo definito nel nome.conf file come di seguito.
tecmintlocal.fwd.zone. tecmintlocal.rev.zone.
Usiamo file di configurazione di esempio per creare file di zona in avanti, per questo dobbiamo copiare i file di configurazione di esempio.
$ sudo cp /var/named/named.localhost /var/named/tecmintlocal.fwd.zone. $ sudo cp /var/named/named.loopback /var/named/tecmintlocal.rev.zone.
Una volta, hai copiato i file di configurazione, ora modifica questi file di zone usando vim editore.
$ sudo vim /var/named/tecmintlocal.fwd.zone.
Prima di definire le informazioni sull'host nel file di zona in avanti, dai una rapida occhiata al file di zona di esempio.
Questa è la mia configurazione della zona avanzata, aggiungi la voce sottostante e apporta le modifiche secondo le tue necessità.
$ TTL 86400. @ IN SOA masterdns.tecmintlocal.com. root.tecmintlocal.com. ( 2014090401; seriale 3600; aggiornare 1800; riprovare 604800; scadenza 86400 ); minimo; Nome del server @ IN NS masterdns.tecmintlocal.com. @ IN NS slavedns.tecmintlocal.com.; Nome host del server dei nomi per risolvere l'IP. @ IN A 192.168.0.200. @ IN A 192.168.0.201; Host in questo dominio @ IN A 192.168.0.210. @ IN UN 192.168.0.220. masterdns IN A 192.168.0.200. slavedns IN A 192.168.0.201. nodo1 IN A 192.168.0.210. rhel1 IN A 192.168.0.220.
Salva ed esci dal file usando wq!. Dopo aver modificato la ricerca in avanti, appare come sotto, Usa TAB per ottenere un formato decente nel file di zona.
Ora, crea un file di ricerca inversa, abbiamo già fatto una copia del file di loopback nel nome di tecmintlocal.rev.zone. Quindi, usiamo questo file per configurare la nostra ricerca inversa.
$ sudo vim /var/named/tecmintlocal.rev.zone.
Prima di definire le informazioni sull'host nel file di zona inversa, dai una rapida occhiata al file di ricerca inversa di esempio come mostrato di seguito.
Questa è la mia configurazione della zona inversa, aggiungi la voce sottostante e apporta le modifiche secondo le tue necessità.
$ TTL 86400. @ IN SOA masterdns.tecmintlocal.com. root.tecmintlocal.com. ( 2014090402; seriale 3600; aggiornare 1800; riprovare 604800; scadenza 86400 ); minimo; Nome del server @ IN NS masterdns.tecmintlocal.com. @ IN NS slavedns.tecmintlocal.com. @ IN PTR tecmintlocal.com.; Nome host del server dei nomi per risolvere l'IP. masterdns IN A 192.168.0.200. slavedns IN A 192.168.0.201 ;Host nel dominio node1 IN A 192.168.0.210. rhel IN A 192.168.0.220. 200 IN PTR masterdns.tecmintlocal.com. 201 IN PTR slavedns.tecmintlocal.com. 210 IN PTR node1.tecmintlocal.com. 220 IN PTR rhel1.tecmintlocal.com.
Salva ed esci dal file usando wq!. Dopo aver modificato la ricerca inversa, appare come sotto, Usa TAB per ottenere un formato decente nel file di zona.
Controllare la proprietà del gruppo dei file di ricerca diretta e di ricerca inversa, prima di verificare eventuali errori di configurazione.
$ sudo ls -l /var/named/
Qui possiamo vedere che entrambi i file sono in radice proprietà degli utenti, perché i file di cui facciamo una copia da file di esempio sono disponibili sotto /var/named/. Cambia il gruppo in named su entrambi i file usando i seguenti comandi.
$ sudo chgrp named /var/named/tecmintlocal.fwd.zone. $ sudo chgrp named /var/named/tecmintlocal.rev.zone.
Dopo aver impostato la proprietà corretta sui file, verificali nuovamente.
$ sudo ls -l /var/named/
Ora, controlla gli errori nei file di zona, prima di avviare il servizio DNS. Prima controlla il nome.conf file, quindi controllare altri file di zona.
$ sudo named-checkconf /etc/named.conf. $ sudo named-checkzone masterdns.tecminlocal.com /var/named/tecmintlocal.fwd.zone. $ sudo named-checkzone masterdns.tecminlocal.com /var/named/tecmintlocal.rev.zone.
Per impostazione predefinita, iptables era in esecuzione e il nostro server DNS è limitato a localhost, se il client desidera risolvere il nome da il nostro server DNS, quindi dobbiamo consentire la richiesta in entrata, per questo dobbiamo aggiungere la regola in entrata iptables per la porta 53.
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT.
Ora, verifica che le regole siano state aggiunte correttamente in INGRESSO catena.
$ sudo iptables -L INPUT.
Quindi, salva le regole e riavvia il firewall.
$ sudo service iptables salva. $ sudo service iptables riavviato.
Avvia il servizio denominato e rendilo persistente.
$ servizio sudo denominato start. $ sudo chkconfig denominato on. $ sudo chkconfig --list named.
Infine, testare i file di zona DNS master configurati (avanti e indietro), utilizzando scavare & nslookup Strumenti.
$ dig masterdns.tecmintlocal.com [Zona in avanti]
$ dig -x 192.168.0.200.
$ nslookup tecmintlocal.com. $ nslookup masterdns.tecmintlocal.com. $ nslookup slavedns.tecmintlocal.com.
Fresco! abbiamo configurato un DNS principale, ora dobbiamo impostare a DNS slave Server. Andiamo avanti per configurare un server slave, questo non richiederà molto tempo come configurazione principale.
Nella macchina Slave, abbiamo anche bisogno di installare gli stessi pacchetti di bind come mostrato in Master, quindi installiamoli usando il seguente comando.
$ sudo yum install bind* -y.
Apri e modifica 'nome.conf' file per il nostro database di zona e port listen.
$ sudo vim /etc/named.conf.
Apporta le modifiche come mostrato, secondo le tue esigenze.
// // nominato.conf. // // Fornito dal pacchetto bind di Red Hat per configurare l'ISC BIND denominato (8) DNS. // server come nameserver di sola memorizzazione nella cache (solo come risolutore DNS localhost). // // Vedere /usr/share/doc/bind*/sample/ per esempio i file di configurazione denominati. // opzioni { ascolto sulla porta 53 {127.0.0.1; 192.168.0.201}; # Il nostro server DNS slave IP listen-on-v6 port 53 { ::1; }; directory "/var/named"; file dump "/var/named/data/cache_dump.db"; file-statistiche "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; consentire-query { host locale; 192.168.0.0/24; }; ricorsione no; dnssec-enable sì; convalida dnssec sì; dnssec-lookaside auto; /* Percorso della chiave ISC DLV */ bindkeys-file "/etc/named.iscdlv.key"; directory chiavi gestite "/var/named/dynamic"; }; logging { canale default_debug { file "data/named.run"; dinamica della gravità; }; }; zona "." IN { suggerimento di tipo; file "named.ca"; }; ## Definisci la nostra zona di andata e ritorno dello slave, i file di zona vengono replicati dal master. zona"tecmintlocal.com" IN { tipo schiavo; file "slaves/tecmintlocal.fwd.zone"; maestri { 192.168.0.200; }; }; zona"0.168.192.in-addr.arpa" IN { tipo schiavo; file "slaves/tecmintlocal.rev.zone"; maestri { 192.168.0.200; }; }; ##### include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
Avvia il servizio DNS utilizzando.
$ servizio sudo denominato start.
Dopo aver riavviato il servizio di associazione, non è necessario definire le informazioni sulla zona individualmente, poiché il nostro consentire-trasferimento replicherà le informazioni sulla zona dal server principale come mostrato nell'immagine sottostante.
$ sudo ls -l /var/named/slaves.
Verificare, le informazioni sulla zona utilizzando il comando cat.
$ sudo cat /var/named/slaves/tecmintlocal.fwd.zone. $ sudo cat /var/named/slaves/tecmintlocal.rev.zone.
Quindi, apri la porta DNS 53 su iptables per consentire la connessione in entrata.
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT.
Salva le regole di iptables e riavvia il servizio iptables.
$ sudo service iptables salva. $ sudo service iptables riavviato.
Rendi il servizio persistente all'avvio del sistema.
$ sudo chkconfig iptables on
Controlla se il set persistente per i livelli di esecuzione .
$ sudo chkconfig --list iptables.
Questo è tutto!. Ora è il momento di configurare le nostre macchine client e controllare il nome host.
Dal lato client dobbiamo assegnare il Primary (192.168.0.200) e DNS secondario (192.168.0.201) voce nelle impostazioni di rete per ottenere l'assegnazione di un nome host. Per farlo, esegui il comando setup per definire tutte queste voci come mostrato nell'immagine.
$ installazione.
Altrimenti, modifica il '/etc/reslov.conf' e aggiungere le seguenti voci.
$ vim /etc/resolv.conf.
cerca su tecmintlocal.com. server dei nomi 192.168.0.200. server dei nomi 192.168.0.201.
Ora, verifica l'ip, il nome host e la ricerca del server dei nomi.
$ ifconfig | grep inet. $ nome host. $ nslookup tecmintlocal.com.
Ora, controlla la ricerca DNS in avanti e inversa utilizzando.
$ dig masterdns.tecmintlocal.com. $ dig -x 192.168.0.200.
Capire lo scavo Output:
Infine controlla il nostro nodo e fai un ping.
$ dig node1.tecmintlocal.com.
$ ping masterdns.tecmintlocal.com -c 2. $ ping slavedns.tecmintlocal.com -c 2. $ ping 192.168.0.200 -c 2. $ ping 192.168.0.201 -c 2.
Infine, configurazione completata, qui abbiamo configurato sia il server DNS Primario (Master) che Slave (Secondario) con successo, spero che tutti abbiano configurato senza alcun problema, sentiti libero di lasciare un commento in caso di problemi durante la configurazione.