|
|
Línea 1: |
Línea 1: |
− | == Instalación de un servidor DNS Resolvedor en polonio: == | + | == Instalación de un DNS en polonio: == |
| | | |
− | ===Conceptos===
| + | mrodriguez@polonio:~$ cat /etc/bind/named.conf.local |
− | | |
− | El DNS es un servicio repartido que tiene dos objetivos principales:
| |
− | | |
− | * Traducir una dirección canónica en una dirección IP, por ejemplo pedrera.taller.curerocha.edu.uy a su IP: 164.73.234.102
| |
− | * Traducir una dirección IP en una o varias direcciones canónicas, lo que se conoce como traducción inversa.
| |
− | | |
− | El "DNS Master" de una zona (por ejemplo taller.curerocha.edu.uy) es el servidor donde se almacena y actualiza la información de los dominios bajo esta zona, y que provee esta información a otros servidores en la red.
| |
− | | |
− | Además de un DNS Master es necesario crear un servidor secundario (esclavo), que proporcionará robustez y fiabilidad. Un servidor esclavo es simplemente un servidor de nombres que replica los ficheros de las zonas de un maestro.
| |
− | | |
− | Para que un servidor sea DNS Master de una zona, es necesario que el DNS master de la zona de nivel superior le delegue la gestión de dominios (por ejemplo, curerocha.edu.uy es la zona superior de taller.curerocha.edu.uy)
| |
− | | |
− | ===Objetivos===
| |
− | | |
− | * Crear un DNS master para las zona lan.curerocha.edu.uy (la cual no fue delegada, ya que es solo para consultas internas).
| |
− | * Resolver las consultas de las redes internas (10.5.1.0/24, 10.5.2.0/24, 10.5.3.0/24, 10.5.4.0/24 y 10.5.5.0/24).
| |
− | | |
− | ===Instalación===
| |
− | | |
− | Necesitamos BIND y algunos utilitarios:
| |
− | | |
− | # sudo apt-get install bind9 bind9-doc dnsutils
| |
− | | |
− | ===Configuración===
| |
− | | |
− | Los archivos de configuración del Bind están en /etc/bind/
| |
− | | |
− | $ sudo vi /etc/bind/named.conf.options
| |
− | | |
− | <pre>
| |
− | // Archivo de configuración del DNS Resolvedor y master de
| |
− | // lan.curerocha.edu.uy
| |
− | | |
− | options {
| |
− | //Habilitamos el cache
| |
− | acache-enable yes;
| |
− | directory "/var/cache/bind";
| |
− | // Forwardeamos a los servidores de SeCIU
| |
− | forwarders {
| |
− | 164.73.128.5;
| |
− | 164.73.128.70;
| |
− | };
| |
− | | |
− | allow-query {any;};
| |
− | auth-nxdomain no; # conform to RFC1035
| |
− | listen-on-v6 { any; };
| |
− | | |
− | };
| |
− | </pre>
| |
− | | |
− | $ sudo vi/etc/bind/named.conf.local
| |
− | | |
− | Editamos este archivo para definir las zonas directas e inversas de nuestro dominio,
| |
− | y los archivos donde estarán las configuraciones de las mismas.
| |
| | | |
| <pre> | | <pre> |
− | //Definimos nuestra zona de dominio lan.curerocha.edu.uy | + | // |
− | //Nuestro dns solo va a contestar por estas zonas a la red local | + | // Do any local configuration here |
| + | // |
| | | |
− | zone "lan.curerocha.edu.uy"{ | + | zone "1.100.10.in-addr.arpa" { |
| type master; | | type master; |
− | file "/etc/bind/db.lan.curerocha.edu.uy"; | + | file "/var/cache/bind/dompolonio/db.1.100.10"; |
− | allow-query { any;}; | + | |
| + | //Para permitir transferencia desde nuestro servidor al "DNS Slave puntadeldiablo" |
| + | //allow-transfer{ |
| + | //164.73.234.112; |
| + | //}; |
| }; | | }; |
| | | |
− | | + | zone "dompolonio.taller.curerocha.edu.uy." { |
− | zone "1.5.10.in-addr.arpa"{ | |
| type master; | | type master; |
− | file "/etc/bind/db.10.5.1"; | + | file "/var/cache/bind/dompolonio/db.dompolonio.taller.curerocha.edu.uy"; |
− | allow-query { any;};
| |
− | };
| |
| | | |
− | zone "2.5.10.in-addr.arpa"{
| + | |
− | type master; | + | //Para permitir transferencia desde nuestro servidor al "DNS Slave puntadeldiablo" |
− | file "/etc/bind/db.10.5.2"; | + | //allow-transfer{ |
− | allow-query { any;};
| + | //164.73.234.112; |
| + | //}; |
| }; | | }; |
| | | |
− | zone "4.5.10.in-addr.arpa"{ | + | zone "domvalizas.taller.curerocha.edu.uy." { |
− | type master;
| + | type slave; |
− | file "/etc/bind/db.10.5.4";
| + | |
− | allow-query { any;};
| + | file "/var/cache/bind/domvalizas/db.domvalizas.taller.curerocha.edu.uy"; |
− | }; | + | //Para indicar de quien somos "DNS Slave" |
| + | masters { 164.73.234.114; }; |
| + | }; |
| | | |
− | zone "5.5.10.in-addr.arpa"{ | + | zone "4.100.10.in-addr.arpa" { |
− | type master;
| + | type slave; |
− | file "/etc/bind/db.10.5.5";
| + | |
− | allow-query { any;};
| + | file "/var/cache/bind/domvalizas/db.4.100.10"; |
− | }; | + | //Para indicar de quien somos "DNS Slave" |
| + | masters { 164.73.234.114; }; |
| + | }; |
| | | |
− | // Consider adding the 1918 zones here, if they are not used in your
| |
− | // organization
| |
− | //include "/etc/bind/zones.rfc1918";
| |
| </pre> | | </pre> |
| | | |
− | === Los archivos de zonas ===
| + | mrodriguez@polonio:~$ cat /etc/bind/named.conf.options |
− | | |
− | Tipos de registros del DNS:
| |
− | | |
| <pre> | | <pre> |
− | Tipo Nombre Función
| + | options { |
− | Zona SOA Start Of Authority Define una zona representativa del DNS
| + | directory "/var/cache/bind"; |
− | NS Name Server Identifica los servidores de zona, delega subdominios
| |
− | Básicos A Dirección IPv4 Traducción de nombre a dirección
| |
− | AAAA Dirección IPv6 original Actualmente obsoleto
| |
− | PTR Puntero Traducción de dirección a nombre
| |
| | | |
− | $TTL: Indica el tiempo de vida (Time To Live) de la información contenida en el fichero. Es decir, el tiempo máximo de validez, tras el cual deberá refrescarse o actualizarse.
| + | // If there is a firewall between you and nameservers you want |
| + | // to talk to, you may need to fix the firewall to allow multiple |
| + | // ports to talk. See http://www.kb.cert.org/vuls/id/800113 |
| | | |
− | @ IN SOA, el registro SOA (Start Of Authority) es siempre el primer recurso en un fichero de zona. El símbolo "@" equivale a la directiva $ORIGIN Este sería el esqueleto de este registro:
| + | // If your ISP provided one or more IP addresses for stable |
| + | // nameservers, you probably want to use them as forwarders. |
| + | // Uncomment the following block, and insert the addresses replacing |
| + | // the all-0's placeholder. |
| + | |
| + | allow-transfer { 164.73.234.0/24; }; |
| + | |
| + | // allow-query { 164.73.234.0/24; }; |
| + | allow-query { any; }; |
| + | //formwarder |
| + | forwarders { |
| + | 164.73.234.104; |
| + | }; |
| | | |
− | @ IN SOA <primary-name-server> <hostmaster-email> (
| + | auth-nxdomain no; # conform to RFC1035 |
− | <serial-number> ; Se incrementa cuando se modifica el fichero de la zona
| + | listen-on-v6 { any; }; |
− | <time-to-refresh> ; Tiempo para los servidores secundarios (esclavos) actualicen los registros
| + | }; |
− | <time-to-retry> ; Tiempo para el servidor esclavo antes de solicitar una actualización, si el Master no responde
| |
− | <time-to-expire> ; Si el master no responde antes de que expire este tiempo, el servidor esclavo deja de actuar como servidor de zona
| |
− | <minimum-TTL> ) ; Time to live negativo
| |
− | </pre>
| |
| | | |
− | $ sudo vi/etc/bind/db.lan.curerocha.edu.uy
| |
| | | |
− | <pre>
| |
− | ;
| |
− | ; Archivo BIND de definición de zona lan.curerocha.edu.uy
| |
− | ;
| |
− | $TTL 360 ; 10M caché positivo
| |
− | @ IN SOA polonio.lan.curerocha.edu.uy. root.polonio.lan.curerocha.edu.uy. (
| |
− | 2011060903 ; Serial yyyy/mm/dd/id
| |
− | 6H ; Refresh
| |
− | 1D ; Retry
| |
− | 1W ; Expire
| |
− | 10M ) ; Negative Cache TTL
| |
− | ;
| |
− | @ IN NS polonio.lan.curerocha.edu.uy.
| |
− | @ IN A 10.5.2.2
| |
− | polonio IN A 10.5.2.2
| |
− | Equipo01 IN A 10.5.1.101
| |
− | Equipo02 IN A 10.5.1.102
| |
− | Equipo03 IN A 10.5.1.103
| |
− | Equipo04 IN A 10.5.1.104
| |
− | Equipo05 IN A 10.5.1.105
| |
− | Equipo06 IN A 10.5.1.106
| |
− | Equipo07 IN A 10.5.1.107
| |
− | Equipo08 IN A 10.5.1.108
| |
− | Equipo09 IN A 10.5.1.109
| |
− | Equipo10 IN A 10.5.1.110
| |
− | Equipo11 IN A 10.5.1.111
| |
− | Equipo12 IN A 10.5.1.112
| |
− | Equipo13 IN A 10.5.1.113
| |
− | Secretaria01 IN A 10.5.4.101
| |
− | Delegados01 IN A 10.5.5.102
| |
− | Docentes01 IN A 10.5.5.103
| |
| </pre> | | </pre> |
− |
| |
− | $ sudo vi/etc/bind/db.10.5.1
| |
− |
| |
− | <pre>
| |
− | ;
| |
− | ; Archivo BIND de definición de zona inversa 1.5.10.in-addr.arpa
| |
− | ;
| |
− | $TTL 86400 ; 1D
| |
− | @ IN SOA polonio.lan.curerocha.edu.uy. root.polonio.lan.curerocha.edu.uy. (
| |
− | 2011060901 ; Serial yyyy/mm/dd/id
| |
− | 6H ; Refresh
| |
− | 1D ; Retry
| |
− | 1W ; Expire
| |
− | 1D ) ; Negative Cache TTL
| |
− | ;
| |
− | @ IN NS polonio.lan.curerocha.edu.uy.
| |
− | @ IN PTR polonio.lan.curerocha.edu.uy.
| |
− | 101 IN PTR Equipo01.lan.curerocha.edu.uy.
| |
− | 102 IN PTR Equipo02.lan.curerocha.edu.uy.
| |
− | 103 IN PTR Equipo03.lan.curerocha.edu.uy.
| |
− | 104 IN PTR Equipo04.lan.curerocha.edu.uy.
| |
− | 105 IN PTR Equipo05.lan.curerocha.edu.uy.
| |
− | 106 IN PTR Equipo06.lan.curerocha.edu.uy.
| |
− | 107 IN PTR Equipo07.lan.curerocha.edu.uy.
| |
− | 108 IN PTR Equipo08.lan.curerocha.edu.uy.
| |
− | 109 IN PTR Equipo09.lan.curerocha.edu.uy.
| |
− | 110 IN PTR Equipo10.lan.curerocha.edu.uy.
| |
− | 111 IN PTR Equipo11.lan.curerocha.edu.uy.
| |
− | 112 IN PTR Equipo12.lan.curerocha.edu.uy.
| |
− | 113 IN PTR Equipo13.lan.curerocha.edu.uy.
| |
− | </pre>
| |
− |
| |
− | $ sudo vi/etc/bind/db.10.5.2
| |
− |
| |
− | <pre>
| |
− | ;
| |
− | ; Archivo BIND de definición de zona inversa 2.5.10.in-addr.arpa
| |
− | ;
| |
− | $TTL 86400 ; 1D
| |
− | @ IN SOA polonio.lan.curerocha.edu.uy. root.polonio.lan.curerocha.edu.uy. (
| |
− | 2011060901 ; Serial yyyy/mm/dd/id
| |
− | 6H ; Refresh
| |
− | 1D ; Retry
| |
− | 1W ; Expire
| |
− | 1D ) ; Negative Cache TTL
| |
− | ;
| |
− | @ IN NS polonio.lan.curerocha.edu.uy.
| |
− | @ IN PTR polonio.lan.curerocha.edu.uy.
| |
− | 2 IN PTR polonio.
| |
− | </pre>
| |
− |
| |
− | $ sudo vi/etc/bind/db.10.5.4
| |
− |
| |
− | <pre>
| |
− | ;
| |
− | ; Archivo BIND de definición de zona inversa 4.5.10.in-addr.arpa
| |
− | ;
| |
− | $TTL 86400 ; 1D
| |
− | @ IN SOA polonio.lan.curerocha.edu.uy. root.polonio.lan.curerocha.edu.uy. (
| |
− | 2011060901 ; Serial yyyy/mm/dd/id
| |
− | 6H ; Refresh
| |
− | 1D ; Retry
| |
− | 1W ; Expire
| |
− | 1D ) ; Negative Cache TTL
| |
− | ;
| |
− | @ IN NS polonio.lan.curerocha.edu.uy.
| |
− | @ IN PTR polonio.lan.curerocha.edu.uy.
| |
− | 101 IN PTR Secretaria01.lan.curerocha.edu.uy.
| |
− | </pre>
| |
− |
| |
− | $ sudo vi/etc/bind/db.10.5.5
| |
− |
| |
− | <pre>
| |
− | ;
| |
− | ; Archivo BIND de definición de zona inversa 5.5.10.in-addr.arpa
| |
− | ;
| |
− | $TTL 86400 ; 1D
| |
− | @ IN SOA polonio.lan.curerocha.edu.uy. root.polonio.lan.curerocha.edu.uy. (
| |
− | 2011060901 ; Serial yyyy/mm/dd/id
| |
− | 6H ; Refresh
| |
− | 1D ; Retry
| |
− | 1W ; Expire
| |
− | 1D ) ; Negative Cache TTL
| |
− | ;
| |
− | @ IN NS polonio.lan.curerocha.edu.uy.
| |
− | @ IN PTR polonio.lan.curerocha.edu.uy.
| |
− | 102 IN PTR Delegados01.lan.curerocha.edu.uy.
| |
− | 103 IN PTR Docentes01.lan.curerocha.edu.uy.
| |
− | </pre>
| |
− |
| |
− |
| |
− | Editamos el archivo /etc/reslov.conf
| |
− |
| |
− | En este archivo se indica el dominio al que pertenece el ordenador (palabra clave search) y la dirección del servidor de nombres (palabra clave nameserver) al que se debe dirigir.
| |
− | Cuando se intente resolver un nombre que no esté totalmente cualificado se intentará generar un nombre válido añadiendo la entrada de search.
| |
− |
| |
− | $ sudo vi /etc/resolv.conf
| |
− |
| |
− | search lan.curerocha.edu.uy
| |
− | domain lan.curerocha.edu.uy
| |
− | nameserver 127.0.0.1
| |
− |
| |
− | == Verificación ==
| |
− |
| |
− | * Vaciar el cache y reiniciar el servicio
| |
− |
| |
− | $ sudo rndc flush && /etc/init.d/bind9 restart
| |
− |
| |
− | Stopping domain name service... bind9 [ OK ]
| |
− | Starting domain name service... bind9 [ OK ]
| |
− |
| |
− | * Ademas de decir ok hay que verificar que realmente este funcionando observando el syslog, donde se puede observar como se cargan correctamente todas las zonas
| |
− |
| |
− | $ sudo tail /var/log/syslog
| |
− |
| |
− | <pre>
| |
− | Jun 17 18:26:17 polonio-server named[20250]: zone 0.in-addr.arpa/IN: loaded serial 1
| |
− | Jun 17 18:26:17 polonio-server named[20250]: zone 1.5.10.in-addr.arpa/IN: loaded serial 2011060901
| |
− | Jun 17 18:26:17 polonio-server named[20250]: zone 2.5.10.in-addr.arpa/IN: loaded serial 2011060901
| |
− | Jun 17 18:26:17 polonio-server named[20250]: zone 4.5.10.in-addr.arpa/IN: loaded serial 2011060901
| |
− | Jun 17 18:26:17 polonio-server named[20250]: zone 5.5.10.in-addr.arpa/IN: loaded serial 2011060901
| |
− | Jun 17 18:26:17 polonio-server named[20250]: zone 127.in-addr.arpa/IN: loaded serial 1
| |
− | Jun 17 18:26:17 polonio-server named[20250]: zone 255.in-addr.arpa/IN: loaded serial 1
| |
− | Jun 17 18:26:17 polonio-server named[20250]: zone localhost/IN: loaded serial 2
| |
− | Jun 17 18:26:17 polonio-server named[20250]: zone lan.curerocha.edu.uy/IN: loaded serial 2011060903
| |
− | Jun 17 18:26:17 polonio-server named[20250]: running
| |
− | </pre>
| |
− |
| |
− | * Comando host
| |
− |
| |
− | $ host -a lan.curerocha.edu.uy
| |
− |
| |
− | <pre>
| |
− | Trying "lan.curerocha.edu.uy"
| |
− | ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65008
| |
− | ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
| |
− |
| |
− | ;; QUESTION SECTION:
| |
− | ;lan.curerocha.edu.uy. IN ANY
| |
− |
| |
− | ;; ANSWER SECTION:
| |
− | lan.curerocha.edu.uy. 360 IN SOA polonio.lan.curerocha.edu.uy. root.polonio.lan.curerocha.edu.uy. 2011060903 21600 86400 604800 600
| |
− | lan.curerocha.edu.uy. 360 IN NS polonio.lan.curerocha.edu.uy.
| |
− | lan.curerocha.edu.uy. 360 IN A 10.5.2.2
| |
− |
| |
− | ;; ADDITIONAL SECTION:
| |
− | polonio.lan.curerocha.edu.uy. 360 IN A 10.5.2.2
| |
− |
| |
− | Received 133 bytes from 10.5.2.2#53 in 1 ms
| |
− | </pre>
| |
− |
| |
− | $ host polonio
| |
− | polonio.lan.curerocha.edu.uy has address 10.5.2.2
| |
− |
| |
− | $ host Equipo01
| |
− | Equipo01.lan.curerocha.edu.uy has address 10.5.1.101
| |
− |
| |
− | $ host 10.5.1.101
| |
− | 101.1.5.10.in-addr.arpa domain name pointer Equipo01.lan.curerocha.edu.uy.
| |
− |
| |
− |
| |
− | == Referencias: ==
| |
− |
| |
− |
| |
− | * [http://linuxsilo.net/articles/bind.html http://linuxsilo.net/articles/bind.html]
| |
− |
| |
− | * [http://www.javcasta.com/2011/05/09/ubuntu-servidor-dns-cache-para-una-red-local-lan-stub-con-bind9/ http://www.javcasta.com/2011/05/09/ubuntu-servidor-dns-cache-para-una-red-local-lan-stub-con-bind9/]
| |
− |
| |
− | * [http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-bind-zone.html http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-rg-es-4/s1-bind-zone.html]
| |