Estoy ejecutando Ubuntu 14.04 en el servicio en la nube de mi empresa (mi instancia tiene IP elástica). Quiero verificar la dirección IP de mi instancia que estoy ejecutando por 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 por qué.
Traté de hacer ping a ubuntu14-graphite pero decía:
unknown host ubuntu14-graphite.
¿Eso significa que mi host 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ó a pesar de que no había nada especial /etc/hosts.
Aquí está la salida 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
fuente

hostnamediferente a los sistemas basados127.0.1.1 ubuntu14-graphiteen RH ... ingrese en el/etc/hostsarchivo y verifique ... note, its127.0.1.1, not127.0.0.1(que puede conservar de todos modos solo para localhost, ya que127.0.0.0/8es un bloque de bucle invertido, puede usar cualquier dirección, aunque algunos sistemas tienen direcciones restringidas predefinidas )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, la instancia del servidor puede no conocer la IP pública y solo conocer una IP de VLAN. Para obtener detalles sobre esto, debe consultar la documentación de su proveedor.
fuente
ip a s. Consulte serverfault.com/q/458628/89813 : ifconfig está en desuso en Linux.Añade el
myhostnameentrada alhostsservicio en/etc/nsswitch.conf.En otras palabras, cambie esta línea en
/etc/nsswitch.conf:a esto:
Cuando generalmente los nombres de host se resuelven usando el
/etc/hostsarchivo y el dns, el nombre de host del sistema también se puede resolver diciéndole al Switch de servicio de nombres que lo haga (como lo hará este cambio de configuración).Esto explicaría por qué no viste nada especial sobre el
/etc/hostsarchivo en el sistema que pudiera resolver el nombre de host local.Más información sobre la
myhostnamebandera está aquí .fuente
En mi opinión, depende de la versión del comando hostname (paquete de herramientas de red).
Ver: https://bugzilla.redhat.com/show_bug.cgi?id=319981
hostname -i- me da información sobre IPv6 e IPv4fuente
hostname -s, nohostname -i. Esto no está relacionado con las versiones dehostname, está relacionado con si el nombre de host proporcionado porhostnamees resoluble.Vaya a etc / hosts.save y verifique su nombre de host allí. Y luego edite
/etc/hostspara escribir allí su nombre de host y el nombre de hosthosts.save. Verifique también la dirección IP. Ejemplo:fuente
/etc/hostsno les dará la dirección IP real. Tampoco veo por qué también lo estás viendo,/etc/hosts.saveque es un tecnicismo y muy irrelevante.