¡Hola Amigos!. Aquí estamos con la tercera entrega de la serie, y hoy estará dedicada a los que prefieran o necesiten el Bind9 como Servidor de Nombres de Dominio, y del Isc-DHCP-Server para la asignación automática de direcciones IP y otros aspectos más.
En éste caso, configuraremos ambos servicios de forma que el servidor DHCP actualice las zonas del servidor DNS. No confundamos al servicio Dinamyc Domain Name Server con ésta solución, aunque se acostumbre llamarla DNS Dinámico, pues el servidor DHCP actualiza de forma dinámica a las zonas del DNS que se le indiquen.
Los que quieran tener una detallada guía sobre cómo implementar y configurar un DNS, favor y visiten Cómo instalar y configurar un DNS Maestro Primario para una LAN en Debian 6.0 (I), o descarguen el compendio Artículos de instalación y configuración de un DNS todo en 1.
Recomendamos lean las dos partes anteriores de la serie antes de continuar:
- Servicio de Directorio con LDAP. Introducción.
- Servicio de Directorio con LDAP [2]: NTP y dnsmasq.
Por otra parte, en la Aldea WWW encontramos libros, manuales, ayudas acompañantes y demás literatura, sobre el ¿cómo se hace? para instalar y configurar éstos servicios. También podemos hacer uso del paquete WebMin para la instalación, configuración y administración de ellos y de otros servicios más. Es una herramienta de administración vía web En Extremo Potente. ¡Cuidado al emplearla!. 🙂 La aplicación la puede descargar desde aquí.
¿Cuál debo utilizar: el DNSMasq o el DNS/DHCP?
Caballeros, esa selección queda a criterio de cada cual. El DNSMasq está concebido para pequeñas redes, aunque hay que tener en cuenta que una red con 250 máquinas o menos, se considera pequeña.
Siempre recordemos que en una red, sólo debe existir un servidor DHCP autoritario.
Red de ejemplo
Lan: 10.10.10.0/24
Dominio: amigos.cu
Servidor: mildap.amigos.cu
Sistema Operativo Servidor: Debian 6 "Squeeze
Dirección IP del servidor: 10.10.10.15
Cliente 1: debian7.amigos.cu
Cliente 2: raring.amigos.cu
Cliente 3: suse13.amigos.cu
Cliente 4: seven.amigos.cu
Instalemos y configuremos el Bind9
La mayoría de lo que escribiremos a continuación son comandos de consola, por lo cual y en lo adelante, usaremos ese estilo siempre que sea posible. De paso, ahorramos espacio. 🙂
Declaración de los repositorios, actualización del sistema, e instalación del Bind9:
~# nano /etc/apt/sources.list # Mínimo estos repositorios. Declaramos acorde a lo que tenemos. deb http://mihost.midominio/debian6/squeeze/ squeeze main contrib deb http://mihost.midominio/debian6/squeeze-security/ squeeze/updates main contrib deb http://mihost.midominio/debian6/squeeze-updates/ squeeze-updates main contrib :~# aptitude update :~# aptitude upgrade :~# aptitude install bind9 dnsutils
Configuremos y comprobemos cada cambio:
:~# nano /etc/resolv.conf search amigos.cu nameserver 127.0.0.1 ----------------------------------------------- :~# nano /etc/bind/named.conf acl mired { 127.0.0.0/8; 10.10.10.0/24; }; include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; include "/etc/bind/named.conf.default-zones"; ----------------------------------------------- :~# named-checkconf -z :~# service bind9 restart :~# cat /etc/bind/rndc.key key "rndc-key" { algorithm hmac-md5; secret "3nG8BU/IEe4lS189SV27ng=="; }; ----------------------------------------------- :~# nano /etc/bind/named.conf.options options { directory "/var/cache/bind"; // forwarders { // 0.0.0.0; // }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; allow-query { mired; }; }; key "rndc-key" { algorithm hmac-md5; secret "3nG8BU/IEe4lS189SV27ng=="; }; controls { inet 127.0.0.1 allow { localhost; 10.10.10.15; } keys { rndc-key; }; }; ----------------------------------------------- :~# named-checkconf -z :~# service bind9 restart ------------------------------------------------ :~# nano /etc/bind/named.conf.local zone "amigos.cu" { type master; file "amigos.cu.hosts"; allow-update { key "rndc-key"; }; }; zone "10.10.10.in-addr.arpa" { type master; file "10.10.10.rev"; allow-update { key "rndc-key"; }; }; ----------------------------------------------- :~# named-checkconf -z :~# service bind9 restart :~# cp /etc/bind/db.local /var/cache/bind/amigos.cu.hosts ----------------------------------------------- :~# nano /var/cache/bind/amigos.cu.hosts ; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA mildap.amigos.cu. root.mildap.amigos.cu. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS mildap.amigos.cu. ; mildap IN A 10.10.10.15 gandalf IN A 10.10.10.1 miwww IN A 10.10.10.5 ------------------------------------------------- :~# named-checkzone amigos.cu /var/cache/bind/amigos.cu.hosts :~# service bind9 restart :~# dig amigos.cu ns :~# dig amigos.cu axfr :~# cp /etc/bind/db.127 /var/cache/bind/10.10.10.rev -------------------------------------- :~# nano /var/cache/bind/10.10.10.rev ; ; BIND reverse data file for local loopback interface ; $TTL 604800 @ IN SOA mildap.amigos.cu. root.mildap.amigos.cu. ( 1 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS mildap.amigos.cu. ; 15 IN PTR mildap.amigos.cu. 1 IN PTR gandalf.amigos.cu. 5 IN PTR miwww.amigos.cu. ---------------------------------------------------------------------- :~# named-checkzone 10.10.10.in-addr.arpa /var/cache/bind/10.10.10.rev :~# named-checkconf -z :~# named-checkconf -p :~# service bind9 restart =================================== Si no tenemos conexión con Internet ==================================== :~# cp /etc/bind/db.root /etc/bind/db.root.original :~# cp /dev/null /etc/bind/db.root :~# named-checkconf -z :~# named-checkconf -p :~# service bind9 restart :~# rndc reload server reload successful
Instalemos y configuremos el Isc-DHCP-Server
:~# aptitude install isc-dhcp-server -------------------------------------- :~# nano /etc/default/isc-dhcp-server # On what interfaces should the DHCP server (dhcpd) serve DHCP requests? # Separate multiple interfaces with spaces, e.g. "eth0 eth1". INTERFACES="eth1" --------------------------------------- :~# cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.original --------------------------------------- :~# nano /etc/dhcp/dhcpd.conf key rndc-key { secret "3nG8BU/IEe4lS189SV27ng=="; algorithm hmac-md5; } server-identifier mildap.amigos.cu; ddns-update-style interim; ddns-updates on; ddns-domainname "amigos.cu"; ddns-rev-domainname "in-addr.arpa."; ignore client-updates; authoritative; option domain-name "amigos.cu"; option ntp-servers 10.10.10.15; zone amigos.cu. { primary 10.10.10.15; key rndc-key; } zone 10.10.10.in-addr.arpa. { primary 10.10.10.15; key rndc-key; } subnet 10.10.10.0 netmask 255.255.255.0 { option netbios-name-servers 10.10.10.15; option netbios-node-type 8; option domain-name-servers 10.10.10.15; option routers 10.10.10.1; range 10.10.10.200 10.10.10.250; } -------------------------------------------------- :~# service isc-dhcp-server start
Comprobaciones en un cliente
Hasta aquí los dos servicios funcionan correctamente. Hagamos entonces las comprobaciones desde un cliente. En éste caso, tomaremos al cliente debian7.amigos.cu. Nos conectaremos a él mediante el protocolo ssh:
root@mildap:~# ssh debian7 root@debian7's password: Linux debian7 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 [----] root@debian7:~# ifconfig eth0 Link encap:Ethernet HWaddr 52:54:00:8f:ee:f6 inet addr:10.10.10.200 Bcast:10.10.10.255 Mask:255.255.255.0 [----] root@debian7:~# dig amigos.cu axfr [---] amigos.cu. 604800 IN SOA mildap.amigos.cu. root.mildap.amigos.cu. 3 604800 86400 2419200 604800 amigos.cu. 604800 IN NS mildap.amigos.cu. debian7.amigos.cu. 21600 IN TXT "0047c481c633aee670d1f8874855f942e3" debian7.amigos.cu. 21600 IN A 10.10.10.200 gandalf.amigos.cu. 604800 IN A 10.10.10.1 mildap.amigos.cu. 604800 IN A 10.10.10.15 miwww.amigos.cu. 604800 IN A 10.10.10.5 amigos.cu. 604800 IN SOA mildap.amigos.cu. root.mildap.amigos.cu. 3 604800 86400 2419200 604800 ;; Query time: 5 msec ;; SERVER: 10.10.10.15#53(10.10.10.15) ;; WHEN: Sun Feb 2 17:03:23 2014 ;; XFR size: 8 records (messages 1, bytes 258) root@debian7:~# dig 10.10.10.in-addr.arpa axfr [----] 10.10.10.in-addr.arpa. 604800 IN SOA mildap.amigos.cu. root.mildap.amigos.cu. 2 604800 86400 2419200 604800 10.10.10.in-addr.arpa. 604800 IN NS mildap.amigos.cu. 1.10.10.10.in-addr.arpa. 604800 IN PTR gandalf.amigos.cu. 15.10.10.10.in-addr.arpa. 604800 IN PTR mildap.amigos.cu. 200.10.10.10.in-addr.arpa. 21600 IN PTR debian7.amigos.cu. 5.10.10.10.in-addr.arpa. 604800 IN PTR miwww.amigos.cu. 10.10.10.in-addr.arpa. 604800 IN SOA mildap.amigos.cu. root.mildap.amigos.cu. 2 604800 86400 2419200 604800 ;; Query time: 5 msec ;; SERVER: 10.10.10.15#53(10.10.10.15) ;; WHEN: Sun Feb 2 17:04:42 2014 ;; XFR size: 7 records (messages 1, bytes 235)
Y podemos realizar cuantas comprobaciones más queramos o necesitemos.
Y ésto es todo por hoy. La próxima entrega será la de Instalar y configurar el servidor OpenLDAP. ¡Hasta pronto, amigos!
Y otro post más para marcadores, deberías considerar publicar un libro pdf estilo el de Alcance Libre. Slds.
Gracias dhunter, pero escribir un libro como el del Maestro José Barrios Dueñas, está fuera de mi alcance. Ese libro, ajustado a la forma de Debian, lo he seguido y está fuera de serie. Se necesita mucho conocimiento y tiempo para escribir algo que se le aproxime.
No sabes cuanto trabajo paso en comentar con mi super lenta conexión a la Aldea WWW. 🙂
Saludos
… perdón, del Maestro Joel Barrios Dueñas. Ahora si. Siempre me confundo. Los años. 🙂
Muy bueno el tutorial. Y por cierto, estaré haciendo unos experimentos para poder hacer un servidor de juegos F2P privados como Gunbound (precisamente, casi todos los de Softnyx) como éste, pero en GNU/Linux >> http://hackzvip.obolog.com/video-tutorialcomo-crear-servidor-gunbound-season-2-565871
Muy buen aporte. Esperaré el de Openldap…
Muy bueno amigo lo tratare de propar en un ambiente no productivo
saludos