
会社のクラウド サービスで 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 など) に含まれていないことをほぼ確実に意味しています。したがって、これを修正する方法の 1 つは、(およびその IP アドレス) を に追加することです。DNS や NIS (または ActiveDirectory?) などのより高度な (分散型) 名前付けシステムを使用している場合、究極の解決策は、そのサービスにホストを追加することです。 _____________ † ... hosts ファイルの投稿から、これが当てはまることがわかります。/etc/hosts
ubuntu14-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