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 en una red privada y un servidor que proporciona dichos un servicio se llama un servidor DNS.

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

Por ejemplo, es posible que desee probar un sitio web localmente con un nombre de dominio personalizado antes de publicarlo públicamente modificando el archivo /etc/hosts en su sistema local para señalar el nombre de dominio a la dirección IP servidor DNS local que configuraste.

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

rojo

Para los fines de este artículo, usaremos los siguientes dominios, nombres de host y direcciones IP (use los 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

Entendiendo el cambio de servicio de nombre 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 nombre que controla el orden en el que se consultan los servicios para las búsquedas de servicios de nombre.

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

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

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

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

Ahora abra el archivo /etc/hosts utilizando el editor que elija de la siguiente manera

$ sudo vi /etc/hosts

Luego, agregue las líneas de abajo 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

A continuación, compruebe si todo funciona bien como se esperaba, usando el comando de ping de Host 1 , puede hacer ping a Host 2 usando su nombre de dominio como asi que.

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

En el Host 2 , hemos configurado el servidor HTTP Apache. Así que 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

rojo

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

Por último, debe usar el comando host o el comando nslookup para comprobar si el servicio de traducción de nombres funciona, estos comandos solo consultan DNS y pasan por alto las configuraciones en /etc/hosts y /etc/nsswitch .conf archivos.

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

  1. Install and Configure Caching-Only DNS Server in RHEL/CentOS 7
  2. Setup a Basic Recursive Caching DNS Server and Configure Zones for Domain
  3. 8 Linux Nslookup Commands to Troubleshoot DNS (Domain Name Server)
  4. Useful ‘host’ Command Examples for Querying DNS Lookups

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