Recibí el error "nombre de host: nombre o servicio desconocido" al verificar la IP del nombre de host

Recibí el error "nombre de host: nombre o servicio desconocido" al verificar la IP del nombre de host

Estoy ejecutando Ubuntu 14.04 en el servicio en la nube de mi empresa (mi instancia tiene una IP elástica). Quiero verificar la dirección IP de mi instancia que estoy ejecutando mediante la línea de comando, pero no funcionó.

root@ubuntu14-graphite:~# hostname
ubuntu14-graphite
root@ubuntu14-graphite:~# hostname -i
hostname: Name or service not known

No entiendo el motivo. 

Intenté hacer ping a ubuntu14-graphite pero decía:

unknown host ubuntu14-graphite.

¿Eso significa que mi anfitrión ni siquiera existe?

Tengo otro servidor (no una instancia en la nube sino un servidor físico). En este servidor instalé CentOS 6.7. Revisé la IP del nombre de host y funcionó aunque no había nada especial en /etc/hosts.

Aquí está el resultado de cat /etc/hosts:

127.0.0.1   localhost

# The following lines are desirable for IPv6 capable hosts
::1         ip6-localhost ip6-loopback
fe00::0     ip6-localnet
ff00::0     ip6-mcastprefix
ff02::1     ip6-allnodes
ff02::2     ip6-allrouters
ff02::3     ip6-allhosts

Respuesta1

Significa que "el sistema" (uso ese término en un sentido amplio, general y ambiguo) no sabe que el nombre ubuntu14-graphite corresponde a su host y su dirección IP. (El hecho de que sea así es de tu anfitrión).nombreno es suficiente para que esto suceda.) Esto casi seguramente significa que no tiene una línea for ubuntu14-graphite en su /etc/hostsarchivo y que no está en su servicio de nombres (por ejemplo, DNS o NIS). En consecuencia, una forma de solucionarlo es agregar ubuntu14-graphite(y su dirección IP) a su archivo /etc/hosts. Si está utilizando un sistema de nombres (distribuido) más sofisticado como DNS o NIS (¿o tal vez ActiveDirectory?), la solución definitiva es agregar su host a ese servicio.
_____________
† ... y veo en su publicación de su archivo de hosts que este es el caso.

Existe cierto debate sobre la cuestión de qué dirección IP debe asociar con su nombre de host. Todo el mundo está de acuerdo en que debe ser una dirección que "funcione" para su anfitrión; es decir, comandos como deberían tener éxito. Algunas personas recomiendan utilizar una dirección de bucle invertido. Las direcciones de loopback siempre tienen la forma 127.ping A.B.C.D.BCD; Los valores comunes son 127.0.0.1 y 127.0.1.1. Otras personas recomiendan usar una dirección LAN, que podría verse como 192.168.CD(pero puede ser casi cualquier cosa), pero no debe colocar una dirección asignada dinámicamente en su archivo de hosts (y, si está usando DHCP con DNS, entonces las direcciones asignadas dinámicamente deben ingresarse automáticamente en sus registros DNS). ). Utilice comandos como ifconfigy hostname -I para ver qué direcciones están en uso.

Respuesta2

La forma real de verificar la dirección IP de una máquina es mediante el ifconfigcomando.

Tenga en cuenta que, dependiendo de la configuración real de la nube, es posible que la instancia del servidor no conozca la IP pública y solo conozca una IP de VLAN. Para obtener detalles sobre esto, debe consultar la documentación de su proveedor.

Respuesta3

Agregue la myhostnameentrada al hostsservicio en /etc/nsswitch.conf.

En otras palabras, cambie esta línea en /etc/nsswitch.conf:

hosts:      files dns

a esto:

hosts:      files dns myhostname

Mientras que normalmente los nombres de host se resuelven usando el /etc/hostsarchivo y dns, el nombre de host del sistema también se puede resolver diciéndole al conmutador de servicio de nombres que lo haga (como lo hará este cambio de configuración).

Esto explicaría por qué no vio nada especial sobre el /etc/hostsarchivo en el sistema que pudiera resolver con el nombre de host local.

Más información sobre la myhostnamebandera esaquí.

Respuesta4

Vaya a etc/hosts.save y verifique su nombre de host allí. Y luego edite /etc/hosts para escribir allí su nombre de host y el nombre de host en formato hosts.save. También verifique la dirección IP. Ejemplo:

127.0.0.1    ubuntu   
127.0.1.1    ubuntu.ubuntu-domain    ubuntu

información relacionada