Configura el servidor DNS mestre-esclau mitjançant les eines Enllaçar a RHEL/CentOS 6.5
Servidor de noms de domini (DNS) utilitzat per resoldre noms a qualsevol amfitrió. Els servidors DNS mestres (servidor principal) són els gestors de dades de zona originals i el servidor DNS esclau (servidor secundari) són només un servidor de còpia de seguretat que s'utilitza per copiar la mateixa informació de la zona dels servidors mestres. El servidor mestre resoldrà els noms de tots els amfitrions que hem definit a la base de dades de la zona i utilitzarà el protocol UDP, perquè els protocols UDP mai utilitzen el procés de reconeixement mentre que tcp utilitza el reconeixement. Els servidors DNS també utilitzen protocols UDP per resoldre la sol·licitud de consulta com més aviat millor.
Entendre el DNS pot ser poc confús per als novells. Aquí teniu una breu explicació sobre com funciona el DNS.
Diguem, si necessitem accedir a qualsevol lloc web què farem? Només has d'escriure www.google.com al navegador i prémer Enter. Hmm, això és tot el que sabem, però el fet és que el dolor passa per el DNS mentre ens consulta. Mentre escrivim www.google.com, el sistema buscarà www.google.com. Sempre que escrivim un nom de domini, hi ha un . (punt) al final de www.google.com que diuen cercar al servidor arrel de l'espai de noms.
A nivell mundial hi ha 13 servidors arrel disponibles per resoldre la consulta. Al principi, mentre premem Intro com a www.google.com, el nostre navegador passarà una sol·licitud al nostre solucionador local, que té una entrada sobre la informació del nostre servidor DNS principal i esclau. Si no tenen informació sobre aquesta consulta sol·licitada, passaran la sol·licitud al domini de primer nivell (TLD), si el TLD diu que no conec la sol·licitud, pot ser que el servidor autoritzat conegui la vostra sol·licitud, l'enviarà a autoritzat. servidors, aquí només www.google.com es va definir com a adreça 72.36.15.56.
Mentrestant, el servidor autoritzat donarà la resposta al TLD i el TLD passarà al servidor arrel i l'arrel proporcionarà la informació al navegador, per tant, el navegador emmagatzemarà la sol·licitud de DNS per a un ús futur. Així, aquests llargs processos es resoldran en mil·lisegons. Si no coneixen la sol·licitud, respondran com a NXDOMAIN. Això vol dir que no hi ha cap registre: s'han trobat a la base de dades de la zona. Espero que això us faci entendre com funciona el DNS.
Llegiu també: Configura el servidor de memòria cau DNS a Ubuntu
Per a aquest article, estic fent servir 3 màquines, 2 per a la configuració del servidor (mestre i esclau) i 1 per al client.
--------------------------------------------------- Master DNS Server --------------------------------------------------- IP Address : 192.168.0.200 Host-name : masterdns.tecmintlocal.com OS : Centos 6.5 Final
--------------------------------------------------- Slave DNS Server --------------------------------------------------- IP Address : 192.168.0.201 Host-name : slavedns.tecmintlocal.com OS : Centos 6.5 Final
--------------------------------------------------- Client Machine to use DNS --------------------------------------------------- IP Address : 192.168.0.210 Host-name : node1.tecmintlocal.com OS : Centos 6.5 Final
bind, bind-utils, bind-chroot
config file : /etc/named.conf script file : /etc/init.d/named
53, UDP
Configura el servidor DNS mestre
En primer lloc, verifiqueu l'adreça IP, el nom d'amfitrió i la versió de distribució del servidor DNS mestre abans de continuar amb la configuració.
$ sudo ifconfig | grep inet $ hostname $ cat /etc/redhat-release
Un cop confirmeu que la configuració anterior és correcta, és hora d'avançar per instal·lar els paquets necessaris.
$ sudo yum install bind* -y
Després d'instal·lar els paquets necessaris, ara definiu els fitxers de zona al fitxer de configuració principal named.conf.
$ sudo vim /etc/named.conf
A continuació es mostra la meva entrada de fitxer named.conf, canvieu el fitxer de configuració segons les vostres necessitats.
// // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { listen-on port 53 { 127.0.0.1; 192.168.0.200; }; # Here we need to add our Master DNS Server IP. listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; 192.168.0.0/24; }; # subnet range where my hosts are allowed to query our DNS. allow-transfer { localhost; 192.168.0.201; }; # Here we need to our Slave DNS server IP. recursion no; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; ## Define our forward & reverse Zone file here for tecmintlocal.com. zone"tecmintlocal.com" IN { type master; file "tecmintlocal.fwd.zone"; allow-update { none; }; }; zone"0.168.192.in-addr.arpa" IN { type master; file "tecmintlocal.rev.zone"; allow-update { none; }; }; ##### include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
A continuació es mostra l'explicació de cada configuració que hem utilitzat al fitxer anterior.
- Port d'escolta 53: s'utilitza perquè el DNS escolti a les interfícies disponibles.
- DNS mestre: defineix la teva adreça IP de DNS mestre per escoltar la consulta.
- DNS esclau: definiu el vostre DNS esclau, que s'utilitza per sincronitzar la informació de la nostra zona per resoldre els amfitrions del mestre.
- recursió no: si s'estableix com a sí, les consultes recursives convertiran el servidor en un atac DDOS.
- Nom de la zona: defineix el nom de la zona aquí definit com a tecminlocal.com.
- escriviu mestre: com que aquest sistema s'ha configurat per a un servidor mestre, per al proper servidor esclau aquest serà esclau.
- tecmintlocal.fwd.zone: aquest fitxer té la informació de l'amfitrió d'aquesta zona.
- permet actualitzar cap: si no se'n definirà cap. no utilitzarà DNS dinàmic (DDNS).
Al principi, anem a definir l'entrada a la zona de cerca anticipada. Aquí hem de crear els fitxers de zona amb el nom del que hem definit al fitxer named.conf com a continuació.
tecmintlocal.fwd.zone tecmintlocal.rev.zone
Utilitzem fitxers de configuració d'exemple per crear fitxers de zona avançada, per això hem de copiar els fitxers de configuració de mostra.
$ sudo cp /var/named/named.localhost /var/named/tecmintlocal.fwd.zone $ sudo cp /var/named/named.loopback /var/named/tecmintlocal.rev.zone
Un cop hàgiu copiat els fitxers de configuració, ara editeu aquests fitxers de zones amb l'editor vim.
$ sudo vim /var/named/tecmintlocal.fwd.zone
Abans de definir la nostra informació de l'amfitrió al fitxer de zona d'enviament, primer feu una ullada ràpida al fitxer de zona de mostra.
Aquesta és la meva configuració de zona avançada, afegiu l'entrada següent i feu canvis segons les vostres necessitats.
$TTL 86400 @ IN SOA masterdns.tecmintlocal.com. root.tecmintlocal.com. ( 2014090401 ; serial 3600 ; refresh 1800 ; retry 604800 ; expire 86400 ) ; minimum ; Name server's @ IN NS masterdns.tecmintlocal.com. @ IN NS slavedns.tecmintlocal.com. ; Name server hostname to IP resolve. @ IN A 192.168.0.200 @ IN A 192.168.0.201 ; Hosts in this Domain @ IN A 192.168.0.210 @ IN A 192.168.0.220 masterdns IN A 192.168.0.200 slavedns IN A 192.168.0.201 node1 IN A 192.168.0.210 rhel1 IN A 192.168.0.220
Deseu i sortiu del fitxer amb wq!. Després d'editar la cerca cap endavant, sembla que a continuació, utilitzeu TAB per obtenir un format decent al fitxer de zona.
Ara, creeu un fitxer de cerca inversa, ja hem fet una còpia del fitxer de retrocés amb el nom de tecmintlocal.rev.zone. Per tant, utilitzem aquest fitxer per configurar la nostra cerca inversa.
$ sudo vim /var/named/tecmintlocal.rev.zone
Abans de definir la informació de l'amfitrió al fitxer de zona inversa, feu una ullada ràpida al fitxer de cerca inversa de mostra, tal com es mostra a continuació.
Aquesta és la meva configuració de zona inversa, afegiu l'entrada següent i feu els canvis que necessiteu.
$TTL 86400 @ IN SOA masterdns.tecmintlocal.com. root.tecmintlocal.com. ( 2014090402 ; serial 3600 ; refresh 1800 ; retry 604800 ; expire 86400 ) ; minimum ; Name server's @ IN NS masterdns.tecmintlocal.com. @ IN NS slavedns.tecmintlocal.com. @ IN PTR tecmintlocal.com. ; Name server hostname to IP resolve. masterdns IN A 192.168.0.200 slavedns IN A 192.168.0.201 ;Hosts in Domain 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.
Deseu i sortiu del fitxer amb wq!. Després d'editar la cerca inversa, sembla que a continuació, utilitzeu TAB per obtenir un format decent al fitxer de zona.
Comproveu la propietat del grup dels fitxers de cerca directa i de cerca inversa, abans de comprovar si hi ha errors en la configuració.
$ sudo ls -l /var/named/
Aquí podem veure que tots dos fitxers són propietat dels usuaris root, perquè els fitxers que fem una còpia dels fitxers de mostra estan disponibles a /var/named/. Canvieu el grup a named als dos fitxers mitjançant les ordres següents.
$ sudo chgrp named /var/named/tecmintlocal.fwd.zone $ sudo chgrp named /var/named/tecmintlocal.rev.zone
Després d'establir la propietat correcta dels fitxers, torneu a verificar-los.
$ sudo ls -l /var/named/
Ara, comproveu els errors als fitxers de zona abans d'iniciar el servei DNS. Primer comproveu el fitxer named.conf i, a continuació, comproveu altres fitxers de 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 defecte, iptables s'està executant i el nostre servidor DNS està restringit a localhost, si el client vol resoldre el nom del nostre servidor DNS, hem de permetre la sol·licitud d'entrada, per això hem d'afegir la regla d'entrada d'iptables per al port 53.
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
Ara, comproveu que les regles s'han afegit correctament a la cadena INPUT.
$ sudo iptables -L INPUT
A continuació, deseu les regles i reinicieu el tallafoc.
$ sudo service iptables save $ sudo service iptables restart
Inicieu el servei anomenat i feu-lo persistent.
$ sudo service named start $ sudo chkconfig named on $ sudo chkconfig --list named
Finalment, proveu els fitxers de la zona DNS mestre configurats (en endavant i enrere), utilitzant les eines dig & nslookup.
$ dig masterdns.tecmintlocal.com [Forward Zone]
$ dig -x 192.168.0.200
$ nslookup tecmintlocal.com $ nslookup masterdns.tecmintlocal.com $ nslookup slavedns.tecmintlocal.com
Guai! hem configurat un DNS mestre, ara hem de configurar un servidor DNS esclau. Avancem per configurar un servidor esclau, això no trigarà gaire temps com a configuració mestra.
Configura el servidor DNS esclau
A la màquina Slave, també hem d'instal·lar els mateixos paquets d'enllaç que es mostren a Master, així que instal·lem-los mitjançant l'ordre següent.
$ sudo yum install bind* -y
Obriu i editeu el fitxer named.conf per a la nostra base de dades de zona i el port d'escolta.
$ sudo vim /etc/named.conf
Feu els canvis tal com es mostra, segons els vostres requisits.
// // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { listen-on port 53 { 127.0.0.1; 192.168.0.201}; # Our Slave DNS server IP listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; 192.168.0.0/24; }; recursion no; dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; ## Define our slave forward and reverse zone, Zone files are replicated from master. zone"tecmintlocal.com" IN { type slave; file "slaves/tecmintlocal.fwd.zone"; masters { 192.168.0.200; }; }; zone"0.168.192.in-addr.arpa" IN { type slave; file "slaves/tecmintlocal.rev.zone"; masters { 192.168.0.200; }; }; ##### include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
Inicieu el servei DNS utilitzant.
$ sudo service named start
Després de reiniciar el servei d'enllaç, no hem de definir la informació de la zona individualment, ja que la nostra transferència permetrà replicar la informació de la zona del servidor mestre, tal com es mostra a la imatge següent.
$ sudo ls -l /var/named/slaves
Verifiqueu la informació de la zona mitjançant l'ordre cat.
$ sudo cat /var/named/slaves/tecmintlocal.fwd.zone $ sudo cat /var/named/slaves/tecmintlocal.rev.zone
A continuació, obriu el port DNS 53 a iptables per permetre la connexió entrant.
$ sudo iptables -I INPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
Deseu les regles d'iptables i reinicieu el servei iptables.
$ sudo service iptables save $ sudo service iptables restart
Feu que el servei sigui persistent a l'arrencada del sistema.
$ sudo chkconfig iptables on
Check whether persistent set for run-levels .
$ sudo chkconfig --list iptables
Això és!. Ara és el moment de configurar les nostres màquines client i comprovar el nom d'amfitrió.
Configura la màquina client
Al costat del client, hem d'assignar l'entrada DNS principal (192.168.0.200) i secundària (192.168.0.201) a la configuració de la xarxa per poder assignar un nom d'amfitrió. Per fer-ho, executeu l'ordre de configuració per definir totes aquestes entrades tal com es mostra a la imatge.
$ setup
En cas contrari, editeu el fitxer /etc/reslov.conf i afegiu les entrades següents.
$ vim /etc/resolv.conf
search tecmintlocal.com nameserver 192.168.0.200 nameserver 192.168.0.201
Ara, verifiqueu l'IP, el nom d'amfitrió i la cerca del servidor de noms.
$ ifconfig | grep inet $ hostname $ nslookup tecmintlocal.com
Ara, comproveu la cerca de DNS endavant i inversa utilitzant.
$ dig masterdns.tecmintlocal.com $ dig -x 192.168.0.200
Comprendre la sortida d'excavació:
- Capçalera: diu tot el que hem demanat i com ha estat el resultat.
- Estat: l'estat no tenia ERROR, això vol dir quina sol·licitud de consulta enviada per nosaltres va tenir èxit sense cap ERROR.
- Pregunta: la consulta que vam fer nosaltres, aquí la meva consulta era masterdns.tecmintlocal.com.
- Resposta: la sol·licitud de consulta s'ha resolt si hi ha informació disponible.
- Autoritat: la resposta dels servidors de noms per al domini i la zona.
- Additional: informació addicional sobre els servidors de noms, com ara el nom d'amfitrió i l'adreça IP.
- Temps de consulta: el temps que va trigar a resoldre els noms dels servidors anteriors.
Finalment, comproveu el nostre node i feu 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
Finalment, la configuració completada, aquí hem configurat el servidor DNS principal (mestre) i esclau (segon) amb èxit, esperem que tothom s'hagi configurat sense cap problema, no dubteu a deixar un comentari si teniu cap problema durant la configuració.