Bind9 View

10
 Lic. Ixen Rodríguez Pérez GNU/Linux Proud User #313158 [email protected] Cómo configurar un servidor DNS BIND 9 con vistas. Un poco de historia. En la may oría de las red es mode rnas, incl uyen do Inte rnet, los usu ario s loca liza n otras máquinas por su nombre. Esto los exonera de la tediosa tarea de recordar la dirección IP de los recur sos de red. La for ma más efectiv a de confi gurar una red par a permi tir tales conexiones basadas en nombres, es configurando un DNS o servidor de nombres de dominio, el cual resuelve los nombres de anfitriones en la red a direcciones IP y viceversa. Existen varios tipos de configuraciones de servidores DNS. Los más comunes son: primario (master), secundario ( slave) y de solo caché ( caching-only ). Un servidor de nombres BIND 9 puede funcionar como uno o más de estos tipos. Por ejemplo, puede ser primario para algunas zonas, secundario para otras y só lo ofrecer el reen vío de resoluc iones para otras. Las vistas ( views) son una nueva caracterís tic a de BIND 9 que permite mostrar a los ordenadores de la red local una visión distinta de la jerarquía de nombres de DNS de la que se ve desde el exterior. Este tipo de configuración, llamada en ocasiones " DNS partido" (split DNS) se está haciendo muy popular. En el pasado, se implementaba configurando servido res DNS separados para las versiones interna y externa de la realidad. Los clientes locales apuntaban a los servidores de distribución que contenían la versión interna de la zona, mientras que los registros NS de la zona padre apuntaban a servidores que corrían la versión externa. La realidad. T enie ndo en cuenta las polí tica s de seg urid ad info rmát ica, es recomen dabl e que cada servicio que ofrezcamos a nuestros usuarios y en especial a los usuarios de Internet, sea instalado y configurado en servidores distintos. La realidad de nuestro país nos obliga en la mayoría de los casos a hacer caso omiso; siendo posible ejecutar varios servicios en un mismo ordenador, aún cuando no constituya uno con hardware específico para tal función. Esto podemos log rar lo gra cia s a las facil ida des de rendimi ento que nos of recen las distribuciones de sistema operativo GNU/Linux, sin dejar a un lado las obvias razones de seguridad que ello representa. El pollo del arroz con pollo. Paso a paso. Con anterioridad implementamos un servidor DNS BIND 9  dentro de una jaula de seguridad (chroot jail ), hoy veremos los pasos para hacer funcionar el servicio DNS en un PC con dos interfaces de red, que al mismo tiempo ofrece este servicio a redes completamente distintas, una interna y otra externa.  A los efectos de este minitutor ial, la interfaz de red eth0 estará de cara a una red externa, como pue de ser Int erne t; y la interf az eth1 brindará el servicio a la red local de nuestra 1

Transcript of Bind9 View

5/17/2018 Bind9 View - slidepdf.com

http://slidepdf.com/reader/full/bind9-view 1/10

Lic. Ixen Rodríguez PéreGNU/Linux Proud User #31315

[email protected]

Cómo configurar un servidor DNS BIND 9 con vistas.

Un poco de historia.

En la mayoría de las redes modernas, incluyendo Internet, los usuarios localizan otramáquinas por su nombre. Esto los exonera de la tediosa tarea de recordar la dirección IP d

los recursos de red. La forma más efectiva de configurar una red para permitir taleconexiones basadas en nombres, es configurando un DNS o servidor de nombres de domini

el cual resuelve los nombres de anfitriones en la red a direcciones IP y viceversa.

Existen varios tipos de configuraciones de servidores DNS. Los más comunes son: primar

(master), secundario (slave) y de solo caché (caching-only). Un servidor de nombre

BIND 9 puede funcionar como uno o más de estos tipos. Por ejemplo, puede ser primari

para algunas zonas, secundario para otras y sólo ofrecer el reenvío de resoluciones par

otras.

Las vistas (views) son una nueva característica de BIND 9 que permite mostrar a lo

ordenadores de la red local una visión distinta de la jerarquía de nombres de DNS de la qu

se ve desde el exterior. Este tipo de configuración, llamada en ocasiones "DNS partid

(split DNS) se está haciendo muy popular. En el pasado, se implementaba configurand

servidores DNS separados para las versiones interna y externa de la realidad. Los cliente

locales apuntaban a los servidores de distribución que contenían la versión interna de lzona, mientras que los registros NS de la zona padre apuntaban a servidores que corrían

versión externa.

La realidad.

Teniendo en cuenta las políticas de seguridad informática, es recomendable que cadservicio que ofrezcamos a nuestros usuarios y en especial a los usuarios de Internet, seinstalado y configurado en servidores distintos. La realidad de nuestro país nos obliga en lmayoría de los casos a hacer caso omiso; siendo posible ejecutar varios servicios en umismo ordenador, aún cuando no constituya uno con hardware específico para tal funció

Esto podemos lograrlo gracias a las facilidades de rendimiento que nos ofrecen ladistribuciones de sistema operativo GNU/Linux, sin dejar a un lado las obvias razones d

seguridad que ello representa.

El pollo del arroz con pollo. Paso a paso.

Con anterioridad implementamos un servidor DNS BIND 9 dentro de una jaula de segurida

(chroot jail), hoy veremos los pasos para hacer funcionar el servicio DNS en un PC co

dos interfaces de red, que al mismo tiempo ofrece este servicio a redes completamentdistintas, una interna y otra externa.

 A los efectos de este minitutorial, la interfaz de red eth0 estará de cara a una red extern

como puede ser Internet; y la interfaz eth1 brindará el servicio a la red local de nuestr

5/17/2018 Bind9 View - slidepdf.com

http://slidepdf.com/reader/full/bind9-view 2/10

organización. Para ambas redes el servidor  BIND 9 será del tipo primario (master) y

dominio DNS a administrar llevará como nombre linuxij.cu.

1.- Configurar los parámetros de red.

# vi /etc/network/interfaces

- Modificar el fichero /etc/resolv.conf. En algunos casos deberá ser creado.

# vi /etc/resolv.conf

- Reiniciar el servicio de red:

# invoke-rc.d networking restart ó /etc/init.d/networking restart

- Editar los archivos /etc/host.conf, añadiendo la sentencia nospoof on para impedir

falsificación o duplicación de nombres de anfitrión (hostname); y /etc/hosts, añadiendo

dirección IP, nombre FQDN (fully qualified domain name) y alias por cada interfa

de red existente.

# vi /etc/host.conf

# vi /etc/hosts

5/17/2018 Bind9 View - slidepdf.com

http://slidepdf.com/reader/full/bind9-view 3/10

- Ejecutar:

# echo “ns.linuxij.cu” > /etc/hostname

# /etc/init.d/hostname.sh start

Posteriormente ejecutamos los comandos hostname y hostname -f, debiéndose obten

para ambos casos el mismo resultado: ns.linuxij.cu.

2.- Traducir nombres de anfitriones (hostnames) a direcciones IP.

Si abrimos con un editor de textos el archivo /etc/bind/named.conf que viene po

defecto con la instalación, y que es el fichero principal de configuración del servidor  DN

BIND 9, encontraremos que solo se hacen referencias o inclusiones a 3 fichero

/etc/bind/named.conf.options , /etc/bind/named.conf.local

/etc/bind/named.conf.default-zones .

- El primer paso es editar el fichero /etc/bind/named.conf.options , dond

cambiaremos algunos de los valores por defecto y añadiremos todo lo necesario para qunuestro dominio sea visible desde el exterior y dentro de la red local.

 A menos que seamos un proveedor de servicios de Internet, se nos habrán proporcionaduna o más direcciones IP de servidores DNS estables, que seguramente querremos usa

como redireccionadores (forwarders). Para ello deberemos descomentar el bloqu

correspondiente, eliminando los signos “//”:

// forwarders {// 0.0.0.0;// };

Y dejarlo en algo como esto:

forwarders {200.55.128.3; 200.55.128.4;

};

Donde las IP corresponden a nuestro ISP, en este caso ETECSA. Esta directiva le indica

nuestro servidor que pase a otro servidor de nombres todas las peticiones para las cuales nes el autorizado o no tiene la respuesta en caché. Si no son especificados, se usarán loservidores raíz (root-servers) de DNS. Otra opción interesante de BIND 9 (dentro de

directiva options y finalizada en punto y coma) es: version “ “;, que ocultaría la versió

del paquete BIND que se está ejecutando, en aras de una mayor seguridad del sistema.

Por el momento, nuestro fichero /etc/bind/named.conf.options quedaría así:

5/17/2018 Bind9 View - slidepdf.com

http://slidepdf.com/reader/full/bind9-view 4/10

Como se puede observar la cláusula listen-on { }; muestra una lista de direcciones I

separadas por “;” que especifica aquellas por las cuales el servidor  DNS escuchará la

peticiones de los clientes. Los servidores DNS escuchan peticiones por el puerto UDP 53

TCP 53 para la transferencia de zonas.

- Seguidamente debemos editar el fichero /etc/bind/named.conf.local , dond

añadiremos las vistas interior (red local) y exterior (red externa o Internet) de los registros dzonas canónicas e inversas para nuestro dominio DNS.

Se define por "interior" y "exterior" con respecto al encaminador (router) que da salida

una determinada organización a Internet. Por ejemplo, le permite revelar todos los hosts

los usuarios internos pero restringir la vista externa a unos pocos servidores de confianza. podría ofrecer los mismos hosts en ambas vistas pero proporcionar registros adicionales

diferentes a los usuarios internos.

La sentencia view de BIND 9 simplifica la configuración permitiendo tener juntos ambo

conjuntos de datos en la misma copia de named, que busca correspondencias en listas d

direcciones para adivinar qué clientes deben recibir qué datos.La sentencia view empaqueta una lista de acceso que controla quién ve la vista, alguna

opciones que se aplican a todas las zonas en la vista y, finalmente, las propias zonas. Lsintaxis es:

view "nombre-de-la-vista" {match-clients { quienes_puede_ver_la_vista; };opciones-de-vista;sentencias-de-zona { };

};

La cláusula match-clients controla qué hosts pueden ver la vista. Las vistas so

procesadas en orden secuencial, por lo que las más restrictivas deben ir primero. Las zona

en distintas vistas pueden tener el mismo nombre. Las vistas son una proposición de todo nada; si se usan, todas las sentencias de zonas (zones) en el fiche

/etc/bind/named.conf deben aparecer dentro del contexto de una vista.

Para poder utilizar las vistas, hay que editar el fichero /etc/bind/named.con

comentando la sentencia include "/etc/bind/named.conf.default-zones"

(anteponiendo los signos “//” delante), que hace referencia al conjunto de zona

relacionadas con el localhost, el broadcast y los root-servers.

5/17/2018 Bind9 View - slidepdf.com

http://slidepdf.com/reader/full/bind9-view 5/10

# vi /etc/bind/named.conf

De esta forma solo utilizaríamos el fichero /etc/bind/named.conf.local para introduclas zonas que queremos administrar. En nuestro caso, debe lucir así:

# vi /etc/bind/named.conf.local

Se puede observar que se hace referencia a la sentencia localnetwork que no es má

que una lista de control de acceso (acl) que contiene al segmento de red correspondiente

la red local. Esta acl debe ser añadida al fichero /etc/bind/named.conf.options

quedando así:

5/17/2018 Bind9 View - slidepdf.com

http://slidepdf.com/reader/full/bind9-view 6/10

También se incluye el fichero /etc/bind/localhost.zones que contiene los registros d

zonas directas e inversas para localhost, así como las zonas de difusión (broadcast)

descubrimiento de servidores de primer nivel (root-servers), permitiendo a nuest

servidor DNS tener autoridad sobre dichas zonas. Para crear este fichero solo hacemos u

enlace simbólico de named.conf.default-zones con nombre localhost.zone

ejemplo:

# ln -s /etc/bind/named.conf.default-zones /etc/bind/localhost.zones

Este fichero luce así:

5/17/2018 Bind9 View - slidepdf.com

http://slidepdf.com/reader/full/bind9-view 7/10

- Ahora debemos crear los ficheros de bases de datos que contienen la información tanto dlas zonas de la vista interior como exterior.

# vi /etc/bind/db.linuxij_internal

# vi /etc/bind/db.linuxij-rev_internal

# vi /etc/bind/db.linuxij_external

5/17/2018 Bind9 View - slidepdf.com

http://slidepdf.com/reader/full/bind9-view 8/10

# vi /etc/bind/db.linuxij-rev_external

3.- Reiniciar el servicio DNS (invoke-rc.d bind9 restart) y comprobar que tod

funciona como esperamos.

5/17/2018 Bind9 View - slidepdf.com

http://slidepdf.com/reader/full/bind9-view 9/10

5/17/2018 Bind9 View - slidepdf.com

http://slidepdf.com/reader/full/bind9-view 10/10

Las imágenes hablan por sí mismas. Esto es todo amigos, nos volveremos a encontrar parseguir explorando el impresionante mundo del sistema operativo GNU/Linux.

Referencias.

- http://www.tldp.org/HOWTO/DNS-HOWTO.html- http://www.ubuntu-es.org/index.php?q=node/96034

- http://elblogdewhilo.blogspot.com/2008/10/bind9-con-vistas-para-dos-redes.html- http://cauchy.bdat.net/dns/bind-9/DNS-HOWTO-9-es/

1