1. Skip to Menu
  2. Skip to Content
  3. Skip to Footer>

Interesante

  • Cómo instalar NIS + NFS

    Procedimientos

    En el Servidor para poner NIS

    1. domainname nombre-de-dominio
    2. cd /var/yp
    3. mkdir nombre-de-dominio
    4. service portmap restart
    5. service ypserv restart
    6. service ypbind restart
    7. make
    8. En el servidor deben de estar seleccionados los servicios para arrancar desde inicio                                                                                                                                             
      • ypserv
      • ypbind
      • portmap
                        
                                
                      

    En el cliente para escuchar NIS

    1. En gnome seleccionar Aplicaciones -> System settings -> Authentication
    2. Marcar la casilla "Enable NIS Support"
    3. Seleccionar "Configure NIS..."
    4. En NIS Domanin escribir el nombre del dominio NIS creado
    5. En NIS Servidor ponr la ip del Servidor NIS
    6. En el servidor deben de estar seleccionados los servicios para arrancar desde inicio                                                                           
      1. ypbind
      2. portmap                                                  


    Ahora la parte NFS del Servidor

    1. como root cd /home
    2. mkdir nfs (aqui van a quedar todos los homes de los usuarios creados)
    3. cd /etc
    4. vi exports
    5. Agregar la siguiente linea

      /home/nfs rango.de.ips.de.red(rw,sync,no_root_squash)
      En mi caso particular la linea se ve asi:
      /home/nfs/ 192.168.1.*(rw,sync,no_root_squash)
    6. Reiniciar el demonio nfs con service nfs restart
    7. Los servicios que deben inicarse en el arranque para NFS son                                                                                      
      • netfs
      • nfs
      • nfslock
      • portmap

                         

                             

    Ahora la parte NFS en el cliente

    1. como root cd /etc
    2. vi fstab
    3. agregar la siguiente linea
      192.168.1.1:/home/nfs   /home/nfs    nfs   defaults    0 0
    4. mount -a
    5. Los servicios que deben inicarse en el arranque para NFS son                                                                                                          
      • netfs
      • nfs
      • nfslock
      • portmap

                                            

                          

    Agregando usuarios en el Servidor NIS

    La parte importante de agregar los usuarios en el NIS Servidor, es que, su directorio home no debe de quedar dentro de /home, sino dentro de /home/nfs/usuario.

    Con la utileria "Users & Groups", al agregar al usuario ejemplo, le decimos que su direcotorio personal quede dentro de /home/nfs/ejemplo.

    En el Servidor, es importante loggearse como el usuario recien creado, para que despues sea disponible en cualquier equipo de la red.

    Despues de loggearse y salir de la session como el usuario recien creado, el siguiente paso es (como root)

    1. cd /var/yp
    2. make
    3. service portmap restart
    4. service ypserv restart
    5. service ypbind restart
    6. Ir a la maquina cliente y loggearse como el usuario recien creado en el NIS Servidor. Todo debe de funcionar.


    Fuente:

    Kwame
    daniel arroba informatux.net
    http://www.informatux.net/
    Original: LinuxParaTodos

    Copyright.

    © 2003 Kwame. Se permite la libre distribución y modificación de este documento por cualquier medio y formato mientras esta leyenda permanezca intacta junto con el documento y la distribución y modificación se hagan de de acuerdo con los términos de la Licencia Pública General GNU publicada por la Free Software Fundation; sea la versión 2 de la licencia o (a su elección) cualquier otra posterior. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

    Technorati Tags:
    >>

  • Cómo configurar un Servidor DNS djbdns
    Este pequeño tutorial está destinado para todos los que quieran montar un simple servidor DNS con esta óptima herramienta llamada Djbdns, fue basado en Openbsd, pero también sirve para las plataformas Linux, FreeBSD y etc...


  • Configurar Prism2 / Orinoco en Gentoo
    Como configurar una tarjeta con chipset orinoco o prism2 en Gentoo.

    Gentileza de valenciawireless.

  • Cómo configurar un servidor NFS

    Configurar un servidor NFS.

    Introducción.

    NFS, acrónimo de Network File System, es un popular protocolo utilizado para compartir volúmenes entre máquinas dentro de una red de manera transparente, más comúnmente utilizado entre sistemas basados sobre UNIX®. Es útil y fácil de utilizar, sin embargo no en vano es apodado cariñosamente como "No File Security". NFS no utiliza un sistema de contraseñas como el que tiene SAMBA, solo una lista de control de acceso determinada por direcciones IP o nombres. Es por esto que es importante que el administrador de la red local o usuario entienda que un servidor NFS puede ser un verdadero e inmenso agujero de seguridad si este no es configurado apropiadamente e implementado detrás de un contrafuegos o firewall.

    Personalmente, solo recomiendo utilizar NFS dentro de una red local detrás de un contrafuegos o firewall que permita el accesos solo a las máquinas que integren la red local, nunca para compartir sistemas de archivos a través de Internet. Al no contar con un sistema de autenticación por contraseñas, es un servicio susceptible del ataque de algún cracker. SAMBA es un mucho mejor y más seguro protocolo para compartir sistemas de archivos.

    Procedimientos.

    Teniendo en cuenta los aspectos de seguridad mencionados, es importante que siga los procedimientos descritos a continuación al pie de la letra, y que posteriormente se comprometa también consultar a detalle la documentación incluida en el paquete nfs-utils, ya que este le proporcionará información adicional y completa sobre aspectos avanzados de configuración y utilización.

    Configurando el servidor NFS.

    Se requiere tener instalados nfs-utils y portmap. Preguntaremos al sistema si estos están instalados con la siguiente línea de comando:

    rpm -q nfs-utils portmap

    Lo cual debe de regresar algo como lo siguiente:

    nfs-utils-0.3.1-13.7.2.1
    portmap-4.0-38

    En caso de que falte alguno de estos paquetes, inserte el CD de instalación en la unidad correspondiente, abra una terminal o consola y ejecute lo siguiente:

    mount /mnt/cdrom/
    rpm -Uvh /mnt/cdrom/RedHat/RPMS/paquete_faltante

    Cabe mencionar que lo mejor será siempre utilizar la versiones de nfs-utils y portmap más actuales. Salvo por RedHat® Linux 7.1 o LinuxPPP 7.x, el resto de las versiones anteriores de RedHat® y LinuxPPP® incluyen paquetes de nfs-utils y portmap con serios agujeros de seguridad. Visite el servidor ftp de la distribución utilizada y descargue los paquetes actualizados, que seguramente incluirán los parches de seguridad necesarios:

                        

                           

    Configurando la seguridad.

    Lo siguiente será configurar un nivel de seguridad para portmap. Esto se consigue editando los ficheros /etc/hosts.allow y /etc/hosts.deny. Debemos especificar que direcciones IP o rango de direcciones IP pueden acceder a los servicios de portmap y quienes no pueden hacerlo. Podemos entonces determinar en /etc/hosts.allow como rango de direcciones IP permitidas los siguiente:

    portmap:192.168.1.0/255.255.255.0

    Esto corresponde a la dirección IP de la red completa y la máscara de la sub-red. Adicionalmente podemos especificar direcciones IP individuales sin necesidad de establecer una máscara. Esto es de utilidad cuando se desea compartir volúmenes con otras máquinas en otras redes a través de Internet. Ejemplo:

    portmap:192.168.1.0/255.255.255.0
    portmap:192.168.20.25
    portmap:192.168.30.2
    portmap:216.200.152.96
    portmap:148.240.28.171

    Una vez determinado que direcciones IP pueden acceder a portmap, solo resta determinar quienes no pueden hacerlo. Evidentemente nos referimos al resto del mundo, y esto se hace agregando la siguiente línea:

    portmap:ALL

    Es importante destacar que la línea anterior es INDISPENSABLE y NECESARIA si quiere tener un nivel de seguridad decente. De manera predeterminada las versiones más recientes de nfs-utils no permitirán iniciar el servicio si esta línea no se encuentra presente en /etc/hosts.deny.

    Una vez configurado portmap, debe reiniciarse el servicio de portmap:

    /sbin/service portmap restart

    Si tiene un DNS, de de alta las direcciones IP asociadas a un nombre o bien edite /etc/hosts y agregue las direcciones IP asociadas con un nombre. Esto nos servirá como listas de control de accesos. Ejemplo del fichero /etc/hosts:

    127.0.0.1 localhost.localdomain localhost
    192.168.1.254 servidor.mi-red-local.org servidor
    192.168.1.2 algun_nombre.mi-red-local.org algun_nombre
    192.168.1.3 otro_nombre.mi-red-local.org otro_nombre
    192.168.1.4 otro_nombre_mas.mi-red-local.org otro_nombre_mas
    192.168.1.5 como_se_llame.mi-red-local.org como_se_llame
    192.168.1.6 como_sea.mi-red-local.org como_sea
    192.168.1.7 lo_que_sea.mi-red-local.org lo_que_sea

    Compartir un volumen NFS.

    Procederemos a determinar que directorio se va a compartir. Puede crear también uno nuevo:

    mkdir -p /var/nfs/publico

    Una vez hecho esto, necesitaremos establecer que directorios en el sistema serán compartidos con el resto de las máquinas de la red, o bien a que máquinas, de acuerdo al DNS o /etc/hosts se permitirá el accesos. Esto deberemos agregarlos en /etc/exports determinado con que máquinas y en que modo lo haremos. Se puede especificar una dirección IP o bien nombre de alguna máquina, o bien un patrón común con comodín para definir que máquinas pueden acceder. De tal modo podemos utilizar el siguiente ejemplo (la separación de espacios se hace con un tabulador):

    /var/nfs/publico *.mi-red-local.org(ro,sync)

    En el ejemplo anterior se esta definiendo que se compartirá /var/nfs/publico/ a todas las máquinas cuyo nombre, de acuerdo al DNS o /etc/hosts, tiene como patrón común mi-red-local.org, en modo de lectura escritura. Se utilizó un asterisco (*) como comodín, seguido de un punto y el nombre del dominio. Esto permitirá que como_se_llame.mi-red-local.org, como_sea.mi-red-local.org, lo_que_sea.mi-red-local.org, etc., podrán acceder al volumen /var/nfs/publico/ en modo solo lectura. Si queremos que el accesos a este directorio sea en modo de lectura y escritura, cambiamos (ro) por (rw):

    /var/nfs/publico *.mi-red-local.org(rw,sync)

    Ya que se definieron los volúmenes a compartir, solo resta iniciar o reiniciar el servicio nfs. Utilice cualquiera de las dos líneas dependiendo el caso:

    /sbin/service nfs start
    /sbin/service nfs restart

    A fin de asegurarnos de que el servicio de nfs esté habilitado la siguiente vez que se encienda el equipo, debemos ejecutar lo siguiente:

    /sbin/chkconfig --level 345 nfs on

    El comando anterior hace que se habilite nfs en los niveles de corrida 3, 4 y 5.

    Como medida de seguridad adicional, si tiene un contrafuegos o firewall implementado, cierre, para todo aquello que no sea parte de su red local, los puertos tcp y udp 2049, ya que estos son utilizados por NFS para escuchar peticiones.

    Configurando las máquinas clientes.

    Para probar la configuración, es necesario que las máquinas clientes se encuentren definidas en el DNS o en el fichero /etc/hosts del servidor. Si no hay un DNS configurado en la red, deberán definirse los nombres y direcciones IP correspondientes en el fichero /etc/hosts de todas las máquinas que integran la red local.

    Como root, en el equipo cliente, ejecute el siguiente comando para consultar los volúmenes exportados (-e) a través de NFS por un servidor en particular:

    showmount -e 192.168.1.254

    Lo anterior mostrará una lista con los nombres y rutas exactas a utilizar. Ejemplo:

    Export list for 192.168.1.254:
    /var/nfs/publico 192.168.1.0/24

    A continuación creamos, como root, desde cualquier otra máquina de la red local un punto de montaje:

    mkdir /mnt/servidornfs

    Y para proceder a montar el volumen remoto, utilizaremos la siguiente línea de comando :

    mount servidor.mi-red-local.org:/var/nfs/publico /mnt/servidornfs

    Si por alguna razón en el DNS de la red local, o el fichero /etc/hosts de la máquina cliente, decidió no asociar el nombre de la máquina que fingirá como servidor NFS a su correspondiente dirección IP, puede especificar ésta en lugar del nombre. Ejemplo:

    mount -t nfs 192.168.1.254:/var/nfs/publico /mnt/servidornfs

    Podremos acceder entonces a dicho volumen remoto con solo cambiar al directorio local definido como punto de montaje, del mismo modo que se haría con un disquete o una unidad de CDROM:

    cd /mnt/servidornfs

    Si queremos poder montar este volumen NFS con una simple línea de comando o bien haciendo doble clique en un icono sobre el escritorio, será necesario agregar la correspondiente línea en /etc/fstab. Ejemplo:

    servidor.mi-red-local.org:/var/nfs/publico /mnt/servidornfs nfs user,exec,dev,nosuid,rw,noauto 0 0

    La línea anterior especifica que el directorio /var/nfs/publico/ de la máquina servidor.mi-red-local.org será montado en en directorio local /mnt/servidor/nfs, permitiéndole a los usuarios el poder montarlo, en modo de lectura y escritura y que este volumen no será montado durante el arranque del sistema. Esto último es de importancia, siendo que si el servidor no está encendido al momento de arrancar la máquina cliente, este se colgará durante algunos minutos.

    Una vez agregada la línea en /etc/fstab de la máquina cliente, si utiliza GNOME Midnight Commander, el administrador de archivos de GNOME-1.1 y 1.2, solo restará iniciar una sesión gráfica, hacer clique derecho sobre el escritorio y seleccionar Actualizar dispositivos o Rescan devices. Esto colocará un icono adicional sobre el escritorio que deberá ser tratado del mismo modo que se haría con un disquete o unidad de CDROM.

    Icono para volumen NFS

    Si utiliza GNOME-1.4 o superior, éste incorpora Nautilus como administrador de archivos, mismo que auto-detecta cualquier cambio en /etc/fstab. Solo debe hacerse clique derecho sobre el escritorio y debe seleccionarse el disco que se desee montar.

    Accesos a discos en Nautilus

    Instalación de GNU/Linux a través de un servidor NFS.

    Este es quizás el uso más común para un volumen NFS. Permite compartir un volumen que contenga una copia del CD de instalación de alguna distribución y realizar inclusive instalaciones simultáneas en varios equipos. Tiene como ventaja el que la instalación puede resultar más rápida que si se hiciese con un CDROM, siendo que la tasa de trasferencia de archivos será determinada por el ancho de banda de la red local, y nos permitirá instalar GNU/Linux en máquinas que no tengas unidad de CDROM.

    Una vez creado y configurado un volumen a compartir copiaremos todo el contenido del CD de instalación en éste:

    cp -r /mnt/cdrom/* /var/nfs/publico/

    En el directorio images del CD encontraremos varias imágenes para crear disquetes de arranque. Utilizaremos bootnet.img para crear el número de disquetes necesarios para cada máquina en la que realizaremos una instalación, y que nos permitirán acceder a la red. Inserte un disquete y ejecute lo siguiente:

    cd /var/nfs/publico/images/
    dd if=bootnet.img of=/dev/fd0 bs=1440k

    Añada en /etc/hosts, o bien de de alta en el DNS, las direcciones IP, que serán utilizadas por las nuevas máquinas, asociadas a un nombre con el dominio que específico como regla de control de acceso en /etc/exports -es decir *.mi-red-local.org-. Para /etc/hosts, puede quedar algo así:

    127.0.0.1 localhost.localdomain localhost
    192.168.1.254 servidor.mi-red-local.org servidor
    192.168.1.2 algun_nombre.mi-red-local.org algun_nombre
    192.168.1.3 otro_nombre.mi-red-local.org otro_nombre
    192.168.1.4 otro_nombre_mas.mi-red-local.org otro_nombre_mas
    192.168.1.5 como_se_llame.mi-red-local.org como_se_llame
    192.168.1.6 como_sea.mi-red-local.org como_sea
    192.168.1.7 lo_que_sea.mi-red-local.org lo_que_sea
    192.168.1.8 nueva_maquina.mi-red-local.org nueva_maquina
    192.168.1.9 otra_nueva_maquina.mi-red-local.org otra_nueva_maquina

    Utilice estos disquetes para arrancar en los equipos, ingrese una dirección IP y demás parámetros para esta máquina y cuando se le pregunte ingrese la dirección IP del servidor NFS y el directorio en éste donde se encuentra la copia del CD de instalación. El resto continuará como cualquier otra instalación.

    Autor: Joel Barrios Dueñas
    Correo electrónico: joelbarrios arroba linuxparatodos punto net
    Sitio de Red: http://www.linuxparatodos.net/

    Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

    (c) 1999-2005 Linux Para Todos. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.

    Technorati Tags:
    >>

  • Cómo crear una VPN en Linux con vpnd En este artículo vamos a explicar brevemente como crear una VPN (Red Privada Virtual) usando GNU/Linux y vpnd. Hemos creado este mini-howto porque para comunicar los nodos wireless, si estos no se ven directamente, es necesario crear túneles cifrados, a través de Internet ......
  • iptables y NAT para vagos
    Un muy buen artículo de Ricardo Galli Granada, publicado hace algún tiempo en www.bulma.net, que recupero aquí porque pienso que a más de uno le dará una idea de como proteger su red de forma rápida, sencilla y muy segura, además de hacer nat y masquerading.

20
Sep

Cómo configurar BIND

Escrito por J. Llorente

PDFImprimir E-mail

BIND es el servidor de nombres de dominio más popular en Internet, que trabaja en todas las plataformas informáticas principales y se caracteriza por su flexibilidad y seguridad. A continuación se puede encontrar tanto la teoría general de los servicios de DNS, como una explicación detallada de los campos y opciones de la configuración de BIND, ejemplos, opciones de seguridad, herramientas de verificación, ligas de información adicional y otras más.

 

Licencia

Por Hugo Madrid Luna (Crowley)
Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla
http://www.mexicoextremo.com.mx
URL: http://www.mexicoextremo.com.mx/content/view/423/62/
Se otorga el permiso para copiar, distribuir y modificar este documento bajo los términos de la Licencia de Documentación Libre del GNU (http://www.gnu.org/copyleft/fdl.html), versión 1.2 o cualquier otra posterior publicada por la Free Software Foundation;
este documento no consta de secciones invariantes ni con portadas o contraportadas.

 

Preliminares.

Para un mejor entendimiento de este tema, se recomienda conocer la teoría general del funcionamiento de Internet, además de nociones de administración de redes.

Los sistemas operativos para las pruebas de este manual fueron Fedora Core 2 con kernel 2.6.8 y Solaris 9; la versión de BIND fue la 9.2.3 en Linux y la 8.4.2 en Sun.

Introducción.

Domain Name Service (DNS) es el servicio que resuelve los nombres de dominio asociados a una dirección IP para direccionar las peticiones a un servidor en específico. Se utiliza cuando un nodo (o host) en Internet contacta a otro mediante el nombre de domino de la máquina y no por su dirección IP.

A través de este documento se verán las generalidades del servicio de resolución de nombres, la configuración y mantenimiento de un servicio de nombres con BIND, bajo la plataforma Linux, aunque la mayoría de estos conceptos se pueden aplicar a la cualquier servicio de DNS sobre otras plataformas.

Regularmente, todos los equipos que están en Internet o una Intranet tienen una dirección IP única que las identifica, generalmente dividido en cuatro segmentos u 'octetos', cuya representación es, por ejemplo, '172.29.183.217', pero el recordar todas las direcciones en este formato sería sumamente difícil, por lo que utilizamos los nombres de dominio para referenciarlos.

Existen varios productos que realizan esta función y en todas las plataformas, pero el más usado es BIND (Berkeley Internet Name Domain), que puede ser descargado libremente desde http://www.isc.org/index.pl?/sw/bind/, es distribuido bajo la GNU GPL y que al momento de escribir este documento, se encuentra en la versión 9.3.

Teoría sobre servidores de nombres de dominio.

Funciones de un servidor de dominio.

Estas varían de acuerdo a los nombres se que buscan resolver:

Soporte al dominio de Internet. Atiende las peticiones dirigidas a los servicios que se prestan desde adentro de la organización, como WEB, FTP y correo, hacia Internet. Se requiere que se identifiquen estos servidores como autoridades DNS por parte de NIC. Se recomienda tener dos de estos, lo más independiente posible el uno del otropor razones de seguridad.

Resolución local de nombres: Resuelve las peticiones de adentro de la LAN, eliminando la necesidad de conocer y actualizar programas y peticiones si se cambian las direcciones IP de los servidores. Aunque es posible, se recomienda mantener separado este servicio del anterior, por razones de seguridad.

Resolución de nombres por Internet. Es su forma más básica, que generalmente sólo tranfiere las peticiones a NIC en caso que el DNS principal no funcione.

No es necesario que se tengan las tres variaciones al mismo tiempo, sino que depende de las necesidades de la organización.

Estructura básica del DNS.

Esta es similar a un arbol, donde se tiene una raíz o root, los Dominios de Nivel Principal (Top Level Domains) y los dominios de segundo nivel, como se aprecia a continuación.

 

Estructura de los dominios

Básicamente, el servidor DNS que tenemos configurado busca dentro de su lista de nodos por el que preguntamos, en caso de desconocerlo refiere la petición a NIC, que a su vez la transfiere al servidor que resuelva los nombres del dominio solicitado.

Zonas.

Los nombres de dominio completamente calificados o FQDN (fully qualified domain name) se componen por lo general del nombre del host, un nombre de dominio secundario y un nombre de dominio primario o de nivel máximo (top-level domain), que son secciones organizadas jerárquicamente.

Por ejemplo: 'www.ejemplo.com'. Leyéndolo de derecha a izquierda tenemos un dominio primario ('COM'), un dominio secundario ('EJEMPLO') y el nombre del host ('WWW'). Algunos dominios primarios son:

  • org - Organizaciones no lucrativas.
  • com - Organizaciones lucrativas.
  • net - Organizaciones en Internet.
  • gob - Agencias gubernamentales en latinoamérica.
  • mx - Sufijo de México.
  • es - Sufijo de España.
                                                 
                     
                       
                                   
                           

           
               

Con excepción del nombre del host, cada sección es una 'zona', que controla los subdominios a su izquierda. Las zonas son archivos de texto que se alojan en los servidores de dominio primarios o maestros y que replican a los secundarios o esclavos, mismos que explicaremos más adelante.

Es importante diferenciar una 'zona' de un 'dominio'. La zona es un punto de delegación dentro del arbol del dominio (por ejemplo 'ejemplo.com.mx'), mientras que un dominio en si es el nombre dentro de la zona (por ejemplo, '.com'). Este tema es un poco confuso, ya que en realidad los servidores de resolución de nombres en realidad manejan zonas, no dominios.

Tipos de servidores.

Existen cuatro tipos diferentes de servidores de resolución de nombres:

  • Master (maestro o primario). Aloja los registros autoritarios de una zona, responde las peticiones de resolución de nombres como servidor de autoridad y delega copias a los servidores esclavo.
  • Slave (esclavo o secundario). Responde a las peticiones de resolución de nombres como servidor de autoridad, pero la información es distribuida por los servidores primarios. Se considera que como medida de seguridad, se requiere al menos uno de estos, preferentemente independiente de la infraestructura del primario (red, energia eléctrica y ubicación geográfica).
  • Caching-only (sólo de cache). Responde a las peticiones de resolución de nombres pero no es servidor de autoridad, las respuestas las guarda en memoria por un período determinado.
  • Forwarding (de reenvío). Reenvia las peticiones a una lista de servidores de nombres.

Tipos de registros.

Para ofrecer suficiente flexibilidad en la configuración, se pueden declarar diversos tipos de registros, que hacen referencia a la función del host. A continuación veremos los más importantes.

A (Address). Es el registro más usado, que define una dirección IP y el nombre asignado al host. Generalmente existen varios en un dominio.

MX (Mail eXchanger). Se usa para identificar servidores de correo, se pueden definir dos o más servidores de correo para un dominio, siendo que el orden implica su prioridad. Debe haber al menos uno para un dominio.

CNAME (Canonical Name). Es un alias que se asigna a un host que tiene una dirección IP valida y que responde a diversos nombres. Pueden declararse varios para un host.

NS (Name Server). Define los servidores de nombre principales de un dominio. Debe haber al menos uno y pueden declararse varios para un dominio.

SOA (Start Of Authority). Este es el primer registro de la zona y sólo puede haber uno en cada archivo de la zona y sólo está presente si el servidor es autoritario del dominio. Especifica el servidor DNS primario del dominio, la cuenta de correo del administrador y tiempo de refresco de los servidores secundarios.

Instalación y configuración de BIND.

Instalación.

Se puede efectuar de diversas formas, dependiendo de nuestro sistema operativo y preferencias.

Código fuente.

  1. Descarga el TARBALL desde el sitio oficial: http://www.isc.org/index.pl?/sw/bind/
  2. Descompacta el archivo y sigue las instrucciones de instalación, ya que varían según el sistema operativo.

RPM.

  1. En los discos de instalación de la distribución o en RPM Find (http://www.rpmfind.net) localiza los archivos de BIND (bind, bind-utils y bind-libs).
  2. Descárgalos y ejecuta rpm -Uvh bind-*.rpm

Administradores de instalaciones.

  1. APT: apt-get install bind
  2. YUM: yum install bind

Estructura del archivo de configuración.

A partir de la versión 8 de BIND, esta es la estructura principal de named.conf, con muy pequeñas modificaciones en la serie 9.

# Comentarios sobre este servidor



# Es recomendable indicar el nombre y dominio







options {



directory "/var/named";



allow-query {



any;



};



};







# Cache de NIC para inicializar los servicios



zone "." {



type hint;



file "named.ca";



};







# Zona de resolución inversa



zone "127.in-addr.arpa" {



type master;



file "named.inversa";



};







# Zona local, resolución para la interface lo



zone "local" {



type master;



file "named.local";



allow-update { none; };



}







# Zona para el dominio principal



zone "ejemplo.com" {



type master;



file "named.dominio";



};







# Zona para una red local



zone "red.10" {



type master;



file "named.red.10";



};







# Zona inversa para un segmento de red



zone "192.25.13.in-addr.arpa0" {



type master;



file "named.red.192";



};



Esta estructura de zonas son muy similares entre si, cambiando de acuerdo a las zonas que queremos resolver.

Algunas otras opciones que se pueden declarar son:

pid-file "named.pid";

notify yes; # Necesario para notificar a los esclavos

allow-query { "any; none; 10.24.23.0/24;" }; # Por defecto, se usa 'any'

query-source address * port 53; # Necesario cuando un firewall

# bloqueé otros puertos

forwarders { 123.12.40.17; }; # Reenvia las peticiones no

# resueltas a otro servidor

Estructura de los archivos de zona.

La primera entrada siempre es el SOA (start of authority), que indica la fuente de información para una zona, tiempos de refresco y otros, como vemos a continuación:

; SOA Start of Authority



;------------------------------



;



ejemplo.com. IN SOA dns.ejemplo.com. master.correo.ejemplo.com. (



2005072700 ; Serial



10800 ; Refresco de 3 horas



3600 ; Reintentos despues de 1 hora



604800 ; Expira después de 1 semana



86400 ) ; TTL mínimo de un día



En este ejemplo vemos primeramente el dominio a resolver, 'ejemplo.com.', se declara como DNS autoritario a 'dns.ejemplo.com.' y el segundo es la cuenta de correo del administrador, 'master.correo.ejemplo.com.' (sustituyéndo el primer punto por arroba, lo que dejaría ' Esta dirección electrónica esta protegida contra spam bots. Necesita activar JavaScript para visualizarla '). Debemos notar que al final de cada dominio viene un punto, que identifica la raíz de este. El resto de los parámetros son:

  • Serial: es un identificador del archivo, puede tener un valor arbitrario pero se recomienda que tenga la fecha con una estructura AAAA-MM-DD y un consecutivo.
  • Refresco: número de segundos que un servidor de nombres secundario debe esperar para comprobar de nuevo los valores de un registro.
  • Reintentos: número de segundos que un servidor de nombres secundario debe esperar después de un intento fallido de recuperación de datos del servidor primario.
  • Expiración: número de segundos máximo que los servidores de nombre secundarios retendrán los valores antes de expirarlos.
  • TTL mínimo: Significa Time To Live y es el número de segundos que los registros se mantienen activos en los servidores NS caché antes de volver a preguntar su valor real.

Una acepción más es el uso del arroba (@) como dominio a resolver, que referencía el nombre de la zona en named.conf, quedando de la siguiente manera.

; SOA Start of Authority


;------------------------------

;

@ IN SOA dns.ejemplo.com. master.correo.ejemplo.com. (

2005072700 ; Serial

10800 ; Refresco de 3 horas

3600 ; Reintentos despues de 1 hora

604800 ; Expira después de 1 semana

86400 ) ; TTL mínimo de un día


Otros componentes de los archivos de la zona autoritarios, que se explican por si mismos, son:

; NS Name Servers

;------------------------------

;

IN NS dns.ejemplo.com.

dns IN A 214.25.82.3


; MX Mail Exchangers

;-------------------------

;

@ IN MX 0 correo.ejemplo.com.

sede IN MX 0 correo.ejemplo.com. ; subdominio de correo virtual

matriz IN MX 0 matriz.ejemplo.com. ; servidor de correo alterno


; NAP Name-to-Address Mapping

;--------------------------

;

localhost A 127.0.0.1 ; No es obligatorio, pero se recomienda

www IN A 192.25.13.8

apps IN A 192.25.13.5

oracle IN A 192.25.13.6

correo IN A 192.25.13.7

portal IN CNAME www ; Este es un alias del host 'www'

Un caso más, que se aplica para el loopback, es el registro PTR (Domain Name Pointer), que indica a que dirección IP corresponde un nombre.

; A Address-to Name Mapping

;----------------------------

;

1 IN PTR localhost. ; Reverse lookup del equipo en 'named.inversa'

8 PTR www.ejemplo.com. ; Reverse lookup en 'named.red.192'

5 PTR apps.ejemplo.com. ; Reverse lookup en 'named.red.192'

6 PTR oracle.ejemplo.com. ; Reverse lookup en 'named.red.192'

Ejemplos de archivos de zona.

En base a las zonas mencionadas en el named.conf que vimos previamente y la estructura descrita, declaramos los siguientes archivos:

Zona del localhost.

# Nombre del archivo: named.local

# Reenvia las llamadas del DNS a la interfase lo

# No requiere modificarse en los servidores DNS

@ IN SOA localhost. root.localhost. (

2005072700 ; Serial

10800 ; Refresco de 3 horas

3600 ; Reintentos despues de 1 hora

604800 ; Expira después de 1 semana

86400 ) ; TTL mínimo de un día

IN NS localhost.

1 IN PTR localhost.

Zona del dominio externo (servidor principal o autoritario).

# Nombre del archivo: named.dominio



@ IN SOA localhost. root.localhost. (

2005072701 ; Serial

10800 ; Refresco de 3 horas

3600 ; Reintentos despues de 1 hora

604800 ; Expira después de 1 semana

86400 ) ; TTL mínimo de un día

; NS Name Servers

;------------------------------

;

IN NS dns.ejemplo.com.

dns IN A 214.25.82.3 ; DNS externo

; MX Mail Exchangers

;-------------------------

;

@ IN MX 0 correo.ejemplo.com.

sede IN MX 0 correo.ejemplo.com. ; subdominio de correo virtual

matriz IN MX 0 matriz.ejemplo.com. ; servidor de correo alterno

; NAP Name-to-Address Mapping

;--------------------------

;

localhost A 127.0.0.1 ; No es obligatorio, pero se recomienda

www IN A 192.25.13.8

apps IN A 192.25.13.5

oracle IN A 192.25.13.6

correo IN A 192.25.13.7

portal IN CNAME www ; Este es un alias del host 'www'

Zona de resolución inversa del dominio.

# Nombre del archivo: named.red.192

@ IN SOA localhost. root.localhost. (

2005072702 ; Serial

10800 ; Refresco de 3 horas

3600 ; Reintentos despues de 1 hora

604800 ; Expira después de 1 semana

86400 ) ; TTL mínimo de un día

; A Address-to Name Mapping

;----------------------------

;

IN NS dns.ejemplo.com.

8 PTR www.ejemplo.com.

5 PTR apps.ejemplo.com.

6 PTR oracle.ejemplo.com.

7 PTR correo.ejemplo.com.


Zona de cache distribuida por NIC.

# Nombre del archivo: named.ca







; This file holds the information on root name servers needed to



; initialize cache of Internet domain name servers



; (e.g. reference this file in the "cache . "



; configuration file of BIND domain name servers).



;



; This file is made available by InterNIC registration services



; under anonymous FTP as



; file /domain/named.root



; on server FTP.RS.INTERNIC.NET



; -OR- under Gopher at RS.INTERNIC.NET



; under menu InterNIC Registration Services (NSI)



; submenu InterNIC Registration Archives



; file named.root



;



; last update: Feb 28, 1997



; related version of root zone: 1997022800



;



;



; formerly NS.INTERNIC.NET



;



. 3600000 IN NS A.ROOT-SERVERS.NET.



A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4



;



; formerly NS1.ISI.EDU



;



. 3600000 NS B.ROOT-SERVERS.NET.



B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107



;



; formerly C.PSI.NET



;



. 3600000 NS C.ROOT-SERVERS.NET.



C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12



;



; formerly TERP.UMD.EDU



;



. 3600000 NS D.ROOT-SERVERS.NET.



D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90



;



; formerly NS.NASA.GOV



;



. 3600000 NS E.ROOT-SERVERS.NET.



E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10



;



; formerly NS.ISC.ORG



;



. 3600000 NS F.ROOT-SERVERS.NET.



F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241



;



; formerly NS.NIC.DDN.MIL



;



. 3600000 NS G.ROOT-SERVERS.NET.



G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4



;



; formerly AOS.ARL.ARMY.MIL



;



. 3600000 NS H.ROOT-SERVERS.NET.



H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53



;



; formerly NIC.NORDU.NET



;



. 3600000 NS I.ROOT-SERVERS.NET.



I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17



;



; temporarily housed at NSI (InterNIC)



;



. 3600000 NS J.ROOT-SERVERS.NET.



J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10



;



; temporarily housed at NSI (InterNIC)



;



. 3600000 NS K.ROOT-SERVERS.NET.



K.ROOT-SERVERS.NET. 3600000 A 198.41.0.11



;



; temporarily housed at ISI (IANA)



;



. 3600000 NS L.ROOT-SERVERS.NET.



L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12



;



; temporarily housed at ISI (IANA)



;



. 3600000 NS M.ROOT-SERVERS.NET.



M.ROOT-SERVERS.NET. 3600000 A 198.32.65.12



; End of File







En base a estos ejemplos, se pueden crear tantas zonas sean necesarias, vigilando en todo momento que las direcciones IP estén correctas.

Creación de servidores esclavo.

Se deben seguir los siguientes pasos para que las zonas del escalvo se sincronicen con el principal.

  1. Instalar BIND de forma normal.
  2. Copiar los archivos named.conf, named.local y named.ca del servidor principal al esclavo.
  3. En el archivo named.conf del servidor esclavo, cambiar las líneas que dicen 'type master' y escribir 'type slave' y declaramos la dirección IP del servidor principal, como mostramos en este ejemplo.
  4. # Zona de resolución inversa



    zone "127.in-addr.arpa" {



    type slave;



    file "named.inversa";



    masters { 192.168.196.2; } ; esta es la IP del DNS principal



    };











    # Zona para el dominio principal



    zone "ejemplo.com" {



    type slave;



    file "named.dominio";



    masters { 192.168.196.2; } ; esta es la IP del DNS principal



    }



  5. Modificamos el named.conf del servidor principal de la siguiente forma:
  6. # Comentarios sobre este servidor



    # Es recomendable indicar el nombre y dominio







    options {



    directory "/var/named";



    allow-transfer {



    10.25.13.12; # IP del DNS esclavo



    };




    notify yes;



    allow-query {



    any;



    };



    };



  7. Declaramos en los archivos de zona los dos servidores de nombre.
  8.  IN NS dns.ejemplo.com. ; DNS principal



    IN NS dnssec.ejemplo.com. ; DNS esclavo







    dns IN A 214.25.82.3 ; DNS principal



    dns2 IN A 214.25.82.15 ; DNS esclavo



En cuanto se inicie el servicio, deberá comenzar la sincronización de los servidores.

En caso de que los mensajes de sistema indiquen que se niega el permiso para escribir en las zonas al momento de sincronizar un esclavo con el principal, se deben de cambiar los permisos de la siguiente manera:

chmod 2775 /var/named/*

Administración del servicio

Arranque del servicio.

/etc/init.d/named start



- o -



service named start



Alto del sistema.

/etc/init.d/named stop



- o -



service named stop



Verificación del sistema.

ps -fea |grep named



- o -



service named status



Automatización al arranque del equipo.

chconfig -level 123 named on



Consideraciones al instalar servidores de dominio.

  • Por seguridad, se recomienda que el DNS interno y el externo estén en equipos separados.
  • Para asegurar la resolución del dominio, se deben tener al menos un servidor primario y un esclavo, de ser posible en diferentes ubicaciones.
  • Se requiere la existencia de al menos un registro MX, ya que algunos servicios antispam consideran su inexistencia como característica de dominios falsos.

Configuración de seguridad

Ocultando la versión de BIND.

Editar la sección 'options' de named.conf y adicionar la siguiente línea, luego reiniciar el servicio, de manera que no indique la versión en que trabaja:

options {



directory "/var/named";



allow-query {



any;



};



version "FOO";



};



Restringuiendo las zonas de transferencia.

Esto hace que sólo aquellos servidores esclavos que indiquemos puedan transferir las zonas, como vimos anteriormente.

options {



directory "/var/named";



allow-transfer {



10.25.13.12;



};



notify yes;



allow-query {



any;



};



};



Evitando spoofing.

Esto es útil principalmente para permitir que sólo un cierto segmento de red pueda hacer consultas (en los DNS internos), además que reduce el tráfico de peticiones por la red.

options {



directory "/var/named";



allow-transfer {



10.25.13.12;



};



notify yes;



allow-query {



10.25.13.0/24; localhost;



};



};







zone "red.10" {



type master;



file "named.red.10";



allow-query { any; };



};



Ejecutar named como un usuario 'enjaulado'.

La idea es evitar que el usuario que ejecuta el servicio pueda realizar cualquier otra acción fuera de su carpeta, para lo que se usa el paquete bind-chroot, que configura y ejecuta todo el servicio en /var/named/chroot.

Otros recursos.

Lecturas recomendadas.

         

Herramientas de diagnóstico.

Nombre
Descripción
Opciones
named-checkzoneHerramienta de validación de archivos de zonas.named-checkzone -djqv -c class zona archivo
Por ejemplo; named-checkzone -d ejemplo.com /var/named/named.ejemplo.com
named-checkconfHerramienta de validación del archivo de copnfiguración.named-checkconf -v -t directorio archivo
Por ejemplo; named-checkconf /etc/named.conf
dig(domain information groper). Utilería para realizar consultas en servidores DNS.dig [@global-server] [domain] [q-type] [q-class] {q-opt}
{global-d-opt} host [@local-server] {local-d-opt}
[ host [@local-server] {local-d-opt} [...]]
Por ejemplo; dig mexicoextremo.com.mx, dig mexicoextremo.com.mx MX
nslookupUtilería para realizar consultas interactivas a los servidores DNS.nslookup -opciones [host - servidor]
Por ejemplo; nslookup mexicoextremo.com.mx
hostUtilería no interactiva para realizar consultas a los servidores DNS.host -aCdlnrTwv servidor
Por ejemplo; host -a mexicoextremo.com.mx
ipcalcHerramienta para revisar la información IP de un dominio.ipcalc -bhn dirección-IP
Por ejemplo; ipcalc -h 64.233.179.99

Herramientas por Internet.

            
                      
           

Servicios de DNS dinámicos.

               
                
              
              
      

Registro de Dominios.


   

Si el anterior artículo te ha sido útil o te ha gustado, por favor haz click en alguno de los anuncios que aparecen a continuación, con esta pequeña acción ayudarás a mantener este sitio y nos animarás a seguir trabajando para publicar información de tu interés.


Comentarios (1)
BIND
1Martes, 31 de Mayo de 2011 06:33
Gary
Excelente trabajo.

Felicidades!

Agregue su comentario

Tu Nombre:
Asunto:
Comentario:

Últimos contenidos

Facebook conecta

Total visitas

3641401
38.107.179.232
UNITED STATES
US

Quien está en linea

Tenemos 48 invitados conectado(s)

Conectan

Locations of visitors to this page

Nos visitan desde

Últimos comentarios

Vitales Servidor