Configuración de una Jerarquía de DNS Personalizada con BIND
Entorno de Red
Para implementar esta configuración, se utilizarán los siguientes hosts y direcciones IP:
- Servidor Raíz (Root Server): 192.168.3.109
- Servidor TLD ".com": 192.168.3.110
- Servidor Primario de hxg.com: 192.168.3.108
- Servidor Secundario de hxg.com: 192.168.3.107
- Host Apache (www.hxg.com): 192.168.3.104
- Servidor de Reenvío (Forwarder): 192.168.3.101
- Servidor DNS Local: 192.168.3.102
- Cliente de Prueba: 192.168.3.103
Configuración del Host Apache (www.hxg.com)
Instalación de Apache
Instale el servidor web Apache usando el gestor de paquetes yum:
sudo yum -y install httpd
Creación de la Página Principal
Genere un archivo HTML simple para la página de inicio:
echo "Contenido del Host www.hxg.com (192.168.3.104)" | sudo tee /var/www/html/index.html
Inicio del Servicio Apache
Inicie y habilite el servicio Apache:
sudo systemctl start httpd
sudo systemctl enable httpd
Prueba desde el Cliente
Verifique el acceso a la página web mediante curl:
curl 192.168.3.104
Configuración del Servidor Primario de hxg.com
Instalación de BIND
Instale el software BIND para DNS:
sudo yum -y install bind bind-utils
Modificación del Archivo de Configuración Principal
Edite /etc/named.conf para permitir transferencias de zona al servidor secundario:
options {
directory "/var/named";
allow-transfer {192.168.3.107;}; // Permitir transferencia al secundario
};
Configuración de la Zona
Agregue la definición de la zona hxg.com en /etc/named.rfc1912.zones:
zone "hxg.com" IN {
type master;
file "hxg.com.zone"; // Archivo de zona para hxg.com
};
Creación del Archivo de Base de Datos de Zona
Copie y modifique el archivo de zona de ejemplo para hxg.com:
sudo cp -p /var/named/named.localhost /var/named/hxg.com.zone
sudo vim /var/named/hxg.com.zone
Contenido de /var/named/hxg.com.zone:
$TTL 1D
@ IN SOA ns1.hxg.com. admin.hxg.com. (
3 ; Serial
1D ; Refresh
1H ; Retry
1W ; Expire
3H ) ; Minimum TTL
NS ns1.hxg.com.
NS ns2.hxg.com.
ns1 A 192.168.3.108 // Dirección IP del servidor primario
ns2 A 192.168.3.107 // Dirección IP del servidor secundario
web A 192.168.3.104 // Dirección IP del servidor Apache
www CNAME web.hxg.com.
@ A 192.168.3.104 // Entrada A para el dominio raíz
Verificación de la Configuración
Compruebe la sintaxis de los archivos de configuración y la zona:
sudo named-checkconf
sudo named-checkzone hxg.com /var/named/hxg.com.zone
Inicio del Servicio Named
Inicie y habilite el servicio BIND:
sudo systemctl start named
sudo systemctl enable named
Prueba desde el Cliente
Realice una consulta DNS para www.hxg.com apuntando al servidor primario:
dig www.hxg.com @192.168.3.108
Configuración del Servidor Secundario de hxg.com
Instalación de BIND
sudo yum -y install bind bind-utils
Modificación del Archivo de Configuración Principal
Edite /etc/named.conf. En un servidor secundario, las transferencias de zona generalmente no se permiten salientes:
options {
directory "/var/named";
allow-transfer {none;}; // No permitir transferencias salientes
};
Configuración de la Zona Esclava
Configure la zona hxg.com como esclava en /etc/named.rfc1912.zones:
zone "hxg.com" IN {
type slave;
masters {192.168.3.108;}; // Dirección IP del servidor maestro
file "slaves/hxg.com.zone"; // Archivo donde se guardará la zona transferida
};
Inicio del Servicio Named
sudo systemctl start named
sudo systemctl enable named
Prueba desde el Cliente
Realice una consulta DNS para www.hxg.com apuntando al servidor secundario:
dig www.hxg.com @192.168.3.107
Configuración del Servidor TLD ".com"
Instalación de BIND
sudo yum -y install bind bind-utils
Modificación del Archivo de Configuración Principal
Configure las opciones de BIND:
options {
directory "/var/named";
allow-transfer {none;}; // Opcional: limitar transferencias si es necesario
};
Configuración de la Zona ".com"
Defina la zona com como maestra en /etc/named.rfc1912.zones:
zone "com" IN {
type master;
file "com.zone"; // Archivo de zona para el TLD com
};
Creación del Archivo de Base de Datos de Zona
Cree el archivo de zona para el TLD com:
sudo cp -p /var/named/named.localhost /var/named/com.zone
sudo vim /var/named/com.zone
Contenido de /var/named/com.zone:
$TTL 1D
@ IN SOA ns1.com. admin.com. (
0 ; Serial
1D ; Refresh
1H ; Retry
1W ; Expire
3H ) ; Minimum TTL
NS ns1.com.
NS ns2.com.
ns1 A 192.168.3.110 // Dirección IP del servidor com
ns2 A 192.168.3.108 // Dirección IP del servidor hxg.com primario
hxg NS ns1.com. // Delegación para el subdominio hxg
hxg NS ns2.com. // Delegación para el subdominio hxg
Inicio del Servicio Named
sudo systemctl start named
sudo systemctl enable named
Prueba desde el Cliente
Consulte www.hxg.com apuntando al servidor TLD ".com":
dig www.hxg.com @192.168.3.110
Configuración del Servidor Raíz (Root Server)
Instalación de BIND
sudo yum -y install bind bind-utils
Configuración del Archivo Principal
Edite /etc/named.conf para definir la zona raíz:
options {
directory "/var/named";
allow-transfer {none;};
};
zone "." IN {
type master;
file "root.zone"; // Archivo de zona para el dominio raíz
};
Creación del Archivo de Base de Datos de Zona Raíz
Cree el archivo de zona raíz:
sudo cp -p /var/named/named.localhost /var/named/root.zone
sudo vim /var/named/root.zone
Contenido de /var/named/root.zone:
$TTL 1D
@ IN SOA root. serveradmin. (
0 ; Serial
1D ; Refresh
1H ; Retry
1W ; Expire
3H ) ; Minimum TTL
NS root.
root A 192.168.3.109 // Dirección IP del servidor raíz
com NS ns1.com. // NS para el TLD .com
ns1 A 192.168.3.110 // Dirección IP del servidor TLD .com
Inicio del Servicio Named
sudo systemctl start named
sudo systemctl enable named
Prueba desde el Cliente
Consulte www.hxg.com apuntando al servidor raíz:
dig www.hxg.com @192.168.3.109
Configuración del Servidor de Reenvío (Forwarder)
Instalación de BIND
sudo yum -y install bind bind-utils
Modificación del Archivo de Configuración Principal
Edite /etc/named.conf. Desactive DNSSEC si no se utiliza y configure los servidores de reenvío:
options {
directory "/var/named";
dnssec-enable no;
dnssec-validation no;
// Configure forwarders to use external DNS servers or your internal DNS hierarchy
forwarders {192.168.3.101;}; // O utilice IPs de servidores DNS públicos si es necesario
forward first;
};
Actualización del Archivo de Raíz (if needed)
Si este servidor necesita conocer la dirección IP de los servidores raíz (para reenviar consultas):
sudo vim /var/named/named.ca
Asegúrese de que incluya la dirección IP de su servidor raíz configurado:
. 518400 IN NS root.
root. 518400 IN A 192.168.3.109
Inicio del Servicio Named
sudo systemctl start named
sudo systemctl enable named
Prueba desde el Cliente
Consulte www.hxg.com apuntando al servidor de reenvío:
dig www.hxg.com @192.168.3.101
Configuración del Servidor DNS Local
Instalación de BIND
sudo yum -y install bind bind-utils
Modificación del Archivo de Configuración Principal
Configure BIND para reenviar todas las consultas al servidor de reenvío configurado:
options {
directory "/var/named";
allow-query { any; }; // Permitir consultas desde cualquier cliente
forwarders {192.168.3.101;}; // Reenviar al servidor de reenvío
forward first; // Intentar reenviar primero, luego resolver recursivamente si es necesario
dnssec-enable no;
dnssec-validation no;
};
Inicio del Servicio Named
sudo systemctl start named
sudo systemctl enable named
Prueba desde el Cliente
Realice una consulta DNS para www.hxg.com apuntando al servidor DNS local:
dig www.hxg.com @192.168.3.102
El servidor DNS local consultará al servidor de reenvío (192.168.3.101), que a su vez consultará la jerarquía de DNS hasta resolver la dirección.