Professional Documents
Culture Documents
Notas previas a la instalacin: Debemos de tomar en cuenta que nuestro VBox est en este laboratorio tras un servidor proxy-cach, por tanto si instalamos esta VM y le asignamos en el wizard de instalacin la direccin del proxy todo nuestro entorno saldr nicamente a travs de esa direccin por tanto nuestras consultas DNS, DHCP, NIS, NFS SAMBA, entre otros, sern enviadas a esa direccin y ser imposible la comunicacin con los equipos de nuestra Vnet y con el localhost inclusive. En primera instancia necesitaremos de una NIC configurada como NAT para comunicarnos con la red real y poder as instalar los paquetes necesarios en nuestra puesta en marcha del DNS con BIND9, esta misma NIC ser cambiada posterior a la instalacin por una Internal Network, para comunicarnos con los clientes. Luego de instalar el equipo ( preferiblemente sin entorno grfico ) deberemos de configurar el proxy nicamente para el gestor de repositorios APT.
Paso 1 Vamos abrir el fichero de las interfaces de red para asignar la ip a nuestro servidor de la siguiente manera: #nano /etc/network/interfaces
Paso 2 Configuramos el fichero hosts para generar la bsqueda local de nombre de dominio, esto para que el servidor ante un fallo del BIND puede seguir resolviendo su nombre y as hacerle troubleshooting de una forma accesible #nano /etc/hosts
Paso 3 Le indicamos al sistema que de no resolver por medio del BIND el mtodo de respaldo ser el fichero hosts, previamente configurado. # nano /etc/host.conf
Paso 4 Finalmente le indicamos nuestro dominio de bsqueda y la ip de nuestros DNSs (se soportan hasta tres en la misma lnea), en el fichero resolv.conf #nano /etc/resolv.conf
Paso 5 Reiniciamos el daemon de red para que se aplique nuestra configuracin y comprobamos que se haya aplicado. Primera forma #/etc/init.d/networking restart En caso de no funcionar ifdown interface ifup interface ** Interface sera nuestra NIC
Si se observa con detalle nuestros ficheros pertenecen al usuario root excepto el fichero rndc.key, el cual guarda la llave a autenticacin para el servicio dinmico de nuestro BIND, este fichero ser nicamente operado por el usuario bind. Los ficheros con nombre db.* pertenecen al root y a su grupo, esto porque ellos conforman nuestra base de datos bsica de resolucin del BIND. Los ficheros de nombre named.* son los ficheros de configuracin del servicio NAMED (nombre anterior del BIND), en los cuales definiremos nuestra nueva zona y su reversa.
CAMBIAR USUARIO Y GRUPO PROPIETARIO DE LOS FICHEROS # chown bind:bind /etc/bind/db.dominio # chown bind:bind /etc/bind/db.A.B.C Ej: # chown bind:bind /etc/bind/db.jpgonzalezj # chown bind:bind /etc/bind/db.192.168.12
Instalacin y configuracin de un BIND9 esttico en Debian GNU/Linux 6 Jos Pedro Gonzlez Jimnez
CONSIDERACIONES RESPALDAR LOS FICHEROS ANTES DE MODIFICARLOS RESPETAR ESPACIOS, SIGNOS, CARACTERES DE COMENTARIO y/o TABULACIONES RECUERDEN MEDIR DOS VECES Y CORTAR SOLO UNA Paso 1 Debemos de agregar algunas lneas al fichero named.conf.local, en este fichero vamos a crear nuestra bsqueda directa e inversa (ms conocidas en la calle como la zona y la reversa). ABRIMOS EL FICHERO CON NUESTRO EDITOR DE TEXTO #nano /etc/bind/named.conf.local AGREGAMOS NUESTRA ZONA DE BSQUEDA DIRECTA zone dominio.ext { type master; file filename; notify yes; }; ** ZONE = indica el nombre del dominio que vamos a usar. ** TYPE = Indica si esta zona es MASTER (DNS Principal) o SLAVE (DNS Secundario). ** FILE = Por defecto el fichero ser buscado en la ubicacin indicada, si solo se indica el filename se buscar por defecto en /var/cache/bind, que se encuentra establecida en named.conf.options. ** NOTIFY = Genera las notificaciones de actualizacin en el fichero /var/log/messages, que es el log por defecto del SO, si no se indica se tomar como parmetro un no.
AGREGAMOS NUESTRA ZONA DE BSQUEDA INVERSA zone C.B.A.in-addr.arpa { type master; file filename; notify yes; }; ** ZONE = En esta oportunidad se hace referencia a un registro de direcciones IP para las cuales tenemos A.B.C.D como los octetos de red, los cuales debern de colocarse de forma inversa tomando en cuenta su wildcard, por tanto si la red es de clase: A.in-addr.arpa B.A.in-addr.arpa C.B.A.in-addr.arpa ** RECUERDEN QUE SI HAY SUBREDES DE POR MEDIO DEBE DE TOMARSE EN CUENTA LA DIRECCION DE RED Y DE BROADCAST QUEDANDO NUESTRO FICHERO DE LA SIGUIENTE MANERA // // Do any local configuration here // // Consider adding the 1918 zones here, if they are not used in your // organization //include "/etc/bind/zones.rfc1918";
Paso 3 Finalmente entraremos al fichero named.conf.options y cambiaremos la ruta de trabajo por la ruta en la cual se desea sea donde se ubiquen los ficheros de zona y reversa. ** ESTE PASO NO ES NECESARIO NI OBLIGATORIO PERO CONLLEVARA A CAMBIOS EN NUESTRA CONFIGURACIN, PERO TAMPOCO ES MUCHO EL CAMBIO ABRIMOS EL FICHERO CON NUESTRO EDITOR DE TEXTO #nano /etc/bind/named.conf.options CAMBIAMOS NUESTRO DIRECTORIO DE TRABAJO directory /var/cache/bind
** En caso de no cambiar esta ruta deber de darse la propiedad del directorio /var/cache/bind al usuario bind y al grupo bind con permisos 755
Instalacin y configuracin de un BIND9 esttico en Debian GNU/Linux 6 Jos Pedro Gonzlez Jimnez
ABRIMOS NUESTRO ARCHIVO DE ZONA DIRECTA #nano /etc/bind/db.dominio EL FICHERO DEBERA DE QUEDAR CONFIGURADO CON LA SIGUIENTE SINTAXIS @ IN SOA servername.dominio.ext. adminname.dominio.ext ( 1 ; NMERO DE SERIE 21600 ; 6 HORAS DE REFRESCAMIENTO 3600 ; 1 HORA PARA REINTENTAR 604800 21600 ) NS servername.dominio.ext. ; 1 SEMANA PARA LA EXPIRACIN ; 6 HORAS DE TIEMPO DE VIDA MNIMO
;; SERVIDORES Y EQUIPO ACTIVO servername A A.B.C.D ;; CLIENTES clientname-XX A A.B.C.D ;;CLIENTE AGREGADO A MANO
hostname
** @ = contendr al valor del dominio para agregarlo al final del hostname y as convertirlos en nombres de dominio si el hostname no termina en punto. ** NS = Indica quin es el Name Server ** ;;CLIENTES = El DNS esttico debe de responder ante los registros (A) aunque ese nombre no sea de ningn equipo o esa ip no pertenezca a nadie. ** CNAME = si se consulta por alguno de los alias responder el host al que se apunta, esto permite llamar a los equipos de diferentes maneras.
QUEDANDO DE LA SIGUIENTE MANERA @ IN SOA virtual-debian.jpgonzalezj.com. 1 ; serial 21600 ; refresh (6 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 21600 ; minimum (6 hours) ) NS virtual-debian.jpgonzalezj.com.
root.jpgonzalezj.com. (
A A
192.168.12.2 192.168.12.3
;;CANONICAL NAMES www IN CNAME ldap IN CNAME nfs-server IN CNAME samba-server IN CNAME
Ejemplos y errores: virtual-debian A 192.168.12.1 (CORRECTO) virtual-debian.jpgonzalezj.com. A 192.168.12.1 (CORRECTO) ENTONCES virtual-debian + @ = virtual-debian.jpgonzalezj.com. virtual-debian. jpgonzalezj.com. + @ = virtual-debian.jpgonzalezj.com. SIN PUNTO AL FINAL DEL HOSTNAME virtual-debian. A 192.168.12.1 (DEVUELVE SOLO EL HOSTNAME) ENTONCES virtual-debian. + @ = virtual-debian. SIN PUNTO AL FINAL DEL DOMAINNAME virtual-debian.jpgonzalezj.com A 192.168.12.1 (DOBLE DOMAIN Y EXT) ENTONCES virtual-debian.jpgonzalezj.com + @ = virtual-debian.jpgonzalezj.com.jpgonzalezj.com.
Instalacin y configuracin de un BIND9 esttico en Debian GNU/Linux 6 Jos Pedro Gonzlez Jimnez
ABRIMOS NUESTRO ARCHIVO DE ZONA INVERSA #nano /etc/bind/db.A.B.C EL FICHERO DEBERA DE QUEDAR CONFIGURADO CON LA SIGUIENTE SINTAXIS @ IN SOA servername.dominio.ext. adminname.dominio.ext ( 1 ; NMERO DE SERIE 21600 ; 6 HORAS DE REFRESCAMIENTO 3600 ; 1 HORA PARA REINTENTAR 604800 21600 ) NS servername.dominio.ext. ; 1 SEMANA PARA LA EXPIRACIN ; 6 HORAS DE TIEMPO DE VIDA MNIMO
;; SERVIDORES Y EQUIPO ACTIVO D PTR hostname.dominio.ext. ;;CLIENTES D D PTR PTR hostname.dominio.ext. hostname.dominio.ext.
** @ = contendr al valor del C.B.A.in-addr.arpa. para agregarlo al final del hostname y as convertirlos en nombres de dominio si el hostname no termina en punto. ** NS = Indica quin es el Name Server ;;CLIENTES = El DNS esttico debe de responder ante los registros (PTR) aunque ese nombre no sea de ningn equipo o esa ip no pertenezca a nadie.
QUEDANDO DE LA SIGUIENTE MANERA @ IN SOA virtual-debian.jpgonzalezj.com. 1 ; serial 21600 ; refresh (6 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 21600 ; minimum (6 hours) ) NS virtual-debian.jpgonzalezj.com.
root.jpgonzalezj.com. (
;;SERVIDORES Y EQUIPO ACTIVO 1 PTR virtual-debian.jpgonzalezj.com. ;;CLIENTES 2 PTR ejemplo-01.jpgonzalezj.com. 3 PTR ejemplo-02.jpgonzalezj.com.
Ejemplos y errores: 1 PTR virtual-debian. (CORRECTO) 1 PTR virtual-debian.jpgonzalezj.com. (CORRECTO) ENTONCES 1 + @ = virtual-debian.jpgonzalezj.com. 1 + @ = virtual-debian.jpgonzalezj.com. SIN PUNTO AL FINAL DEL HOSTNAME 1 PTR virtual-debian (DEVUELVE EL HOSTNAME + ARPA) ENTONCES 1 + @ = virtual-debian.12.168.192.in-addr.arpa. SIN PUNTO AL FINAL DEL DOMAINNAME 1 PTR virtual-debian.jpgonzalezj.com (DOMAIN Y EXT + ARPA) ENTONCES 1 + @ = virtual-debian.jpgonzalezj.com. 12.168.192.in-addr.arpa.
Instalacin y configuracin de un BIND9 dinmico en Debian GNU/Linux 6 Jos Pedro Gonzlez Jimnez
CONSIDERACIONES RESPALDAR LOS FICHEROS ANTES DE MODIFICARLOS RESPETAR ESPACIOS, SIGNOS, CARACTERES DE COMENTARIO y/o TABULACIONES RECUERDEN MEDIR DOS VECES Y CORTAR SOLO UNA Paso 1 Debemos de agregar algunas lneas al fichero named.conf, este es el fichero principal del BIND, antes era el nico pero se separ para volver ms fcil la administracin del mismo. ABRIMOS EL FICHERO CON NUESTRO EDITOR DE TEXTO #nano /etc/bind/named.conf AGREGAMOS LAS LLAVES DE AUTENTICACIN include /etc/bind/rndc.key; ** Si abrimos el fichero rndc.keys encontraremos una llave cifrada con MD5 la cual ser la que se har cargo de la actualizacin dinmica del BIND cuando lo integremos con el DHCP. AGREGAMOS LOS CONTROLES DE AUTENTICACIN controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { rndc-key; }; }; ** Esta estructura se har cargo de la autenticacin de las actualizaciones seguras en nuestra BDs cuando un cliente tome una IP por DHCP, nuestro server ser el nico sistema capaz de hacer esta actualizacin haciendo un loopback en el puerto 953 (esto para agregar que ningn equipo pueda acceder a este puerto, tambin se puede usar la direccin IP de la NIC de conexin a la red pero, esto se deja al puerto abierto para consultas remotas) y utilizando la llave rndc-key del fichero rndc.keys
Paso 2 Nuestra prxima vctima es el fichero named.conf.local, en este fichero vamos a crear nuestra bsqueda directa e inversa (ms conocidas en la calle como la zona y la reversa). ABRIMOS EL FICHERO CON NUESTRO EDITOR DE TEXTO #nano /etc/bind/named.conf.local AGREGAMOS NUESTRA ZONA DE BSQUEDA DIRECTA zone dominio.ext { type master; file filename; allow-update { key keyname; }; notify yes; }; ** ZONE = indica el nombre del dominio que vamos a usar.
** TYPE = Indica si esta zona es MASTER (DNS Principal) o SLAVE (DNS Secundario). ** FILE = Por defecto el fichero ser buscado en la ubicacin indicada, si solo se indica el filename se buscar por defecto en /var/cache/bind, que se encuentra establecida en named.conf.options. ** ALLOW-UPDATE = Indica la llave de autenticacin keyname que pongamos en el fichero rndc.keys, solo se consulta para actualizaciones dinmicas. ** NOTIFY = Genera las notificaciones de actualizacin en el fichero /var/log/messages, que es el log por defecto del SO, si no se indica se tomar como parmetro un no. AGREGAMOS NUESTRA ZONA DE BSQUEDA INVERSA zone C.B.A.in-addr.arpa { type master; file filename; allow-update { key keyname; }; notify yes; }; ** ZONE = En esta oportunidad se hace referencia a un registro de direcciones IP para las cuales tenemos A.B.C.D como los octetos de red, los cuales debern de colocarse de forma inversa tomando en cuenta su wildcard, por tanto si la red es de clase: A) B) C) A.in-addr.arpa B.A.in-addr.arpa C.B.A.in-addr.arpa
** RECUERDEN QUE SI HAY SUBREDES DE POR MEDIO DEBE DE TOMARSE EN CUENTA LA DIRECCION DE RED Y DE BROADCAST
Paso 3 Finalmente entraremos al fichero named.conf.options y cambiaremos la ruta de trabajo por la ruta en la cual se desea sea donde se ubiquen los ficheros de zona y reversa. ** ESTE PASO NO ES NECESARIO NI OBLIGATORIO PERO CONLLEVARA A CAMBIOS EN NUESTRA CONFIGURACIN, PERO TAMPOCO ES MUCHO EL CAMBIO ABRIMOS EL FICHERO CON NUESTRO EDITOR DE TEXTO #nano /etc/bind/named.conf.options
** En caso de no cambiar esta ruta deber de darse la propiedad del directorio /var/cache/bind al usuario bind y al grupo bind con permisos 755
Instalacin y configuracin de un BIND9 dinmico en Debian GNU/Linux 6 Jos Pedro Gonzlez Jimnez
ABRIMOS NUESTRO ARCHIVO DE ZONA DIRECTA #nano /etc/bind/db.dominio EL FICHERO DEBERA DE QUEDAR CONFIGURADO CON LA SIGUIENTE SINTAXIS $ORIGIN . $TTL 86400 ; 24 HORAS DE TIEMPO DE VIDA dominio.ext IN SOA servername.dominio.ext. adminname.dominio.ext ( 1 ; NMERO DE SERIE 21600 3600 604800 21600 ) NS servername.dominio.ext. ; 6 HORAS DE REFRESCAMIENTO ; 1 HORA PARA REINTENTAR ; 1 SEMANA PARA LA EXPIRACIN ; 6 HORAS DE TIEMPO DE VIDA MNIMO
** $ORIGIN = Indicar el nombre del dominio para los equipos que se conecten, agreguen o consulten. ** @ = contendr al valor del $ORIGIN para agregarlo al final del hostname y as convertirlos en nombres de dominio si el hostname no termina en punto.
Instalacin y configuracin de un BIND9 dinmico en Debian GNU/Linux 6 Jos Pedro Gonzlez Jimnez
ABRIMOS NUESTRO ARCHIVO DE ZONA INVERSA #nano /etc/bind/db.A.B.C EL FICHERO DEBERA DE QUEDAR CONFIGURADO CON LA SIGUIENTE SINTAXIS $ORIGIN . $TTL 86400 ; 24 HORAS DE TIEMPO DE VIDA C.B.A.ina-addr.arpa. IN SOA servername.dominio.ext. adminname.dominio.ext ( 1 21600 3600 604800 21600 ) NS servername.dominio.ext. ; NMERO DE SERIE ; 6 HORAS DE REFRESCAMIENTO ; 1 HORA PARA REINTENTAR ; 1 SEMANA PARA LA EXPIRACIN ; 6 HORAS DE TIEMPO DE VIDA MNIMO
** $ORIGIN = Indicar el nombre del dominio para los equipos que se conecten, agreguen o consulten. ** @ = contendr al valor del $ORIGIN para agregarlo al final del hostname y as convertirlos en nombres de dominio si el hostname no termina en punto. ** NS = Indica quin es el Name Server
QUEDANDO DE LA SIGUIENTE MANERA $ORIGIN . $TTL 86400 ; 1 DIA COMO TIEMPO DE VIDA 12.168.192.in-addr.arpa. IN SOA virtual-debian.jpgonzalezj.com. root.jpgonzalezj.com. ( 200811131 ; serial 21600 ; refresh (6 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 21600 ; minimum (6 hours) ) NS virtual-debian.jpgonzalezj.com.
PARA LA REVERSA
CON EL DIG
Una vez que ya tenemos configurado este fichero nuestras asignaciones de IPs podrn ser repartidas a los clientes (recuerden que esta interface deber de ser la que se comunique con la red en la cual se encuentren nuestros cliente, esto en caso de que el sistema tenga 2 o ms NICs) Lo que acontece es configurar el daemon y crear nuestro pool de direcciones, para ello vamos a respaldar el fichero dhcpd.conf, vaciarlo por completo y finalmente abrirlo con nano para editarlo EJECUTAMOS #cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak #echo > /etc/dhcp/dhcpd.conf #nano /etc/dhcp/dhcpd.conf
EL FICHERO DEBER DE QUEDAR CON LA SIGUENTE SINTAXIS ## CONFIGURACION DEL DHCP default-lease-time 3600; max-lease-time 86400; authoritative; ## POOL DE DIRECCIONES subnet SUBNET_IP netmask SUBNET_MASK { range FIRST_IP LAST_IP; option option option option } QUEDANDO ASI routers GATEWAY_IP; domain-name "dominio.ext."; domain-name-servers DNS_IP; broadcast-address BOADCAST_IP;
Una vez que ya tenemos configurado este fichero nuestras asignaciones de IPs podrn ser repartidas a los clientes (recuerden que esta interface deber de ser la que se comunique con la red en la cual se encuentren nuestros cliente, esto en caso de que el sistema tenga 2 o ms NICs) Lo que acontece es configurar el daemon y crear nuestro pool de direcciones, para ello vamos a respaldar el fichero dhcpd.conf, vaciarlo por completo y finalmente abrirlo con nano para editarlo EJECUTAMOS #cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak #echo > /etc/dhcp/dhcpd.conf #nano /etc/dhcp/dhcpd.conf
EL FICHERO DEBER DE QUEDAR CON LA SIGUENTE SINTAXIS ## ACTUALIZACION DEL BIND9 server-identifier servername; ddns-updates on; ddns-update-style interim; ddns-domainname "dominio.ext."; ddns-rev-domainname "in-addr.arpa."; deny client-updates; include zone dominio.ext. { primary 127.0.0.1; key rndc-key; } zone C.B.A.in-addr.arpa. { primary 127.0.0.1; key rndc-key; } ## CONFIGURACION DEL DHCP default-lease-time 3600; max-lease-time 86400; authoritative; ## POOL DE DIRECCIONES subnet SUBNET_IP netmask SUBNET_MASK { range FIRST_IP LAST_IP; option routers GATEWAY_IP; option domain-name "dominio.ext."; option domain-name-servers DNS_IP; option broadcast-address BOADCAST_IP; } "/etc/bind/rndc.key";
QUEDANDO ASI ## ACTUALIZACION DEL BIND9 server-identifier virtual-debian; ddns-updates on; ddns-update-style interim; ddns-domainname "jpgonzalezj.com."; ddns-rev-domainname "in-addr.arpa."; deny client-updates; include zone jpgonzalezj.com. { primary 127.0.0.1; key rndc-key; } zone 12.168.192.in-addr.arpa. { primary 127.0.0.1; key rndc-key; } ## CONFIGURACION DEL DHCP default-lease-time 3600; max-lease-time 86400; authoritative; ## POOL DE DIRECCIONES subnet 192.168.12.0 netmask 255.255.255.0 { range 192.168.12.11 192.168.12.230; option routers 192.168.2.254; option domain-name "jpgonzalezj.com."; option domain-name-servers 192.168.12.1; option broadcast-address 192.168.12.255; } "/etc/bind/rndc.key";
Al igual que todos los daemons o servicios que nos encontremos en Linux/UNIX debemos de reiniciarlo despus de configurarlo, en caso de que el reinicio sea fallido podremos revisar los errores si en una terminal abrimos el log del sistema en tiempo real y reiniciamos el daemon en otra. EJECUTAMOS EN UNA TERMINAL #echo > /var/log/messages EN OTRA TERMINAL EJECUTAMOS #/etc/init.d/isc-dhcp-server restart
** El fichero dhcpd.leases no se toca durante la configuracin pero al agregar un cliente con configuracin de red automtica en este fichero se agregar su informacin en conjunto con la IP asignada y la MAC del cliente
COMPROBACION En el caso del DNS Dinmico el crear dos ficheros con extensin JNL en el directorio bind, los cuales se llamarn: db.dominio.jnl db.A.B.C.jnl TROUBLESHOOTNG En caso de que estos ficheros no sean creados debemos de otorgar