GNU/Linux >> Tutoriales Linux >  >> Linux

Entendiendo el archivo /etc/hosts en Linux

¿Qué es /etc/hosts y por qué se usa?

Para enviar tráfico de red a un host, se debe conocer la dirección numérica del Protocolo de Internet (IP) para ese host. La dirección IP tradicionalmente se escribe como xxx.xxx.xxx.xxx, donde cada xxx representa un valor de 0 a 255, para una dirección de red IPv4. Las computadoras requieren estas direcciones, pero a los humanos les resulta difícil recordar valores numéricos. El Servicio de nombres de dominio (DNS) proporciona un mecanismo para asociar uno o más nombres alfanuméricos con una dirección IP numérica. En un sistema Linux, estos nombres legibles son convertidos a sus equivalentes IP numéricos por la Biblioteca Resolver, contenida en los archivos libresolve.so proporcionados como parte del paquete RPM glibc. Los programas que necesitan buscar la dirección IP numérica para un problema de nombre llaman a esta biblioteca.

Los nombres de host y sus direcciones IP se pueden encontrar en una variedad de lugares:archivos locales, servidores DNS remotos o servidores NIS+, por nombrar algunos. El orden en que se buscan estos recursos depende de los hosts:entrada en /etc/nsswitch.conf expediente. Esta línea normalmente se ve así:

# vi /etc/nsswitch.conf
hosts: files dns

Esto hace que la biblioteca de resolución consulte primero el archivo local /etc/hosts; si el nombre de host no se encuentra allí, consulte los servidores de nombres DNS remotos identificados por /etc/resolv.conf archivo.

Linux proporciona el bind Paquete RPM para permitir que un dominio administrativo configure y mantenga su propio servicio DNS, pero con frecuencia el tamaño de la red local es solo de unos pocos hosts y justifica el esfuerzo de mantener un servicio DNS injustificado.

Formato del archivo /etc/hosts

El archivo /etc/hosts es un archivo de texto ordinario. Se permiten dos tipos de líneas:

  1. Líneas vacías
  2. Definiciones de nombres de host

Las líneas se pueden entremezclar según sea necesario. Los comentarios comienzan con un símbolo de almohadilla (# ) y continúa hasta el final de la línea.

Asociación de nombres de host y direcciones IP

Para cada host debe estar presente una sola línea con la siguiente información:

IP_address canonical_hostname [aliases ...]

Los campos de la entrada están separados por cualquier espacio en blanco (espacios o tabuladores). El primer campo es la dirección IP numérica que se utilizará para todos los nombres de host en esta entrada. Se puede utilizar una dirección IPv4 (10.1.2.3), una dirección IPv6 (2001:0db8:0000:0000:0000:0000:1428:57ab) o una abreviatura de IPv6 (::1), según sus requisitos.

Después de la dirección IP, los tokens restantes especifican los nombres de host conocidos localmente asociados con esa dirección IP. Por convención, el primer nombre después de la dirección IP es el nombre de dominio canónico o totalmente calificado. Un ejemplo de nombre canónico sería server.example.com; este es el nombre oficial del host.

Los nombres restantes definidos para la dirección IP son alias o nombres alternativos para el nombre de host oficial. Por ejemplo, supongamos que una de las tareas asignadas a server.example.com es ser el sitio FTP corporativo. Entonces, un alias adecuado podría ser myftp.example.com y este nombre podría agregarse a la entrada /etc/hosts después del nombre canónico. Muchas veces, un alias es simplemente el nombre del host, sin ningún sufijo de dominio. Por ejemplo:

192.168.10.12 server.example.com myftp.example.com myhost myftp

La ventaja de enumerar el nombre de host canónico como la primera definición en la línea es que la conversión de IP a nombre de host (similar a las búsquedas DNS inversas) generalmente muestra solo el primer nombre encontrado; la convención usa el nombre canónico para esto. En nuestro ejemplo, el comando:

$ ping myftp
PING myhost.example.com (192.168.10.12) 56(84) bytes of data.
64 bytes from myhost.example.com (192.168.10.12): icmp_seq=1 ttl=64 time=0.023 ms
64 bytes from myhost.example.com (192.168.10.12): icmp_seq=2 ttl=64 time=0.028 ms
64 bytes from myhost.example.com (192.168.10.12): icmp_seq=3 ttl=64 time=0.028 ms

Tenga en cuenta que hicimos ping a myftp pero los resultados provienen del host myhost:esta es una pista confiable de que se está dirigiendo a un alias, no al host real.


Linux
  1. Una introducción al archivo Linux /etc/fstab

  2. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  3. ¿Crear un archivo de hosts específico del usuario para complementar /etc/hosts?

  4. Entendiendo el archivo /etc/xinetd.conf en Linux

  5. Límite de tamaño de /etc/hosts (Linux)

Configuración de Linux:comprensión de los directorios *.d en /etc

¿Qué es el archivo /etc/passwd en Linux?

Entendiendo el archivo /etc/group

Comprender el archivo /etc/fstab en Linux

Comprender los archivos /proc/mounts, /etc/mtab y /proc/partitions

Cambiador de archivos de hosts en linux