Jutilise Ubuntu 14.04 sur le service cloud de mon entreprise (mon instance a une adresse IP élastique). Je veux vérifier ladresse IP de mon instance que jexécute en ligne de commande, mais cela na pas fonctionné.
root@ubuntu14-graphite:~# hostname ubuntu14-graphite root@ubuntu14-graphite:~# hostname -i hostname: Name or service not known
Je ne comprends pas la raison pour laquelle.
Jai essayé denvoyer un ping à ubuntu14-graphite mais il a dit:
unknown host ubuntu14-graphite.
Est-ce que cela signifie que mon hôte ne « t existe même?
Jai un autre serveur (pas une instance cloud mais un serveur physique). Dans ce serveur, jai installé CentOS 6.7. Jai vérifié ladresse IP du nom dhôte et cela a fonctionné même sil ny avait rien de spécial dans /etc/hosts
.
Voici la sortie 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
Réponse
Cela signifie que « le system « (jutilise ce terme dans un sens large, général et ambigu) ne sait pas que le nom ubuntu14-graphite
correspond à votre hôte et à son adresse IP. (Le fait que ce soit votre hôte « s nom nest pas suffisant pour que cela se produise .) Cela signifie presque sûrement que vous navez pas de ligne pour ubuntu14-graphite
dans votre /etc/hosts
fichier † , et que ce nest pas dans votre service de dénomination (par exemple, DNS ou NIS). Par conséquent, un moyen de résoudre ce problème consiste à ajouter ubuntu14-graphite
(et son adresse IP) à votre /etc/hosts
. Si vous utilisez un système de dénomination plus sophistiqué (distribué) tel que DNS ou NIS (ou peut-être ActiveDirectory?), La solution ultime consiste à ajouter votre hôte à ce service.
_____________
† … et je vois dans votre message de votre fichier dhôtes que cest le cas.
Il y a un débat sur la question de savoir quelle adresse IP vous devez associer à votre nom dhôte . Tout le monde convient quil devrait sagir dune adresse qui « fonctionne » pour votre hôte; cest-à-dire que les commandes comme ping A.B.C.D
devraient réussir. Certaines personnes recommandent dutiliser une adresse de bouclage. Les adresses de bouclage sont toujours de la form 127 .BCD ; les valeurs courantes sont 127.0.0.1 et 127.0.1.1. Dautres personnes recommandent dutiliser une adresse LAN, qui pourrait ressembler à 192.168 .CD (mais cela peut être presque nimporte quoi) – mais vous ne devriez pas mettre une adresse attribuée dynamiquement dans votre fichier dhôtes (et, si vous utilisez DHCP avec DNS, alors la ou les adresses attribuées dynamiquement doivent être entrées dans vos enregistrements DNS automatiquement). Utilisez des commandes telles que ifconfig
et hostname -I
pour voir quelles adresses sont utilisées.
Commentaires
Réponse
Le moyen réel de vérifier ladresse IP dune machine consiste à utiliser la commande ifconfig
.
Notez quen fonction de la configuration actuelle du cloud, linstance de serveur peut ne pas connaître ladresse IP publique et ne connaître quune adresse IP de VLAN. Pour plus de détails à ce sujet, vous devez vous référer à la documentation de votre fournisseur.
Commentaires
- Non;
ip a s
. Voir serverfault.com/q/458628/89813 – ifconfig est obsolète sous Linux.
Réponse
Ajoutez lentrée myhostname
au service hosts
dans /etc/nsswitch.conf
.
En dautres termes, remplacez cette ligne par /etc/nsswitch.conf
:
hosts: files dns
par ceci:
hosts: files dns myhostname
Là où les noms dhôte sont généralement résolus à laide du fichier /etc/hosts
et dns, le nom dhôte du système peut également être résolu en disant au commutateur de service de noms de le faire (comme ce changement de configuration le fera).
Cela expliquerait pourquoi vous navez rien vu de spécial à propos de /etc/hosts
fichier sur le système que vous pouvez résoudre le nom dhôte local.
Plus dinformations sur lindicateur myhostname
sont ici .
Réponse
À mon avis, cela dépend de la version de la commande hostname (package net-tools).
Voir: https://bugzilla.redhat.com/show_bug.cgi?id=319981
- exemple sur » openSuse Leap 42.3 « :
# hostname -V net-tools 1.60 hostname 1.100 (2001-04-14) # hostname -i hostname: Name or service not known
- sur Lubuntu 17.10
$ hostname -V hostname 3.18
hostname -i
– me donne des informations sur IPv6 et IPv4
Commentaires
- Ce rapport de bogue concerne
hostname -s
, pashostname -i
. Ceci nest pas lié aux versions dehostname
, il sagit de savoir si le nom dhôte donné parhostname
peut être résolu.
Réponse
Si le problème nest toujours pas résolu malgré lapplication des solutions de contournement ci-dessus:
Essayez de supprimer la partie
http://
de lURL de votre commandetelnet
comme indiqué ci-dessous:
Au lieu dutiliser:
telnet http://website.lab7-2533586.ch-geni-net.instageni.colorado.edu 80
Essayez ceci:
telnet website.lab7-2533586.ch-geni-net.instageni.colorado.edu 80
Réponse
Allez dans etc / hosts.save, vérifiez votre nom dhôte. Et puis éditez /etc/hosts
pour y écrire votre nom dhôte et le nom dhôte dans hosts.save
. Vérifiez également ladresse IP. Exemple:
127.0.0.1 ubuntu 127.0.1.1 ubuntu.ubuntu-domain ubuntu
Commentaires
- Définition dune adresse IP localhost dans
/etc/hosts
ne leur donnera pas ladresse IP réelle. Je ne vois pas non plus pourquoi vous ‘ regardez également/etc/hosts.save
qui est une technicité et très hors de propos.
hostname
différemment des systèmes basés sur RH..put127.0.1.1 ubuntu14-graphite
dans le fichier/etc/hosts
et vérifiez..note, son127.0.1.1
, pas127.0.0.1
(que vous pouvez conserver de toute façon juste pour localhost, comme127.0.0.0/8
est un bloc de bouclage, vous pouvez utiliser nimporte quelle adresse bien que certains systèmes aient des adresses restreintes prédéfinies)