DNS Servers · 7 min read · Oct 02, 2025
Cómo Ejecutar Sus Propios Servidores DNS (Primario y Secundario) Con ISPConfig 3 (Debian Squeeze)
Cómo Ejecutar Sus Propios Servidores DNS (Primario y Secundario) Con ISPConfig 3 (Debian Squeeze)
Versión 1.0
Autor: Falko Timme
Sígueme en Twitter
Este tutorial muestra cómo puede ejecutar sus propios servidores DNS (primario y secundario) con ISPConfig 3. Para hacer esto, necesita dos servidores con dos direcciones IP públicas diferentes y con ISPConfig 3 instalado. Usaré Debian Squeeze para ambos servidores DNS aquí para demostrar el proceso de configuración del sistema base y la instalación de ISPConfig 3, pero una vez que tenga ISPConfig 3 instalado en sus servidores, la configuración dentro de ISPConfig 3 es idéntica, sin importar qué distribución use.
¡No emito ninguna garantía de que esto funcione para usted!
1 Nota Preliminar
Nuestra situación actual es la siguiente: tenemos
- Servidor ISPConfig #1 (server1.example.com): dirección IP 1.2.3.4; este será nuestro servidor de nombres primario.
- Servidor ISPConfig #2 (server2.example.com): dirección IP 1.2.3.5; este será nuestro servidor de nombres secundario.
server1.example.com será una instalación completa de ISPConfig 3. Será el servidor maestro de ISPConfig 3 (que ejecuta la interfaz del panel de control de ISPConfig) y actuará como un servidor de correo, web, DNS y MySQL (esta es la configuración más común: un servidor que tiene todos los servicios). server2.example.com será un servidor esclavo de ISPConfig 3 (sin interfaz del panel de control de ISPConfig) y actuará solo como el servidor DNS secundario. Por supuesto, puede dividir los servicios entre sus servidores como desee; el tutorial Instalando Una Configuración Multiserver Con Servidores Dedicados de Web, Correo, DNS y Base de Datos MySQL En Debian 5.0 Con ISPConfig 3 debería darle la idea.
Los registros DNS A para server1.example.com y server2.example.com ya deben existir (puede crearlos a través del panel de control de su registrador de dominios). Usaremos server1.example.com y server2.example.com como los servidores de nombres para nuestras zonas más adelante; si prefiere algo como ns1.example.com y ns2.example.com en lugar de server1.example.com y server2.example.com, puede usar estos, pero asegúrese de que también haya registros DNS A para ns1.example.com y ns2.example.com (que apunten a las mismas IP que server1.example.com o server2.example.com).
Le mostraré cómo crear una zona para el dominio mydomain.com; este dominio ya debe estar registrado a través de un registrador de dominios. Después de haber creado la zona mydomain.com y verificado que tanto server1.example.com como server2.example.com sirven todos los registros de mydomain.com correctamente, le mostraré cómo hacer que server1.example.com y server2.example.com sean los servidores de nombres autorizados para mydomain.com (ver capítulo 8).
Más detalles sobre cómo crear zonas/ registros DNS se pueden encontrar en los capítulos 4.8 y 5.12 del Manual de ISPConfig 3.
2 Configurando server1.example.com (DNS Primario)
server1.example.com:
Por favor, configure server1.example.com como se muestra en El Servidor Perfecto - Debian Squeeze (Debian 6.0) Con BIND & Courier [ISPConfig 3], pero deténgase antes de la instalación de ISPConfig 3.
Para permitir que las otras instancias de MySQL se conecten a la base de datos MySQL en este nodo durante la instalación de ISPConfig 3, tenemos que agregar registros de usuario root de MySQL en la base de datos maestra para cada nombre de host y dirección IP del servidor esclavo. Inicie sesión en MySQL:
mysql -u root -pEn el shell de MySQL, ejecute las siguientes consultas:
CREATE USER ‘root’@’1.2.3.5’ IDENTIFIED BY ‘yourrootsqlpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’1.2.3.5’ IDENTIFIED BY ‘yourrootsqlpassword’ WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
CREATE USER ‘root’@’server2.example.com’ IDENTIFIED BY ‘yourrootsqlpassword’;
GRANT ALL PRIVILEGES ON . TO ‘root’@’server2.example.com’ IDENTIFIED BY ‘yourrootsqlpassword’ WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;
FLUSH PRIVILEGES;quit;¡Asegúrese de reemplazar 1.2.3.5 con la dirección IP y server2.example.com con el nombre de host de su servidor DNS secundario!
Ahora podemos instalar ISPConfig 3 en server1.example.com de la siguiente manera:
cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/
php -q install.phproot@server1:/tmp/ispconfig3_install/install# php -q install.php
——————————————————————————–
_ _ _ _
| / | \ / \ / () / \
| | | | --.| |_/ / | / \/ ___ _ __ | |_ _ __ _ _/ / | | | |–. \ / | | / \| ‘ \| | |/ ` | | |
|| |_|\/ / | | _/\ () | | | | | | | (| | __\ \
_/__/_| _/\/|| ||| ||_, | __/ / |
|__/
——————————————————————————–
>> Inicial configuración
Sistema Operativo: Debian 6.0 (Squeeze/Sid) o compatible
A continuación, habrá algunas preguntas para la configuración primaria, así que tenga cuidado.
Los valores predeterminados están entre [corchetes] y se pueden aceptar con
Escriba “quit” (sin las comillas) para detener el instalador.
Seleccione el idioma (en,de) [en]: <– ENTER
Modo de instalación (estándar, experto) [estándar]: <– experto
Nombre de host completamente calificado (FQDN) del servidor, ej. server1.domain.tld [server1.example.com]: <– ENTER
Nombre de host del servidor MySQL [localhost]: <– ENTER
Nombre de usuario root de MySQL [root]: <– ENTER
Contraseña root de MySQL []: <– yourrootsqlpassword
Base de datos MySQL a crear [dbispconfig]: <– ENTER
Conjunto de caracteres MySQL [utf8]: <– ENTER
¿Debería este servidor unirse a una configuración multiserver existente de ISPConfig (y,n) [n]: <– ENTER
Agregando registro de servidor ISPConfig a la base de datos.
Configurar Correo (y,n) [y]: <– ENTER
Configurando Postfix
Generando una clave privada RSA de 2048 bits
………………………………………………………………………………..+++
……………………..+++
escribiendo nueva clave privada en ‘smtpd.key’
—–
Está a punto de ser preguntado para ingresar información que será incorporada
en su solicitud de certificado.
Lo que está a punto de ingresar es lo que se llama un Nombre Distinguido o un DN.
Hay bastantes campos, pero puede dejar algunos en blanco
Para algunos campos habrá un valor predeterminado,
Si ingresa ‘.’, el campo quedará en blanco.
—–
Nombre del País (código de 2 letras) [AU]: <– ENTER
Nombre del Estado o Provincia (nombre completo) [Some-State]: <– ENTER
Nombre de Localidad (ej, ciudad) []: <– ENTER
Nombre de la Organización (ej, empresa) [Internet Widgits Pty Ltd]: <– ENTER
Nombre de la Unidad Organizativa (ej, sección) []: <– ENTER
Nombre Común (ej, SU nombre) []: <– ENTER
Dirección de Correo Electrónico []: <– ENTER
Configurando SASL
Configurando PAM
Configurando Courier
Configurando Spamassassin
Configurando Amavisd
Configurando Getmail
Deteniendo el Agente de Transporte de Correo Postfix: postfix.
Iniciando el Agente de Transporte de Correo Postfix: postfix.
Deteniendo el Demonio de Autenticación SASL: saslauthd.
Iniciando el Demonio de Autenticación SASL: saslauthd.
Deteniendo amavisd: amavisd-new.
Iniciando amavisd: amavisd-new.
Deteniendo el demonio ClamAV: clamd.
Iniciando el demonio ClamAV: clamd Bytecode: Modo de seguridad establecido en “TrustSigned”.
.
Deteniendo los servicios de autenticación Courier: authdaemond.
Iniciando los servicios de autenticación Courier: authdaemond.
Deteniendo el servidor IMAP de Courier: imapd.
Iniciando el servidor IMAP de Courier: imapd.
Deteniendo el servidor IMAP-SSL de Courier: imapd-ssl.
Iniciando el servidor IMAP-SSL de Courier: imapd-ssl.
Deteniendo el servidor POP3 de Courier: pop3d.
Iniciando el servidor POP3 de Courier: pop3d.
Deteniendo el servidor POP3-SSL de Courier: pop3d-ssl.
Iniciando el servidor POP3-SSL de Courier: pop3d-ssl.
Configurar Jailkit (y,n) [y]: <– ENTER
Configurando Jailkit
Configurar Servidor FTP (y,n) [y]: <– ENTER
Configurando Pureftpd
Reiniciando el servidor ftp: Ejecutando: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -Y 1 -8 UTF-8 -H -D -b -O clf:/var/log/pure-ftpd/transfer.log -E -u 1000 -A -B
Configurar Servidor DNS (y,n) [y]: <– ENTER
Configurando BIND
Consejo: Si este servidor debe ejecutar la interfaz de ISPConfig, seleccione ‘y’ en la opción ‘Configurar Servidor Apache’.
Configurar Servidor Apache (y,n) [y]: <– ENTER
Configurando Apache
Configurando Vlogger
Configurando vhost de Apps
Configurar Servidor de Cortafuegos (y,n) [y]: <– ENTER
Configurando Cortafuegos
Instalar Interfaz Web de ISPConfig (y,n) [y]: <– ENTER
Instalando ISPConfig
Puerto de ISPConfig [8080]: <– ENTER
Habilitar SSL para la interfaz web de ISPConfig (y,n) [y]: <– ENTER
Generando clave privada RSA, módulo de 4096 bits
…………………………………………………………………………………………………..++
…………………………….++
es es 65537 (0x10001)
Está a punto de ser preguntado para ingresar información que será incorporada
en su solicitud de certificado.
Lo que está a punto de ingresar es lo que se llama un Nombre Distinguido o un DN.
Hay bastantes campos, pero puede dejar algunos en blanco
Para algunos campos habrá un valor predeterminado,
Si ingresa ‘.’, el campo quedará en blanco.
—–
Nombre del País (código de 2 letras) [AU]: <– ENTER
Nombre del Estado o Provincia (nombre completo) [Some-State]: <– ENTER
Nombre de Localidad (ej, ciudad) []: <– ENTER
Nombre de la Organización (ej, empresa) [Internet Widgits Pty Ltd]: <– ENTER
Nombre de la Unidad Organizativa (ej, sección) []: <– ENTER
Nombre Común (ej, SU nombre) []: <– ENTER
Dirección de Correo Electrónico []: <– ENTER
Por favor ingrese los siguientes atributos ‘extra’
que se enviarán con su solicitud de certificado
Una contraseña de desafío []: <– ENTER
Un nombre de empresa opcional []: <– ENTER
escribiendo clave RSA
Configurando DBServer
Instalando crontab de ISPConfig
no hay crontab para root
no hay crontab para getmail
Reiniciando el servidor web: apache2 … esperando .
Instalación completada.
root@server1:/tmp/ispconfig3_install/install# Si ha elegido habilitar SSL para la interfaz web de ISPConfig, puede acceder a la interfaz web de ISPConfig en https://server1.example.com:8080, de lo contrario en http://server1.example.com:8080.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.