Configuración de DNS en CentOS
Paso 1: Instalar los paquetes necesarios
Antes de empezar a ver las siguientes instrucciones, nos gustaría señalar que ya tenemos una guía general para configurar el DNS estándar en Linux en nuestro sitio web. Te recomendamos que lo utilices si quieres configurar los ajustes para la navegación normal por Internet. A continuación mostraremos cómo instalar un servidor DNS local básico con el lado del cliente.
Lea también: Configuración de DNS en Linux
Como medio para crear un servidor DNS local, recomendamos utilizar bind9. La configuración de los siguientes archivos de configuración también se basará en el comportamiento general de este componente. Por defecto bind9 falta en el sistema operativo, así que vamos a empezar por añadirlo.
- Haz funcionar la consola de la manera que quieras. Está bajo «Aplicaciones». – «Favoritos». o se abre con un atajo de teclado estándar Ctrl + Alt + T.
- Aquí tendrás que introducir un comando
sudo yum install bind bind-utils -yy luego haga clic en Entre en para activarlo. - Esta acción se realiza como superusuario (sudo), por lo que tendrá que confirmar la cuenta introduciendo la contraseña en la línea que aparece.
- Espere a que se complete la descarga e instalación de los paquetes.
Una vez completado este proceso, se le notificará que todos los paquetes se han añadido con éxito al sistema. Después de eso, proceda al siguiente paso.
Paso 2: Configuración global del servidor DNS
Ahora queremos demostrar exactamente cómo se edita el archivo de configuración principal, así como qué líneas se añaden allí. No vamos a entrar en cada línea por separado, porque nos llevaría demasiado tiempo, y puedes encontrar toda la información que necesitas en la documentación oficial.
- Para editar los objetos de configuración puede utilizar cualquier editor de texto. Le sugerimos que instale un práctico nanoescribiendo en la consola
sudo yum install nano. - Se descargarán todos los paquetes necesarios y, si ya están presentes en la distribución, se le notificará «No hay nada que correr»..
- Empecemos a editar el propio archivo. Ábrelo con
sudo nano /etc/named.conf. Si es necesario, sustituya el editor de texto deseado, entonces la cadena resultará así:sudo vi /etc/named.conf. - A continuación damos el contenido para pegar en el archivo que se abre, o verificar con un archivo existente añadiendo las líneas que faltan.
- Después de eso, haga clic en Ctrl + Opara registrar los cambios.
- No es necesario que cambie el nombre del archivo, simplemente haga clic en Entre en.
- Salga del editor de texto a través de Ctrl + X.
Como se ha mencionado anteriormente, tendrá que insertar ciertas líneas en el archivo de configuración que establecen las reglas generales para el comportamiento del servidor DNS.
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
opciones {
listen-on port 53 { 127.0.0.1; 192.168.1.101;}; ### IP del DNS maestro ###
## listen-on-v6 port 53 { ::1; };
directorio «/var/named»;
archivo de volcado «/var/named/data/cache_dump.db»;
archivo de estadísticas «/var/named/data/named_stats.txt»;
Archivo de estadísticas de memoria «/var/named/data/named_mem_stats.txt»;
allow-query { localhost; 192.168.1.0/24;}; ### Rango de IP ###
allow-transfer { localhost; 192.168.1.102; }; ### IP del DNS esclavo ###
/*
– Si está construyendo un servidor DNS AUTORIZADO, NO habilite la recursión.
– Si está construyendo un servidor DNS RECURSIVO (con caché), necesita habilitar
la recursividad.
– Si su servidor DNS recursivo tiene una dirección IP pública, DEBE habilitar el acceso
control para limitar las consultas a sus usuarios legítimos. Si no lo hace, podrá
hacer que su servidor forme parte de la amplificación de DNS a gran escala
ataques. La implementación de BCP38 dentro de su red sería muy
reducir dicha superficie de ataque
*/
[Respirando fuertemente]
dnssec-enable yes;
dnssec-validación sí;
dnssec-lookaside auto;
/* Ruta de acceso a la clave ISC DLV */
archivo bindkeys «/etc/named.iscdlv.key»;
managed-keys-directory «/var/named/dynamic»;
Archivo pid «/run/named/named.pid»;
archivo de claves de sesión «/run/named/session.key»;
};
registro {
canal default_debug {
archivo «data/named.run»;
dinámica de la gravedad;
};
};
zona «.» IN {
tipo de pista;
archivo «named.ca»;
};
zona «unixmen.local» IN {
tipo maestro;
archivo «forward.unixmen»;
allow-update { none; };
};
zona «1.168.192.in-addr.arpa» IN {
tipo maestro;
archivo «reverse.unixmen»;
allow-update { none; };
};
incluir «/etc/named.rfc1912.zones»;
incluir «/etc/named.root.key»;
Asegúrese de que todo está configurado exactamente como se muestra arriba, y luego pase al siguiente paso.
Paso 3: Creación de la zona de avance y retroceso
El servidor DNS utiliza las zonas directas e inversas para obtener la información de origen. La zona forward permite obtener la dirección IP por nombre de host, y la reverse a través de la IP da el nombre de dominio. El trabajo adecuado de cada zona debe ser proporcionado por reglas especiales, cuya creación proponemos a continuación.
- Para una zona directa, vamos a crear un archivo separado a través del mismo editor de texto. Entonces la línea se verá así:
sudo nano /var/named/forward.unixmen. - Se le notificará que se trata de un objeto vacío. Introduzca en él el contenido que se muestra a continuación:
$TTL 86400
@ IN SOA masterdns.unixmen.local. root.unixmen.local. (
2011071001 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
@ IN NS masterdns.unixmen.local.
@ IN NS secondarydns.unixmen.local.
@ IN A 192.168.1.101
@ IN A 192.168.1.102
@ IN A 192.168.1.103
masterdns IN A 192.168.1.101
secondarydns IN A 192.168.1.102
client IN A 192.168.1.103 - Guarde los cambios y cierre el editor de texto.
- Ahora pasemos a la zona inversa. Requiere un archivo
/var/named/reverse.unixmen. - Esto también será un nuevo archivo vacío. Pégalo ahí:
$TTL 86400
@ IN SOA masterdns.unixmen.local. root.unixmen.local. (
2011071001 ;Serial
3600 ;Refresh
1800 ;Retry
604800 ;Expire
86400 ;Minimum TTL
)
@ IN NS masterdns.unixmen.local.
@ IN NS secondarydns.unixmen.local.
@ IN PTR unixmen.local.
masterdns IN A 192.168.1.101
secondarydns IN A 192.168.1.102
client IN A 192.168.1.103
101 IN PTR masterdns.unixmen.local.
102 IN PTR secondarydns.unixmen.local.
103 IN PTR client.unixmen.local. - Al guardar, no cambie el nombre del objeto, sólo pulse la tecla Entre en.
Los archivos especificados se utilizarán ahora para la zona de avance y retroceso. Si es necesario, debe editarlos exactamente para cambiar algunos parámetros. También puede leer sobre esto en la documentación oficial.
Paso 4: Iniciar el servidor DNS
Después de seguir todos los pasos anteriores, ya puede iniciar el servidor DNS para poder comprobar fácilmente su funcionamiento en el futuro y seguir configurando los ajustes importantes. Para realizar esta tarea, proceda como sigue
- En la consola, escriba
sudo systemctl enable namedpara añadir el servidor DNS al autoarranque, de modo que se inicie automáticamente al arrancar el sistema operativo. - Confirme esta acción introduciendo la contraseña de superusuario.
- Se le notificará que el enlace simbólico se ha creado, lo que significa que la acción ha tenido éxito.
- Ejecute la utilidad a través de
systemctl start named. Se puede detener de la misma manera, sólo que sustituyendo la opción iniciar enstop. - Cuando aparezca la ventana emergente de autenticación, introduzca la contraseña de root.
Como puede ver, el servicio anterior se gestiona de la misma manera que el resto de utilidades estándar, por lo que no debería suponer ningún problema incluso para los usuarios novatos.
Paso 5: Cambiar la configuración del cortafuegos
Para que el servidor DNS funcione correctamente, tendrá que abrir el puerto 53, lo que se hace a través del FirewallD estándar. В «Terminal». sólo serán necesarios tres simples comandos:
- La primera tiene la forma
firewall-cmd --permanent --add-port=53/tcpy se encarga de abrir el puerto del protocolo TCP. Introdúzcalo en la consola y haga clic en Entre en. - Debería recibir una notificación «Éxito»que indica que la regla se ha aplicado con éxito. A continuación, inserte la línea
firewall-cmd --permanent --add-port=53/udppara abrir el puerto del protocolo UDP. - Todos los cambios se aplicarán sólo después de reiniciar el cortafuegos, lo que se hace mediante el comando
firewall-cmd --reload.
No tendrá que hacer más cambios en el cortafuegos. Manténgalo encendido en todo momento para que no tenga problemas de acceso.
Paso 6: Configurar los derechos de acceso
Ahora necesitaremos establecer permisos básicos y derechos de acceso para asegurar un poco el funcionamiento del servidor DNS y proteger a los usuarios ordinarios de poder cambiar la configuración. Haremos esto de la manera estándar y a través de SELinux.
- Todos los comandos posteriores deben ser activados como superusuario. Para evitar tener que introducir constantemente la contraseña, sugerimos habilitar el acceso root permanente para la sesión actual del terminal. Para ello, introduzca en la consola
su. - Especifique la contraseña de acceso.
- A continuación, escriba sucesivamente los siguientes comandos para crear la configuración de acceso óptima:
chgrp named -R /var/named
chown -v root:named /etc/named.conf
restorecon -rv /var/named
restorecon /etc/named.conf
Esto completa la configuración general del servidor DNS maestro. Lo único que queda es editar algunos archivos de configuración y comprobar si hay errores. Esto es lo que nos proponemos tratar en el siguiente paso.
Paso 7: Comprobación de errores y finalización de la configuración
Recomendamos comenzar con las pruebas de error para no tener que cambiar el resto de los archivos de configuración también en el futuro. Por eso lo cubriremos todo en un solo paso, además de proporcionar muestras de la salida correcta del comando para probarlo.
- Teclea. «Terminal».
named-checkconf /etc/named.conf. Esto comprobará los parámetros globales. Si no hay salida, entonces todo está configurado correctamente. Si no, estudia el mensaje y, en base a él, resuelve el problema. - A continuación, compruebe la zona directa insertando la línea
named-checkzone unixmen.local /var/named/forward.unixmen. - El ejemplo de salida es el siguiente:
zone unixmen.local/IN: loaded serial 2011071001 OK. - Más o menos lo mismo se hace con la zona inversa a través de
named-checkzone unixmen.local /var/named/reverse.unixmen. - La conclusión correcta debería ser ésta:
zone unixmen.local/IN: loaded serial 2011071001 OK. - Ahora pasemos a la configuración de la interfaz de red principal. En él hay que añadir los datos del servidor DNS actual. Para ello, abra el archivo
/etc/sysconfig/network-scripts/ifcfg-enp0s3. - Compruebe que el contenido es el que se muestra a continuación. Introduzca la configuración de los DNS si es necesario.
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="5d0428b3-6af2-4f6b-9fe3-4250cd839efa"
ONBOOT="yes"
HWADDR="08:00:27:19:68:73"
IPADDR0="192.168.1.101"
PREFIX0="24"
GATEWAY0="192.168.1.1"
DNS="192.168.1.101"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes" - Después de guardar los cambios, vaya al archivo
/etc/resolv.conf. - Sólo hay una línea que añadir aquí:
nameserver 192.168.1.101. - Una vez completado, sólo queda reiniciar la red o el ordenador para actualizar la configuración. El servicio de red se reinicia con el comando
systemctl restart network.
Paso 8: Comprobar el servidor DNS instalado
Al final de la configuración, sólo queda comprobar el funcionamiento del servidor DNS existente tras añadirlo al servicio de red global. Esta operación también se realiza mediante comandos especiales. El primero de ellos se parece a dig masterdns.unixmen.local.
Esto debería dar lugar a una salida que tiene una representación similar a los contenidos que se muestran a continuación.
; <> DiG 9.9.4-RedHat-9.9.4-14.el7 <> masterdns.unixmen.local
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25179
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; OPT PSEUDOSECCIÓN:
;; EDNS: versión: 0, flags:; udp: 4096
; SECCIÓN DE PREGUNTAS:
;masterdns.unixmen.local. EN A
;;SECCIÓN DE RESPUESTAS:
masterdns.unixmen.local. 86400 EN UN 192.168.1.101
; SECCIÓN DE AUTORIDAD:
unixmen.local. 86400 IN NS secondarydns.unixmen.local.
unixmen.local. 86400 IN NS masterdns.unixmen.local.
;; SECCIÓN ADICIONAL:
secondarydns.unixmen.local. 86400 EN UN 192.168.1.102
;; Tiempo de consulta: 0 mseg.
;; SERVIDOR: 192.168.1.101#53(192.168.1.101)
; CUANDO: mié 20 de agosto 16:20:46 IST 2014
;; MSG SIZE rcvd: 125
Un comando adicional le permitirá conocer el estado del funcionamiento del servidor DNS local. Para ello, inserte nslookup unixmen.local y haga clic en Entre en.
Esto debería mostrar tres representaciones diferentes de direcciones IP y nombres de dominio.
Server: 192.168.1.101
Address: 192.168.1.101#53
Nombre: unixmen.local
Dirección: 192.168.1.103.
Nombre: unixmen.local
Dirección: 192.168.1.101.
Nombre: unixmen.local
Dirección: 192.168.1.102.
Si la salida coincide con la que hemos especificado, entonces la configuración se ha completado con éxito y podemos pasar al lado del cliente del servidor DNS.
Configuración de la parte cliente del servidor DNS
No vamos a separar este procedimiento en distintos pasos, ya que se realiza editando un solo archivo de configuración. En él hay que añadir información sobre todos los clientes que se conectarán al servidor, y un ejemplo de esta configuración tiene el siguiente aspecto:
- Abrir el archivo
/etc/resolv.confcon cualquier editor de texto conveniente. - Añade líneas ahí.
search unixmen.local nameserver 192.168.1.101иnameserver 192.168.1.102, sustituyendo los necesarios por direcciones de clientes. - Al guardar, no cambie el nombre del archivo, simplemente pulse la tecla Entre en.
- Después de salir del editor de texto, asegúrese de reiniciar la red global mediante el comando
systemctl restart network.
Estos eran los puntos principales de la configuración del cliente del servidor DNS de los que queríamos hablar. Todos los demás matices sugerimos estudiarlos leyendo la documentación oficial, si es necesario.
Probar el servidor DNS
La última etapa de nuestro material de hoy es la prueba final del servidor DNS. A continuación puedes ver unos cuantos comandos que harán el truco. Utilice uno de ellos activando el «Terminal».. Si no hay errores en la salida, todo el proceso es correcto.
dig masterdns.unixmen.local
dig secondarydns.unixmen.local
dig client.unixmen.local
nslookup unixmen.local
Hoy has aprendido todo sobre la configuración del servidor DNS principal en la distribución CentOS. Como puede ver, toda la operación se centra en la introducción de comandos de terminal y en la edición de archivos de configuración, lo que puede causar cierta dificultad a los usuarios novatos. Sin embargo, basta con seguir las instrucciones al pie de la letra y leer los resultados de las comprobaciones para asegurarse de que todo va bien.
Nos alegramos de que hayamos podido ayudarle con su problema.
Nuestros especialistas tratarán de responder con la mayor rapidez posible.
¿Le ha ayudado este artículo?
Cuál es el tamaño en pixeles de las hojas a4 a3 a2 a1 y a0 en funcion de los ppp
Cómo eliminar una cuenta de Facebook sin contraseña y correo electrónico
Cómo saber quien esta detrás de un perfil de instagram
Cómo saber quien canceló el mensaje en instagram
Cómo saber si el Iphone está hackeado
Cómo instalar IPTV en el Fire TV Stick
Qué hacer si las imágenes desaparecen de la galería en Android
Spotify cracked IOS 2021, ¿Cómo instalarlo?
Cómo copiar el enlace a tu perfil de instagram
Cómo saber quien esta detrás de un perfil de Facebook
Resolver los problemas con la luz roja LOS en el router
Cómo averiguar el id de la MI cuenta en tu smartphone Xiaomi
Cómo instalar IPTV en el Fire TV Stick
Cómo cambiar el correo electrónico de id de Supercell
Cómo desbloquear canales de Iphone Telegram
Cómo ocultar a quién sigo en instagram
Cómo solucionar el error requiere acción con la cuenta de Google
e_fail 0x80004005 error en Virtualbox, causas y soluciones
Cómo poner tu nombre en una lista de WhatsApp
Cómo eliminar su cuenta Shein
Resolver los problemas con la luz roja LOS en el router
Cómo ver cuántos mensajes hay en un chat
Cómo desbloquear canales de Iphone Telegram
Cómo enviar fotos o vídeos que se autodestruyen en Telegram
Cómo descargar historias de Facebook desde el PC
