Menú
Está libre
registro
hogar  /  Problemas/ DNS y nombres de dominio. Sustitución de dominio local de comandos de Linux

DNS y nombres de dominio. Sustitución de dominio local de comandos de Linux

Quiero hablar sobre una forma un tanto no estándar con la que puede abrir sitios en el navegador usando nombres cortos. Por ejemplo, en lugar de escribir "yandex.ru" en el navegador, simplemente puede escribir una letra "y". El archivo / etc / hosts nos ayudará con esto.

/ Etc / archivo hosts

El archivo / etc / hosts establece la correspondencia entre la dirección IP y el nombre de host (nombre de host, dominio), así como sus alias (también llamados sinónimos, alias). Cuando accede a cualquier dirección en la red, por ejemplo, http://yandex.ru, luego para acceder al sitio, el sistema necesita primero convertir la dirección del sitio en la dirección IP correspondiente, para esto el sistema solicita la IP dirección del servidor DNS. Si se escribe una correspondencia entre yandex.ru y una dirección IP en el archivo / etc / hosts, el sistema utilizará esta dirección IP en particular. Y dado que también podemos especificar un alias en el archivo / etc / hosts mediante el cual estará disponible una dirección IP específica, podemos especificar, por ejemplo, para yandex.ru el alias "y". En consecuencia, cuando pregunte "y" en su navegador, el sistema leerá la dirección IP en el archivo / etc / hosts y abrirá el sitio web yandex.ru. Es decir, / etc / hosts es una especie de servidor DNS local.

Cómo averiguar la dirección IP de un sitio

Ahora necesitamos determinar las direcciones IP de los sitios que queremos agregar a / etc / hosts. Cabe señalar que no todos los sitios tienen una dirección IP dedicada separada y es imposible acceder a ellos solo por la dirección IP. Pero casi todos los sitios y portales grandes tienen su propia dirección IP dedicada. Una forma sencilla de averiguar la dirección IP de un sitio es utilizar el comando ping:

Haga ping a la URL del sitio.

Por ejemplo, ejecutemos:

ping yandex.ru

El proceso de ping se mostrará en la pantalla (para cancelar presione Ctrl + C). Entonces, obtenemos el resultado del comando ping en la forma:

PING yandex.ru (87.250.250.11) 56 (84) bytes de datos. 64 bytes de yandex.ru (87.250.250.11): icmp_seq = 1 ttl = 57 tiempo = 3,57 ms ...

Aquí puede ver que yandex.ru corresponde a la dirección IP 87.250.250.11. Del mismo modo, actuamos para otros sitios.

Editando el archivo / etc / hosts

Debe tener cuidado al editar el archivo / etc / hosts para no estropear las cosas, ya que esto archivo de sistema y es importante no violar su sintaxis. Abra el archivo para editarlo, para hacer esto, ejecute en la línea de comando:

Sudo gedit / etc / hosts

El contenido del archivo se parece a esto:

127.0.0.1 localhost :: 1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # Las siguientes líneas son deseables para hosts con capacidad IPv6: 1 localhost ip6-localhost ip6-loopback fe00 :: 0 ip6-localnet ...

La sintaxis del archivo / etc / hosts es muy simple:

Dirección IP nombre de host [alias, ...]

Agreguemos nuevas líneas al archivo para diferentes sitios:

74.125.232.19 google.ru g 94.100.191.203 mail.ru m 194.186.36.211 rbc.ru r 87.250.250.11 yandex.ru y

Guarde y cierre el archivo. Hemos registrado la correspondencia entre direcciones IP, nombres de sitios y sus alias. Ahora ve al navegador y en Barra de dirección simplemente ingrese "g", el sitio google.ru debería abrirse. Para abrir mail.ru simplemente ingrese "m", para rbc.ru - solo "r", yandex.ru - "y".

Pregunta. ¿Cómo puedo agregar un usuario a un grupo en Linux?

Respuesta. Puede usar los comandos useradd o usermod para agregar un usuario a un grupo. El comando useradd crea un nuevo usuario o actualiza la información de uno existente. El comando usermod modifica un usuario existente. Toda la información sobre usuarios y grupos se almacena en los archivos / etc / passwd, / etc / shadow y / etc / group.

Ejemplo de Useradd: agregar un nuevo usuario a un grupo secundario

Usamos el comando useradd para agregar un nuevo usuario a un grupo existente. Si el grupo no existe, créelo. Sintaxis:

Useradd -G (nombre de grupo) nombre de usuario

Crea un usuario vivek y agrégalo al grupo de desarrolladores. Iniciar sesión como usuario root y asegúrese de que exista el grupo de desarrolladores:

# desarrolladores grep / etc / group

Desarrolladores: x: 1124:

Si no hay un grupo, use el comando groupadd para crear nuevo grupo desarrolladores:

# desarrolladores de groupadd

Luego agregue el usuario vivek al grupo de desarrolladores:

# useradd -G desarrolladores vivek

Establezca una contraseña para el usuario vivek:

Asegúrese de que el usuario esté agregado al grupo de desarrolladores:

# id vivek Salida:

Uid = 1122 (vivek) gid = 1125 (vivek) grupos = 1125 (vivek), 1124 (desarrolladores)

La opción -G permite al usuario agregar un grupo. Los grupos se pueden enumerar separados por comas. Por ejemplo, agreguemos el usuario jerry a los grupos

administradores, ftp, www y desarrolladores ingresando:

# useradd -G administradores, ftp, www, desarrolladores jerry

Ejemplo de Useradd: agregar un nuevo usuario al grupo principal

Para agregar el usuario tony al grupo de desarrolladores, use el siguiente comando:

# useradd -g desarrolladores tony

uid = 1123 (tony) gid = 1124 (desarrolladores) grupos = 1124 (desarrolladores)

La opción -g le permite agregar el usuario al grupo principal. El grupo debe existir.

Ejemplo de uso de usermod: agregar un usuario existente a un grupo existente

Agregue el usuario existente tony al grupo de ftp secundario:

# usermod -a -G ftp tony

Cambie el grupo principal del usuario existente Tony a www:

# usermod -g www tony

Centinela

Para la segunda torre, pedí un ensayo en el sitio web de Studinform. Es una pena, por supuesto, pero no hay absolutamente ningún tiempo para hacerlo usted mismo. El pedido se cumplió de manera muy rápida y eficiente. ¡Recomendar!

Para mi coche ahora estoy pensando en qué neumáticos poner. Pensé mucho en los neumáticos con clavos. Según las revisiones, hasta donde he leído, la diferencia en la distancia de frenado de los mejores neumáticos con clavos y mejores modelos sin espinas era de 10 metros! Hay algo en que pensar ...

Este artículo lo guiará a través del comando host. La utilidad de host está diseñada para realizar consultas a servidores DNS.

[Alexey Vyskubov]

Este artículo lo guiará a través del comando host.

Se dan ejemplos de trabajo en sistemas operativos Linux 2.2.17 (Debian inestable, "woody") y FreeBSD 4.2.

La utilidad de host está diseñada para realizar consultas a servidores DNS.
De forma predeterminada, solo encuentra la dirección IP que coincide con el nombre de host dado, por ejemplo:

$ host www.site

Sitio web A 195.5.132.10

$ host www.site

El sitio web tiene la dirección 195.5.132.10

Como puede ver, en el caso de Linux, la utilidad produce un registro DNS de tipo A, mientras que FreeBSD simplemente informa la dirección del host usando inglés... Cabe señalar que el registro DNS proporcionado por Linux no es adecuado para la inserción directa en la base de datos del servidor DNS porque el nombre de host no termina con un punto; especificar un punto después del nombre de host cuando se invoca al host tampoco ayuda.
Además, falta el IN entre el nombre de host y A. Si necesita obtener un registro que pueda colocarse directamente en la base de datos DNS, en Linux puede usar la opción -Z:

$ host -Z slashdot.org

Slashdot.org. 3600 PULGADAS 64.28.67.48

FreeBSD no tiene esta característica.

Una situación similar surge cuando nombre especificado es un alias --- Linux genera una línea con la palabra CNAME, mientras que FreeBSD usa la construcción "xxx.yyy.zzz es un apodo para aaa.bbb.ccc" :

$ host admin1.piter-press.ru

Admin1.piter-press.ru CNAME ns.piter-press.ru

Ns.piter-press.ru A 195.239.142.33

$ host admin1.piter-press.ru.

Admin1.piter-press.ru es un apodo para ns.piter-press.ru

Ns.piter-press.ru tiene la dirección 195.239.142.33

Tenga en cuenta que el comando de host puede ir seguido del nombre del servidor que desea sondear después del nombre de host. Si no se especifica el nombre del servidor (como en nuestros ejemplos), se sondea uno de los servidores DNS de esta zona.

Si el host recibe una dirección IP, en lugar de un nombre de host, entonces se realiza la conversión inversa --- a un FQDN.

$ host 195.239.142.33

Nombre: ns.piter-press.ru

Dirección: 195.239.142.33

$ host 195.239.142.33

33.142.239.195.IN-ADDR.ARPA puntero de nombre de dominio ns.piter-press.ru

Esta vez, en el caso de Linux, lo habitual información de texto(aunque, al parecer, ¿por qué no mostrar un registro DNS como PTR?). FreeBSD es más lógico --- Dirección IP convertido a su nombre de host correspondiente en la zona IN-ADDR.ARPA, para la cual se muestra la información --- nuevamente, usando inglés.

Sustitución de dominio local

Otra diferencia importante entre las versiones de host de Linux y FreeBSD es que si el nombre de host no termina con un punto, FreeBSD intenta sustituirlo por el dominio local, lo que Linux no hace (posiblemente un error, ya que la página de manual indica lo contrario):

$ nombre de host -d

$ nslookup woe.spb.ru

Servidor: frei.home

Dirección: 192.168.1.5

Nombre: woe.spb.ru

Dirección: 193.125.200.14

$ host ay

Ay no existe (respuesta autorizada)

Como podemos ver, spb.ru es un dominio local, el host woe.spb.ru existe, pero el comando host woe no produce el resultado deseado. Cabe señalar que la presencia de la línea de búsqueda spb.ru (o dominio spb.ru) en el archivo /etc/resolv.conf resolvería el problema. En FreeBSD, el host se comporta de manera diferente:

$ host alv

Alv.home tiene la dirección 192.168.1.1

$ host alv.

Host no encontrado

El dominio local se sustituyó solo en el primer caso, ya que el nombre no terminaba con punto. Las líneas de búsqueda y / o dominio en resolv.conf son opcionales.

Detalles: opción -v

Una opción útil es -v (detallado). En Linux y FreeBSD, su efecto es casi el mismo: muestra información adicional sobre la zona.

$ host -v www.spb.ru

Consulta sobre www.spb.ru para tipos de registro A

Intentando www.spb.ru ...

Consulta realizada, 1 respuesta, estado: sin error

Www.spb.ru 2134 EN UN 195.190.101.3

Información de autoridad:

Www.spb.ru 48235 EN NS ns.nevalink.ru

Www.spb.ru 48235 EN NS ns1.gldn.net

Www.spb.ru 48235 EN NS ns2.gldn.net

Información adicional:

Ns.nevalink.ru 54275 EN UN 195.190.100.28

Ns1.gldn.net 10978 EN UN 194.67.2.108

Ns2.gldn.net 10972 EN UN 195.218.218.8

$ host -v www.spb.ru.

Rcode = 0 (éxito), ancount = 1

La siguiente respuesta no es autoritaria:

El servidor no verifica la siguiente respuesta como auténtica:

Www.spb.ru 2053 EN UN 195.190.101.3

Para obtener respuestas autorizadas, consulte:

Www.spb.ru 48154 EN NS ns.nevalink.ru

Www.spb.ru 48154 EN NS ns1.gldn.net

Www.spb.ru 48154 EN NS ns2.gldn.net

Información adicional:

Ns.nevalink.ru 51480 EN UN 195.190.100.28

Ns1.gldn.net 10348 EN UN 194.67.2.108

Ns2.gldn.net 10342 EN UN 195.218.218.8

El campo numérico que aparece en la respuesta del anfitrión requiere una aclaración. Al llamar al host varias veces, notará que su valor disminuye constantemente, lo cual no es sorprendente, ya que este campo contiene el TTL --- tiempo grabando la vida en la zona.

En Linux, puede utilizar la opción -vv para mostrar información sobre el proceso de obtención de registros DNS.

Selección de tipos de registro: opciones -a y -t

Dos más parámetro importante host --- comandos -a y -t. La opción -a significa -t ANY en Linux y -v -t any en FreeBSD, así que veamos el valor de la opción -t.

Este parámetro se utiliza para establecer el tipo de registros DNS que le interesan. Se admiten los tipos de registro A, NS, MD, MF, CNAME, SOA, MB, MG, MR, NULL, WKS, PTR, HINFO, INFO, MX, UINFO, UID, GID, UNSPEC. Tenga en cuenta que en Linux, el tipo de entrada se puede especificar en cualquier caso, mientras que en FreeBSD, solo puede estar en letras minúsculas (a, ns, cname, etc.). Si no se especifica el parámetro -t, entonces Linux busca por defecto registros de tipo A, si se especifica el parámetro -l (ver más abajo) --- entonces tipos A, NS, PTR. FreeBSD, si no se especifica el parámetro -t, busca registros de los tipos A y MX, y si se especifica el parámetro -l, también busca PTR y NS. La versión de Linux del host también admite el tipo de registro MAILB, es decir, cualquier tipo de MB, MR, MG o MINFO. En lugar de especificar la opción -t MAILB, puede especificar la opción -m; en este caso, también se realizará la expansión recursiva de registros de tipos MR y MG a MB. Listado de zonas: Opción -l Con el comando host con la opción -l, puede obtener una lista de una zona completa. Utilice las opciones -a y -t para especificar los tipos de registro que le interesan. Tenga en cuenta que el listado de zonas se genera solicitando a AXFR que transfiera la zona y extrayendo la información necesaria de la recibida. Esto significa que el parámetro -l crea una carga adicional en la red y los servidores DNS, por lo que debe usarlo lo menos posible. Además, muchos administradores del sistema configuran sus servidores DNS de tal manera que no ceden la zona a nadie, negándose a procesar la solicitud AXFR (mientras que la versión FreeBSD del host ni siquiera se molesta en explicarte claramente lo que sucedió):

$ host -l slashdot.org

Consulta de registro AXFR de Slashdot.org rechazada por ns2.andover.net

Consulta de registro AXFR de Slashdot.org rechazada por ns3.andover.net

Consulta de registro AXFR de Slashdot.org rechazada por ns1.andover.net

No respondió ningún servidor de nombres para slashdot.org

$ host -l slashdot.org

Error del servidor: consulta rechazada

En Linux, puede crear una copia completa de una zona adecuada para alimentar el enlace con el comando host -Z -a -l (y escribirlo en un archivo agregando -f nombre de archivo).

Otros parámetros

Como sabes, el DNS es un sistema recursivo. Si el servidor DNS no encuentra la información solicitada, inicia una solicitud recursiva al servidor "ascendente".
El comando host tiene la capacidad de evitar esto: el parámetro -r deshabilita las consultas recursivas: solo se consulta el servidor DNS predeterminado. Esta opción funciona casi igual en Linux y FreeBSD, pero la salida del comando cuando no se encuentra una entrada es ligeramente diferente:

$ host -r www.spb.ru

Www.spb.ru Un registro actualmente no está presente

$ host -r www.spb.ru

Como puede ver, FreeBSD simplemente no genera nada.

El comando de host, en principio, se puede usar no solo en Internet. La opción -c nos permite especificar la clase de registros que nos interesan. Se admiten las clases de registro IN, CHAOS, HS, HESIOD (IN se utiliza de forma predeterminada). Las clases INTERNET, CS, CSNET, CH también son compatibles con Linux. Puede usar la palabra clave ANY para especificar todas las clases (en Linux también puede usar el símbolo *, solo recuerde que debe escapar del shell).

Para mostrar información de depuración, use el parámetro -d (en Linux se puede duplicar --- -dd--- para aumentar la cantidad de información de depuración).

En la versión de host de FreeBSD, el modificador -s se usa para trabajar con DNSSEC (la versión de Linux no funciona con DNSSEC, el modificador -s se usa para especificar el tiempo de espera del servidor DNS en segundos).

Listado de zonas: características adicionales Versiones de Linux

Los parámetros descritos en esta sección son específicos de la versión del host para Linux.

Listados recursivos: el parámetro -L El parámetro -L especifica el nivel de recursividad cuando se muestra un listado de zona. Por ejemplo, el comando:

$ host -l -a -L 1 alguna.zona

Esto listará la zona some.zone, así como todas sus zonas delegadas.
Aumentar el nivel de recursividad aumenta la profundidad de visión de las zonas delegadas. Todo lo que se diga acerca de la indeseabilidad de usar el parámetro -l es aún más importante cuando se usa la combinación -L -l.

Estadísticas: Opción -S Al especificar la opción -S al obtener una lista de zonas, se muestran estadísticas sobre la cantidad de registros encontrados diferentes tipos, el número de hosts de varios tipos, el número de zonas delegadas, etc .:

$ host -l -a -S freshmeat.net

Freshmeat.net. SOA freshmeat.net. dns-admin.freshmeat.net.



Uso de servidores DNS específicos: opciones -p y -P

El parámetro -p indica que se use solo el servidor DNS primario al recuperar una lista de zonas. El nombre del servidor DNS primario se determina utilizando el registro SOA de la zona en cuestión.
El parámetro -P le permite especificar una lista de dominios preferidos (separados por comas). Se utilizará el servidor DNS con la mayor cantidad de coincidencias de componentes de nombre para uno de los dominios especificados. El uso de estos parámetros se puede ver en el siguiente ejemplo:

$ host -vv -p -l piter.com

Intentando el servidor 195.239.142.33 (ns.piter.com) ...

$ host -vv -P hellix.piter.com -l piter.com

Buscando servidores de nombres para piter.com ...

Consulta realizada, 2 respuestas, estado: sin error

La siguiente respuesta no es autoritaria:

Piter.com 3308 IN NS ns.piter.com

Piter.com 3308 IN NS hellix.piter.com

Información adicional:

Ns.piter.com 85293 IN A 195.239.142.33

Hellix.piter.com 3308 EN A 193.125.199.13

Se encontró 1 dirección para ns.piter.com

Se encontró 1 dirección para hellix.piter.com

Intentando el servidor 193.125.199.13 (hellix.piter.com) ...

Salto de zonas: parámetro -N

El parámetro -N le permite especificar una lista de zonas (separadas por comas), cuya información no es necesaria. Por lo general, se usa junto con la opción -L.

Linux: sintaxis extendida Al especificar el parámetro -x, puede usar la llamada sintaxis extendida del comando host, pasándole más de un nombre de host. Dado que cada nombre en este caso se trata como un nombre de host que necesita ser recuperado, la opción -X se usa para especificar el servidor DNS para sondear. Si se especifica -X, se asume -x.

La sintaxis extendida permite que el host se ejecute sin nombres de host en absoluto, pasándolos posteriormente a la entrada estándar del programa. Una sola línea puede contener varios nombres de host, pero si aparece un carácter # o; en la línea, el resto se ignora.

Linux: modos especiales

Uno de regímenes especiales soportado por la utilidad de host es el modo de transferencia de zona habilitado por la opción -l. Hay varios otros modos especiales en la versión de Linux de la utilidad, todos menos uno de los cuales son variaciones del modo -l.

Variaciones del modo de transferencia de zona

La opción -C es similar a la opción -l, pero invoca varias comprobaciones para la zona, en particular, comprueba si cada uno de los servidores DNS enumerados en los registros NS de la zona es realmente capaz de proporcionar una respuesta autorizada a una solicitud. para una zona. También se realizan otras comprobaciones de validación de zona.

La opción -H también es similar a la opción -l, lo que hace que la zona se transfiera, aunque no muestra ninguna información de entrada. En cambio, se cuenta el número de registros A en la zona. Se tiene especial cuidado (ver host man 1) para tener en cuenta sólo hosts "reales". La combinación de las opciones -H -S le permite obtener estadísticas detalladas de la zona:

$ host -H -S freshmeat.net

Se encontraron 34 registros A en freshmeat.net

Se encontraron 4 registros NS en freshmeat.net

Se encontraron 9 registros CNAME en freshmeat.net

Se encontraron 2 registros SOA en freshmeat.net

Se encontraron 4 registros MX en freshmeat.net

Se encontraron 32 hosts en freshmeat.net

Se encontraron 9 hosts duplicados en freshmeat.net

Se encontraron 12 hosts extrazona dentro de freshmeat.net

Se encontró 1 host de puerta de enlace dentro de freshmeat.net

Se encontraron 0 zonas delegadas dentro de freshmeat.net

Las opciones -G, -D, -E muestran los nombres de los hosts de puerta de enlace, hosts duplicados y hosts extrazona, respectivamente. En este caso, una puerta de enlace significa un host que tiene más de una dirección IP, y un host duplicado significa un host con exactamente una dirección IP, que también corresponde a varios nombres (posiblemente de diferentes zonas; esto puede significar un error en la zona). ). Un host fuera de temporada para some.zone es un host con el formato host.something.some.zone, donde something.some.zone no es una zona delegada.

Modo de verificación de dirección

El último modo de la versión de Linux de la utilidad de host que no hemos analizado es el modo de comprobación de direcciones, iniciado por el parámetro -A. En este caso, se realizan las siguientes acciones:

* Si se especificó un nombre de host como argumento, se determina su dirección, en la que se determina el nombre de host, y se verifica si coincide con el nombre original.

* Si se especificó una dirección IP como argumento, se determina el nombre de host correspondiente y luego se verifica si la dirección IP de origen está incluida en la lista de direcciones IP para el nombre de host encontrado.

* Si el parámetro se especifica junto con el parámetro -l, las acciones descritas se realizan para cada registro A en la zona.

Alexey Vyskubov,

Otro método de resolución de nombres es utilizar una base de datos de nombres de host local, similar a la forma en que se hacía en los primeros días. Redes de internet... El archivo / etc / hosts contiene una lista de nombres de host con las direcciones IP correspondientes. El Listado 4.3 muestra un archivo / etc / hosts de ejemplo para un cliente Linux. Debe contener el nombre y la dirección IP de su máquina, y la dirección IP de bucle invertido 127.0.0.1 para fines comerciales. Además, si hay algún host remoto al que su servidor Linux se conecta periódicamente, también es recomendable especificar sus direcciones IP en el archivo / etc / hosts. Ahora, cada vez que se acceda a estos hosts, el servidor Linux ya tendrá sus direcciones IP; por lo tanto, no es necesario realizar consultas de DNS. Además, acelera enormemente el establecimiento de una conexión.

1 127.0.0.1 localhost 2192.168.0.1 shadrach.smallorg.org 3 10.0.0.1 mail1.isp.net 4 10.0.0.2 mail2.isp.net 5 10.0.0.3 fred.otherplace.com Listado 4.3. Ejemplo de archivo / etc / hosts

La primera y la segunda línea indican las direcciones IP del servidor Linux local. Las líneas 3-5 muestran las direcciones IP de las máquinas más solicitadas en su red. Gracias a esto, se acelera el acceso a ellos desde un servidor basado en Linux, en comparación con el uso del sistema DNS.

Nombre del host local

Todas las computadoras Linux admiten el nombre de host local. Este nombre siempre corresponde a la dirección IP 127.0.0.1, que se asigna a un dispositivo de red especial de tipo bucle. Este nombre y dirección permiten que los procesos internos se comuniquen con otros procesos en el mismo sistema utilizando protocolos de red. Muchos programas incluso están configurados para usar el nombre de localhost. Cambiar este nombre o su dirección IP correspondiente puede afectar el funcionamiento de estos programas.

Archivo de traducción DNS

El archivo /etc/host.conf define los métodos y el orden para resolver los nombres del sistema operativo Linux. El Listado 4.4 muestra un ejemplo de archivo /etc/host.conf.

1 orden de hosts, enlazar 2 múltiples en Listado 4.4. Ejemplo de archivo /etc/host.conf

La primera línea especifica el orden en el que se resuelven los nombres de host. Aquí el quirófano Sistema Linux especifica que primero debe ir al archivo / etc / hosts y buscar el host allí, y luego intentar resolver el nombre usando DNS (bind), si no se pudo hacer usando / etc / hosts.

Utilidades del cliente DNS de Linux

Para ayudar al administrador del sistema, se han escrito muchas utilidades de Linux para facilitar al DNS la búsqueda de información sobre redes y hosts remotos. Para los sistemas UNIX, el Consorcio de Software de Internet creó paquete de software Berkeley Internet Name Domain (BIND), que incluye tres de las utilidades más útiles, desde el punto de vista del autor, y ampliamente utilizadas: host, nslookup y dig. Estos programas se distribuyen junto con el software incluido en la mayoría de las distribuciones de Linux. Red Hat y Mandrake Linux envían estos programas como paquetes RPM.

Al resolver posibles problemas relacionados con el trabajo Correo electrónico en Internet, estas utilidades son bastante útiles. A menudo, el remitente comete errores en la dirección de correo electrónico del destinatario y no se aceptan cartas. Naturalmente, estará absolutamente seguro de que utilizó la dirección correcta y culpará por los mensajes devueltos. Sin embargo, después de una pequeña charla con DNS, puede sacar conclusiones definitivas sobre la corrección o incorrección de la dirección de correo electrónico.

Utilidad de host

El programa anfitrión realiza la resolución de nombres más simple utilizando DNS. El formato del comando de host es el siguiente:

host [-l] [-v] [-w] [-r] [-d] [-t querytype] [-a] host

De forma predeterminada, el comando host intenta obtener la dirección IP para el nombre especificado como host utilizando el servidor DNS definido en el archivo /etc/resolv.conf. Si el servidor se especifica en la línea de comando, el comando de host lo usará como servidor DNS de forma predeterminada. Añadiendo Opciones extra en la línea de comando, puede modificar cómo funciona el comando de host. Todos estos parámetros se muestran en la tabla. 4.5.

Cuadro 4.5. Opciones de comando de host
Parámetro Descripción
-l Muestra información completa sobre el dominio.
-v Utilice un formato detallado al mostrar los resultados
-w Hace que el comando del host espere una respuesta
-r Desactiva el modo de recursividad
-D Habilita el modo de depuración
-t tipo de consulta Determina el tipo de solicitud
-a Recupera todos los registros DNS

La opción -l se puede utilizar para buscar información sobre todos los hosts de un dominio. Muy a menudo, el parámetro -t se usa junto con él para filtrar información por tipo (por ejemplo, -t MX devuelve solo registros MX para un dominio). Desafortunadamente, la opción -l es difícil de usar en este momento por razones de seguridad, ya que la mayoría de los servidores DNS se niegan a proporcionar información de host de sus bases de datos. Si la información se solicita desde un servidor DNS remoto u ocupado (o mediante una conexión de baja velocidad), se puede utilizar el parámetro -w. Con su ayuda, el programa anfitrión espera a la fuerza una respuesta a la solicitud. El tiempo de espera predeterminado es de aproximadamente un minuto.

Una de las opciones más útiles es -r. Indica al servidor DNS que devuelva solo la información que se encuentra en su base de datos local. En este caso, el servidor DNS no se pone en contacto con otros servidores DNS para obtener información.

Esto es muy útil para determinar si su servidor DNS está almacenando en caché las respuestas DNS correctamente. Primero, intente especificar la opción -r. Si no hay información de nombre de host, no se recibirá respuesta del servidor DNS local. Luego emita el comando sin el parámetro -r. Aquí se debe recibir una respuesta normal, ya que el servidor DNS local puede recibir datos de otros. Servidores DNS... Luego intente el comando de host nuevamente con la opción -r. La información recibida ahora debe coincidir exactamente con los datos obtenidos como resultado del intento anterior. Esto significa que el servidor DNS esta vez obtuvo información de la caché que era relevante para el intento anterior. Si no se recibe información, el servidor DNS local no almacenó en caché la respuesta anterior. Entonces deberías notar una ralentización significativa en la recepción de la respuesta a la solicitud, ya que se realiza a través de la red y no se toma de la caché.

De forma predeterminada, el comando del host intentará generar su salida en un formato fácil de leer. Por ejemplo, como se muestra en el Listado 4.5. Si se proporciona la opción -v, la salida se parece a los registros DNS originales. Esto puede resultar útil al depurar DNS.

1 $ host www.linux.org 2 www.linux.org tiene la dirección 198.182.196.56 3 www.linux.org El correo es manejado (pri = 2O) por router.invlogic.com 4 www.linux.org El correo es manejado (pri = 30) por border-ai.invlogic.com 5 www.linux.org El correo se maneja (pri = 10) por mail.linux.org 6 $ Listado 4.5. Ejemplo de comando de host

La línea 1 muestra el formato básico del comando de host; simplemente agregue el nombre de host sobre el que desea obtener información. Las líneas 2-5 representan los resultados del trabajo del equipo. La línea 2 muestra que el servidor DNS pudo resolver el nombre de host dado en su dirección IP. Las líneas 3-5 a continuación muestran las tres computadoras que pueden recibir correo electrónico para un host determinado de acuerdo con los registros MX. Tenga en cuenta que el comando host incluso muestra los pesos (o prioridades) de cada servidor de correo. Si el correo se envió al usuario del host especificado, entonces el servidor con prioridad 10 (mail.linux.org) primero se hará cargo de su entrega. Si el comando de host no se ejecuta, puede enviar la solicitud a través de otro servidor DNS especificando su dirección después de la dirección de host en la línea de comando. Esto es muy efectivo si cree que el servidor DNS local no se está comportando correctamente.

Versión de anfitrión.

Descripción

En la sintaxis que se indica a continuación, nombre es el nombre de dominio que se va a buscar. El nombre también puede ser una dirección IPv4 decimal con puntos o una dirección IPv6 delimitada por dos puntos, en cuyo caso anfitrión realizará de forma predeterminada una búsqueda inversa para esa dirección. los servidor es un argumento opcional que es el nombre o la dirección IP del servidor de nombres que el host debe consultar en lugar del servidor o los servidores enumerados en /etc/resolv.conf.

Sintaxis

host [-aCdlnrsTwv] [-c clase] [-N ndots] [-R número] [-t escribe] [-W Espere] [-m bandera] [-4] [-6] {nombre} [servidor]

Opciones

los -a (todos) es equivalente a configurar la -v opción y preguntando anfitrión para realizar una consulta de tipo ANY.

Cuando el -C se utiliza la opción, anfitrión intentará mostrar los registros SOA para el nombre de la zona de todos los servidores de nombres autorizados enumerados para esa zona. La lista de servidores de nombres está definida por los registros NS que se encuentran para la zona.

-C clase

los -C la opción instruye anfitrión hacer un DNS consulta de clase clase... Esto se puede utilizar para buscar registros de recursos de la clase Hesiod o Chaosnet. La clase predeterminada es EN(Internet).

La salida detallada es generada por anfitrión cuando el -D o -v se utiliza la opción. Las dos opciones son equivalentes. Se han proporcionado para compatibilidad con versiones anteriores. En versiones anteriores, el -D opción activada depuración de trazas y -v habilitado salida detallada.

El modo de lista es seleccionado por el -l opción. Esto hace que el host realice una transferencia de zona para el nombre de la zona. Transfiera la zona imprimiendo los registros NS, PTR y de dirección (A / AAAA). Si se combina con -a se imprimirán todos los registros.

los -I La opción especifica que las búsquedas inversas de direcciones IPv6 deben usar el dominio IP6.INT como se define en RFC1886. El valor predeterminado es utilizar IP6.ARPA.

-NORTE ndots

los -NORTE La opción establece el número de puntos que deben estar en el nombre para que se considere absoluto. El valor predeterminado es el definido mediante el ndots declaración en /etc/resolv.conf, o 1 si no ndots la declaración está presente. Los nombres con menos puntos se interpretan como nombres relativos y se buscarán en los dominios enumerados en la directiva de búsqueda o dominio en /etc/resolv.conf.

-R número

los -s la opción dice anfitrión no enviar la consulta al siguiente servidor de nombres si algún servidor responde con una respuesta SERVFAIL, que es lo contrario del comportamiento normal de resolución de stub.

-metro bandera

los -metro se puede utilizar para configurar el registro, el uso y el seguimiento de las banderas de depuración del uso de la memoria.

Ejemplos de

anfitrión 204.228.150.3

Este comando realiza una búsqueda inversa en la dirección IP 204.228.150.3 , lo que da como resultado la salida:

3.150.228.204.in-addr.arpa puntero de nombre de dominio www.site.

Comandos relacionados

cavar- Utilidad de búsqueda de DNS.
nslookup- Consultar un servidor de nombres para obtener información sobre un host remoto.
silbido- Enviar paquetes ICMP ECHO_REQUEST a los hosts de la red.