DNS Server · 4 min read · Dec 25, 2025
Instalación de un servidor DNS FreeBSD 7.0 con BIND - Página 5
Luego abriremos el archivo ports-supfile y escribiremos el nombre de nuestro servidor:
ee /root/ports-supfileAlrededor de la línea 49 verás los parámetros del servidor por defecto, el mío se ve como el de abajo, puedes cambiar el servidor a cualquiera cercano a ti:
| *default host=cvsup.de.FreeBSD.org |
Guarda y Sal.
Usa el siguiente comando para actualizar los puertos:
csup -g -L 2 /root/ports-supfilePuede tardar un tiempo, sin embargo, si no se conecta durante los primeros 2 minutos, asegúrate de que tienes el puerto 5999 abierto en tu firewall (desde tu servidor hasta el servidor de actualización). Si no funciona, asegúrate de que puedes telnet en tu servidor usando el puerto 5999.
telnet cvsup.de.freebsd.org 5999Si telnet fue exitoso deberías ver algo como esto:
OK 17 0 SNAP_16_1h CVSup server ready
Para crear el archivo índice de puertos necesitaremos instalar Perl usando los siguientes comandos:
cd /usr/ports/lang/perl5.8
make install clean
rehash
Después de eso, actualizaremos el índice de puertos y los archivos readme, esto puede tardar mucho tiempo (puede ser 40 minutos):
cd /usr/ports
make install readmes && make index
8 Instalación de Portmaster y Portaudit (Opcional pero Recomendado)
Portmaster facilita la vida al actualizar la mayoría de los paquetes, incluso si hay otros paquetes que dependen de él. Por ejemplo, si tienes un servidor Apache y quieres actualizar eXpat, debes desinstalar eXpat e instalar la nueva versión, haciendo esto romperá la instalación de Apache. Portmaster se puede usar para realizar esta operación de forma segura sin romper ningún enlace, etc.
Para instalar Portmaster haz lo siguiente:
cd /usr/ports/ports-mgmt/portmaster
make install clean
rehash
Portaudit es una buena aplicación que verificará la base de datos de vulnerabilidades al construir puertos para asegurarse de que no hay problemas de seguridad conocidos con lo que estás instalando. Si hay un problema conocido, no continuará y te referenciará a la vulnerabilidad.
Para instalarlo haz lo siguiente:
cd /usr/ports/ports-mgmt/portaudit
make install clean
rehash
Si deseas instalar un programa incluso si tiene una vulnerabilidad conocida, puedes hacerlo usando el siguiente comando:
make -D DISABLE_VULNERABILITIES install
clean
9 Instalación y Configuración de DNS
BIND es parte de la distribución FreeBSD 7.0, verifica la versión que tienes en la colección de puertos y si es igual a 9.4.2, salta a la sección de configuración. Si supera 9.4.2, continúa con la sección de instalación.
Puedes verificar la versión que tienes usando el siguiente comando:
cat /usr/ports/dns/bind94/Makefile | grep PORTVERSION
Instalación
cd /usr/ports/dns/bind94
make configure ; make clean
Aparecerá un menú mostrando opciones para BIND, presiona la [BARRA ESPACIADORA] para elegir el REPLACE_BASE, los demás puedes dejarlos en los valores por defecto, luego [TAB] para resaltar [OK] y presiona [ENTER] para completar el proceso de instalación.
Configuración
Ahora configuraremos BIND. Lo primero que haremos es agregar “NO_BIND = YES” al archivo make.conf en /etc, puedes hacerlo usando los siguientes comandos:
cp /etc/make.conf /etc/make.conf.old
echo “NO_BIND = YES” >> /etc/make.conf
Esto permitirá que el comando make no construya la versión base de BIND en caso de que reconstruyas FreeBSD desde el código fuente.
Ahora editemos named.conf para configurar nuestros forwarders, zonas, etc.
ee /var/named/etc/namedb/named.confDesplázate hacia abajo y comenta la línea listen-on (alrededor de la línea 21) agregando // al principio de la línea, esto es para configurar BIND para responder tanto a consultas internas como externas, debería verse así:
| // listen-on { 127,0,0,1 }; |
Nuevamente desplázate hacia abajo hasta alrededor de la línea 43 - 47, y necesitarás eliminar el / antes de la sección de forwarders así como el / después de la sección de forwarders, luego puedes reemplazar 127.0.0.1 con la IP DNS de tu ISP, si tienes más de un DNS de ISP puedes agregarlos todos con ; como separador.
Debería verse algo así:
| forwarders { 192.168.0.2;192.168.0.3; }; |
Ahora necesitamos agregar nuestras zonas, en el mismo archivo desplázate hasta el final y agrega tus zonas de búsqueda directa y reversa. Para agregar la zona de búsqueda directa, agrega lo siguiente al final del archivo:
| zone "tm.local" { type master; file "master/tm.local"; allow-transfer { localhost; }; allow-update { key rndc-key }; }; |
Como puedes ver arriba, mi nombre de zona y nombre de archivo de zona son ambos tm.local, siéntete libre de cambiar eso a tu nombre de dominio.
Hay una característica en BIND llamada actualizaciones dinámicas de DNS que permite a BIND trabajar con DHCP para actualizar dinámicamente los registros de clientes. Cubriré eso en detalle en mi tutorial de DHCP de FreeBSD.
Ahora necesitamos agregar la zona de búsqueda reversa, así que lo mismo al final del archivo, agregaremos lo siguiente:
| zone "0.168.192.in-addr.arpa" { type master; file "master/tm.local.rev"; allow-transfer { localhost; }; allow-update { key rndc-key }; }; |
Como puedes ver, mi nombre de zona comienza con 0.168.192, eso es porque mi ID de red es 192.168.0, después de invertirlo, debería ser 0.168.192. Necesitarás cambiar esto según tu configuración de red.
Guarda y Sal del archivo.
Ahora necesitamos agregar el archivo rndc.key y agregar su contenido al final del archivo named.conf. rndc.key es una clave de cifrado que la utilidad rndc necesita para funcionar, también se usa en caso de que estés utilizando DNS dinámico junto con DHCP.
Para hacer eso, ejecuta los siguientes comandos:
rndc-confgen -a
cd /var/named/etc/namedb
cp named.conf named.conf.old
cat rndc.key >> named.conf
Ahora hemos terminado con el archivo named.conf, ahora necesitamos crear nuestros archivos de zona que contienen los registros, etc.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.