ホスト名のIPを確認すると、「ホスト名:名前またはサービスが不明」エラー

ホスト名のIPを確認すると、「ホスト名:名前またはサービスが不明」エラー

私は会社のクラウドサービスでUbuntu 14.04を実行しています(私のインスタンスにはElastic IPがあります)。コマンドラインを介して実行されているインスタンスのIPアドレスを確認したいが機能しません。

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

理由がわからない。 

ubuntu14-graphiteにpingを試しましたが、次のように表示されます。

unknown host ubuntu14-graphite.

これは私のホストがまったく存在しないことを意味しますか?

別のサーバー(クラウドインスタンスではなく物理サーバー)があります。このサーバーにはCentOS 6.7がインストールされています。ホスト名のIPを確認しましたが、機能します/etc/hosts

出力は次のとおりです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

答え1

これは、「システム」(私はこの用語を広範で一般的で曖昧な意味で使用します)が、どの名前がubuntu14-graphite ホストとそのIPアドレスに対応するかを知らないことを意味します。 (事実それはあなたの所有者のものです名前これを達成するには不十分です。 )これは、ほとんど確実にファイルubuntu14-graphite†行がなく、ネーミングサービス(DNSやNISなど)にもないことを意味します。したがって、この問題を解決するには、DNSやNIS(またはActiveDirectory?)などのより複雑な(分散)命名システムを使用している場合は、最終ソリューションに対応するIPアドレスを追加することです。 。 ______________† ...あなたのホストファイルの投稿で、これが実際に本当であることを確認しました。/etc/hostsubuntu14-graphite/etc/hosts

どのIPアドレスをホスト名に関連付けるべきかについて議論があります。誰もがこれがホストの「有効な」アドレスでなければならないことに同意します。つまり、同様のコマンドが成功する必要があります。一部の人はループバックアドレスを使用することをお勧めします。ループバックアドレスは常に127形式です。ping A.B.C.D.BCD;共通値は127.0.0.1と127.0.1.1です。他の人は、192.168のようなLANアドレスを使用することを提案しました。。 CD(ただし、ほとんどすべてが可能です) - しかし、動的に割り当てられたアドレスをホストファイルに入れてはいけません(そしてDNSでDHCPを使用する場合は、動的に割り当てられたアドレスを記録されたDNSに自動的に入力する必要があります)。使用しているアドレスを表示するには、ifconfigなどのコマンドを使用します。hostname -I

答え2

マシンのIPアドレスを確認する実際の方法は、コマンドを使用することですifconfig

実際のクラウド設定によっては、サーバーインスタンスは認定IPを知らず、VLAN IPのみを知ることができます。詳細については、プロバイダのマニュアルを参照してください。

答え3

でサービスmyhostnameにアイテムを追加します。hosts/etc/nsswitch.conf

つまり、次の行を変更してください/etc/nsswitch.conf

hosts:      files dns

これに関して:

hosts:      files dns myhostname

通常、ホスト名は/etc/hostsファイルとDNSを使用して解決され、システムのホスト名はネームサービススイッチを通知することで解決できます(この設定の変更がそうであるように)。

/etc/hostsこれは、ローカルホスト名を解決できるシステムファイルについて特別な内容が表示されない理由を示しています。

このフラグの詳細についてmyhostnameは、ここ

答え4

etc/hosts.saveにアクセスしてホスト名を確認してください。次に、/etc/hosts ホスト名とホスト名をhosts.save。 IPアドレスも確認してください。例:

127.0.0.1    ubuntu   
127.0.1.1    ubuntu.ubuntu-domain    ubuntu

関連情報