Cómo configurar el DNS local usando el archivo/etc/hosts en Linux


DNS (Sistema o servicio de nombres de dominio) es un sistema/servicio de nombres descentralizado jerárquico que traduce los nombres de dominio a direcciones IP en Internet o una red privada y un servidor que proporciona dicho servicio se denomina servidor DNS.

Este artículo explica cómo configurar un DNS local utilizando el archivo de hosts (/ etc/hosts) en sistemas Linux para la resolución de dominio local o probar el sitio web antes de publicarlo.

Por ejemplo, es posible que desee probar un sitio web localmente con un nombre de dominio personalizado antes de publicarlo modificando el archivo/etc/hosts en su sistema local para apuntar el nombre de dominio a la dirección IP del servidor DNS local que configuró.

/ Etc/hosts es un archivo del sistema operativo que traduce nombres de host o nombres de dominio a direcciones IP. Esto es útil para probar los cambios de sitios web o la configuración de SSL antes de publicar un sitio web en vivo.

Atención: este método solo funcionará si los hosts tienen una dirección IP estática. Por lo tanto, asegúrese de haber configurado direcciones IP estáticas para sus hosts o nodos Linux que ejecutan otros sistemas operativos.

Para el propósito de este artículo, usaremos el siguiente dominio, nombres de host y direcciones IP (use valores que se apliquen a su configuración local).

Domain:     tecmint.lan
Host 1:     ubuntu.tecmint.lan	 192.168.56.1
Host 2:     centos.tecmint.lan	 192.168.56.10

Comprensión del cambio de servicio de nombres en Linux

Antes de continuar, debe comprender algunas cosas sobre otro archivo importante que es /etc/nsswitch.conf. Proporciona la funcionalidad de cambio de servicio de nombres que controla el orden en el que se consultan los servicios para las búsquedas de servicios de nombres.

La configuración se basa en el pedido; si los archivos están antes de dns, significa que el sistema consultará el archivo/etc/hosts antes de verificar el DNS en busca de solicitudes de servicio de nombres. Pero si DNS está antes de los archivos, el proceso de búsqueda de dominio consultará a DNS primero antes que cualquier otro servicio o archivo apropiado.

En este escenario, queremos consultar el servicio de "archivos". Para comprobar el pedido, escriba.

$ cat /etc/nsswitch.conf
OR
$ grep hosts /etc/nsswitch.conf

Configurar DNS localmente usando el archivo/etc/hosts en Linux

Ahora abra el archivo/etc/hosts usando su editor de elección de la siguiente manera

$ sudo vi /etc/hosts

Luego agregue las líneas a continuación al final del archivo como se muestra en la captura de pantalla a continuación.

192.168.56.1   ubuntu.tecmint.lan
192.168.56.10  centos.tecmint.lan

Luego, pruebe si todo está funcionando bien como se esperaba, usando el comando ping del Host 1, puede hacer ping al Host 2 usando su nombre de dominio así.

$ ping -c 4 centos.tecmint.lan 
OR
$ ping -c 4 centos

En el Host 2, hemos configurado el servidor HTTP Apache. Por lo tanto, también podemos probar si el servicio de traducción de nombres funciona de la siguiente manera yendo a la URL http://centos.tecmint.lan.

Importante: Para utilizar los nombres de dominio en cualquier host de la red, debe configurar los ajustes anteriores en su archivo/etc/hosts.

¿Qué significa esto? En el ejemplo anterior, solo configuramos el archivo de hosts del Host 1 y solo podemos usar los nombres de dominio en él. Para usar los mismos nombres en el Host 2, también tenemos que agregar las direcciones y los nombres a su archivo de hosts.

Por último, debe usar el comando nslookup para probar si el servicio de traducción de nombres está realmente funcionando, estos comandos solo consultan DNS y pasan por alto cualquier configuración en los archivos/etc/hosts y /etc/nsswitch.conf.

También le puede interesar leer los siguientes artículos relacionados.

  1. Instale y configure el servidor DNS de solo almacenamiento en caché en RHEL/CentOS 7
  2. Configurar un servidor DNS de almacenamiento en caché recursivo básico y configurar zonas para el dominio
  3. 8 comandos de Linux Nslookup para solucionar problemas de DNS (servidor de nombres de dominio)
  4. Ejemplos de comandos "host" útiles para consultar búsquedas de DNS

¡Eso es! Comparta cualquier pensamiento o pregunta adicional sobre este tema con nosotros, a través de la sección de comentarios a continuación.