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
hostname
diferente a los sistemas basados127.0.1.1 ubuntu14-graphite
en RH ... ingrese en el/etc/hosts
archivo 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/8
es 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
ifconfig
comando.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
myhostname
entrada alhosts
servicio 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/hosts
archivo 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/hosts
archivo en el sistema que pudiera resolver el nombre de host local.Más información sobre la
myhostname
bandera 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 porhostname
es resoluble.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 hosthosts.save
. Verifique también la dirección IP. Ejemplo:fuente
/etc/hosts
no les dará la dirección IP real. Tampoco veo por qué también lo estás viendo,/etc/hosts.save
que es un tecnicismo y muy irrelevante.