@media screen and (min-width: 580px) { .flotantewhatsapp{ display:none; } }

Compartir por WhatsApp

Instalación Bind sobre RedHat

Objetivo del documento

Explicar la instalación de un servidor BIND en la distribución linux RHEL

Descripción

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.

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á la configuración del servicio de nombres con BIND, bajo la plataforma RedHat, aunque la mayoría de estos conceptos se pueden aplicar a la cualquier servicio de DNS sobre otras plataformas.

Requisitos

  • RHEL 5.8 con el último nivel de parches
  • Licencia RHEL y alta en RHEL Network con acceso a los repositorios
  • HARDWARE:
    • 1 CPU
    • 1024 MB RAM
    • 16 GB DISCO

Instalación

Instalamos BIND mediante el comando los paquetes necesarios:

yum –y install bind bind-utils bind-libs bind-chroot caching-nameserver system-config-bind

Esperamos a que termine el proceso:

Configuración

Previamente recopilamos los datos necesarios para nuestros servidores:

DNS1:

Host Name . . . . . . . . . . . . : dns1

Primary Dns Suffix  . . . . . . . : example.com

Node Type . . . . . . . . . . . . : Unknown

IP Routing Enabled. . . . . . . . : No

WINS Proxy Enabled. . . . . . . . : No

DNS Suffix Search List. . . . . . : example.com

 

Ethernet adapter Frontend:

IP Address. . . . . . . . . . . . : xxx.xxx.xxx.101

Subnet Mask . . . . . . . . . . . : 255.255.255.224

Default Gateway . . . . . . . . . : xxx.xxx.xxx.126

DNS Servers . . . . . . . . . . . :  xxx.xxx.xxx.101

   xxx.xxx.xxx.102

Ethernet adapter Backend:

 

Connection-specific DNS Suffix  . :

IP Address. . . . . . . . . . . . : 192.168.1.101

Subnet Mask . . . . . . . . . . . : 255.255.255.128

 

DNS2:

Host Name . . . . . . . . . . . . : dns2

Primary Dns Suffix  . . . .: example.com

Node Type . . . . . . . . . . . . : Unknown

IP Routing Enabled. . . . . . . . : No

WINS Proxy Enabled. . . . . . . . : No

DNS Suffix Search List. . . . . . : example.com

 

Ethernet adapter Frontend:

Connection-specific DNS Suffix  . :

IP Address. . . . . . . . . . . . : xxx.xxx.xxx.102

Subnet Mask . . . . . . . . . . . : 255.255.255.224

Default Gateway . . . . . . . . . : xxx.xxx.xxx.126

DNS Servers . . . . . . . . . . . : xxx.xxx.xxx.102

xxx.xxx.xxx.101

Ethernet adapter Backend:

IP Address. . . . . . . . . . . . : 192.168.1.102

Subnet Mask . . . . . . . . . . . : 255.255.255.128

 

Crear RUTA:

Como queremos gestionarlo desde nuestra red interna hay que añadir una ruta manualmente para todo lo que llegue de la 192.168.0.0 que vaya al interfaz de Backend

route add -net 192.168.0.0 netmask 255.0.0.0 gw 192.168.1.1 dev eth0


CONFIGURAR EL FICHERO /etc/hosts EN CADA NODO

 

127.0.0.1 localhost.localdomain localhost

xxx.xxx.xxx.101 dns1.example.com dns1

xxx.xxx.xxx.102 dns2.example.com dns2

::1 localhost6.localdomain6 localhost6

 

CONFIGURAR FICHEROS NETWORK

Posterior a esto debemos cambiar el nombre de host de nuestro servidor por ejemplo a dns

vim /etc/sysconfig/network

y editamos donde dice hostname y colocamos dns1 y dns2 como nombre de servidor.

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=dns1

 CONFIGURAR FICHEROS BIND

Los archivos de configuración se encuentran en dos rutas que se complementan, estas son:
Ruta 1 (Configuraciones): /var/named/chroot/etc/
Ruta 2 (Zonas, dominios y sub-dominios): /var/named/chroot/var/named/

Podemos encontrar ficheros de ejemplo que podemos utilizar de base en /usr/share/doc/bind-(versión)/sample

Empezamos con la configuración:

Ruta1 (Configuraciones)

Creamos “named.conf” en /etc/named.conf para posteriormente copiarlo a ruta1 y así evitarnos problemas con las modificaciones:

# vi /etc/named.conf

Si el fichero existe tendrá este contenido:

// Red Hat BIND Configuration Tool

//

// Default initial “Caching Only” name server configuration

//

options {

directory “/var/named”;

dump-file “/var/named/data/cache_dump.db”;

statistics-file “/var/named/data/named_stats.txt”;

/*

* If there is a firewall between you and nameservers you want

* to talk to, you might need to uncomment the query-source

* directive below.  Previous versions of BIND always asked

* questions using port 53, but BIND 8.1 uses an unprivileged

* port by default.

*/

// query-source address * port 53;

};

zone “.” IN {

type hint;

file “named.root”;

};

zone “localdomain.” IN {

type master;

file “localdomain.zone”;

allow-update { none; };

};

zone “localhost.” IN {

type master;

file “localhost.zone”;

allow-update { none; };

};

zone “0.0.127.in-addr.arpa.” IN {

type master;

file “named.local”;

allow-update { none; };

};

zone “0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa.” IN {

type master;

file “named.ip6.local”;

allow-update { none; };

};

zone “255.in-addr.arpa.” IN {

type master;

file “named.broadcast”;

allow-update { none; };

};

zone “0.in-addr.arpa.” IN {

type master;

file “named.zero”;

allow-update { none; };

};

#Aquí va nuestra configuración

–>

include “/etc/rndc.key”;

 

En esta configuración aun no está la nuestra, sino solo hace referencia a los archivos que ya existen en ruta2, el contenido que vamos a agregar para nuestro propósito es el siguiente antes de la última línea). Depende del nodo, ya que uno es master y otro slave:

# Configuracion DNS1 para example.com

zone “example.com” IN {

type master;

file “example.com.zone”;

allow-update { none; };

allow-transfer { 192.168.1.102; };

};

 

# Configuración DNS2 para example.com

zone “example.com”  {
type slave;
file “example.com.zone”;
masters { 192.168.1.101; };
};

Aquí se define la zona para nuestro dominio y también la resolución inversa para nuestra ip.
Al final nuestro archivo “named .conf” quedaría:

// Red Hat BIND Configuration Tool

//

// Default initial “Caching Only” name server configuration

//

options {

directory “/var/named”;

dump-file “/var/named/data/cache_dump.db”;

statistics-file “/var/named/data/named_stats.txt”;

/*

* If there is a firewall between you and nameservers you want

* to talk to, you might need to uncomment the query-source

* directive below.  Previous versions of BIND always asked

* questions using port 53, but BIND 8.1 uses an unprivileged

* port by default.

*/

// query-source address * port 53;

};

zone “.” IN {

type hint;

file “named.root”;

};

zone “localdomain.” IN {

type master;

file “localdomain.zone”;

allow-update { none; };

};

zone “localhost.” IN {

type master;

file “localhost.zone”;

allow-update { none; };

};

zone “0.0.127.in-addr.arpa.” IN {

type master;

file “named.local”;

allow-update { none; };

};

zone “0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa.” IN {

type master;

file “named.ip6.local”;

allow-update { none; };

};

zone “255.in-addr.arpa.” IN {

type master;

file “named.broadcast”;

allow-update { none; };

};

zone “0.in-addr.arpa.” IN {

type master;

file “named.zero”;

allow-update { none; };

};

#Aquí va nuestra configuración

 

# Configuracion DNS1 para example.com

zone “example.com” IN {

type master;

file “example.com.zone”;

allow-update { none; };

allow-transfer { 192.168.1.102; };

};

 

include “/etc/rndc.key”;

 

 

Ruta2 (Zonas, dominios y sub-dominios)
Ahora pasemos a crear los archivos “.zone” (ahora tomamos de ejemplo example.com) a los que estamos llamando en nuestro named.conf (que deberemos concatenar posteriormente de esta forma con el resto de zones):

Habrá diferencias también para DNS1 y DNS2:

DNS1:

zone "example.com" IN {

type master;
file "example.com.zone";

allow-update { none; };

allow-transfer { 192.168.1.102; };
};

DNS2:

zone "example.com" {

type slave;

masters { 192.168.1.101; };

file "example.com.zone";
};

 

Creamos la zona del dominio para example.com:

# vi /var/named/chroot/var/named/example.com

Dentro tendría lo siguiente:

;

;  Database file example.com.dns for example.com zone.

;      Zone version:  1187

;

$TTL 86400

@                       IN  SOA dns1.example.com.  hostmaster.example.com. (

                                  2012110523   ; Serial YYYYMMDDXX

                                   900          ; refresh

                                   600          ; retry

                                   604800       ; expire

                                   86400      ) ; default TTL

 

;

;  Zone NS records

;

@ IN NS dns1.example.com.

dns1.example.com.        IN A    xxx.xxx.xxx.101

@ IN NS dns2.example.com.

dns2.example.com.        IN A    xxx.xxx.xxx.102

;

;  Zone records

;

 

@ IN A xxx.xxx.xxx.123

@ IN MX 10 smtp3.example.com.

 

Aquí se resuelve el Canonical Name para peticiones tanta si estas vengan para FTP, web o DNS. Y se enlaza nuestra IP al dominio.

Ahora creamos el archivo para la resolución inversa de nuestra ip:

# vi /var/named/chroot/var/named/10.xxx.xxx.in-addr.arpa.zone

Dentro tendría lo siguiente:

$TTL 86400
@ IN SOA example.com. administrador (
200706246 ; Serial YYYYMMDDXX
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL

@ IN NS dns1.example.com.

dns1.example.com.        IN A    xxx.xxx.xxx.101

@ IN NS dns2.example.com.

dns2.example.com.        IN A    xxx.xxx.xxx.102
;
; Servers
;
102 IN PTR example.com.
102 IN PTR dns2.example.com.
102 IN PTR www.example.com.
102 IN PTR ftp.example.com.

En la linea “102 PTR ….”, no olvide reemplazar el 102 por el ultimo numero de tu ip.

Con esto el servidor DNS ya debería trabajar, pero aun falta algunos detalles, como cambiarle el nombre al servidor y también la ip.

Para cambiar el nombre al servidor editamos el archivo “network”:

# vi /etc/sysconfig/network

Y ponemos:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=<nombre_maquina>.example.com

<nombre_maquina>, va ser el nombre que deseemos, el cual se va reemplazar en los archivos de zona donde seguro ya lo has visto.

Copiar named.conf a ruta definitiva

Antes de arrancar el servidor deberemos copiar el fichero de configuración named.conf a /var/named/chroot/etc/named.conf (también podemos hacer un enlace simbólico)

 cp /etc/named.conf /var/named/chroot/etc/named.conf

Cambiar IP DNS

# vi /etc/resolv.conf

Y ponemos

nameserver xxx.xxx.xxx.101

nameserver xxx.xxx.xxx.102

 

Dar permisos de cambio en el directorio named del 2º nodo

# chmod 775 /var/named/chroot/var/named


Levantar Servicio

# /etc/init.d/named start

 

Inicio en el arranque

# chkconfig named –level 345 on

 

Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?

El Blog de Negu

Acerca de Raul Unzue Pulido

Administrador de sistemas virtuales e infraestructuras IT, linuxero y entusiasta de la tecnología.

Compruebe también

implementar-soc-monitorizacion-completa-con-prometheus-alertmanager-grafana-y-loki-bajo-contenedores-3

Implementar SOC: Monitorización Completa con Prometheus, AlertManager, Grafana y Loki bajo Contenedores

Implementar SOC: Monitorización Completa con Prometheus, AlertManager, Grafana y Loki bajo Contenedores Seguimos implementando nuestro …

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

9 + uno =

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies
Blog Maquinas Virtuales - El Blog de Negu