会社のクラウドサービスでUbuntu14.04を実行しています(私のインスタンスにはエラスティック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.
ホストがそうではないという意味ですか存在しますか?
別のサーバー(クラウドインスタンスではなく物理サーバー)があります。このサーバーにCentOS6.7をインストールしました。ホスト名のIPを確認したところ、/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
回答
これは「システム」(私はこの用語を広義で一般的で曖昧な意味で使用しています)は、名前ubuntu14-graphite
がホストとそのIPアドレスに対応していることを知りません。 (それがあなたのホストであるという事実は、これを実現するのに十分ではありません。 name 。)これはほぼ間違いなく、ファイル iv id = “にubuntu14-graphite
の行がないことを意味します。 67c62f026d “>
であり、ネーミングサービス(DNSやNISなど)に含まれていないこと。したがって、これを修正する方法は、ubuntu14-graphite
(およびそのIPアドレス)を/etc/hosts
に追加することです。 DNSやNIS(またはActiveDirectory?)などのより洗練された(分散型)ネーミングシステムを使用している場合、最終的な解決策は、ホストをそのサービスに追加することです。
_____________
† …そして、hostsファイルの投稿から、これが当てはまることがわかりました。
どのIPアドレスをホスト名に関連付ける必要があるかについては、いくつかの議論があります。 。ホストで「機能する」アドレスである必要があることに誰もが同意します。つまり、ping A.B.C.D
のようなコマンドは成功するはずです。ループバックアドレスの使用を推奨する人もいます。ループバックアドレスは常にフォーム127 .BCD ;一般的な値は127.0.0.1と127.0.1.1です。他の人は、192.168 .CD のようなLANアドレスの使用を推奨しています(ただし、ほとんど何でも)—ただし、動的に割り当てられたアドレスをホストファイルに入力しないでください(DNSでDHCPを使用している場合は、動的に割り当てられたアドレスをDNSレコードに入力する必要があります)自動的に)。 ifconfig
やhostname -I
などのコマンドを使用して、使用されているアドレスを確認します。
コメント
と、ividではなく127.0.1.1
を確認します。 = “62431bf452″>
(127.0.0.0/8
はループバックブロックであるため、ローカルホスト専用に保存できますが、一部のシステムには事前定義された制限付きアドレスがあります)
回答
マシンのIPアドレスを確認する実際の方法は、ifconfig
コマンドを使用することです。
実際のクラウド設定によっては、サーバーインスタンスがパブリックIPを認識せず、VLAN IPのみを認識します。これについて詳しくは、プロバイダーのドキュメントを参照する必要があります。
コメント
- いいえ。
ip a s
。 serverfault.com/q/458628/89813 を参照してください-Linuxではifconfigは非推奨です。
回答
myhostname
エントリをhosts
サービスに追加します。 af0b62a69f “>
。
つまり、/etc/nsswitch.conf
のこの行を次のように変更します。
hosts: files dns
次のようにします。
hosts: files dns myhostname
通常、ホスト名は/etc/hosts
ファイルとDNSを使用して解決されますが、システムのホスト名は次のようになります。ネームサービススイッチにそうするように指示することで解決しました(この構成変更が行うように)。
これは、/etc/hosts
ローカルホスト名を解決できるシステム上のファイル。
myhostname
フラグの詳細はです。ここ。
回答
私の意見では、ホスト名コマンド(net-toolsパッケージ)のバージョンによって異なります。
参照: https://bugzilla.redhat.com/show_bug.cgi?id=319981
- 「 openSuse Leap 42.3 “:
# hostname -V net-tools 1.60 hostname 1.100 (2001-04-14) # hostname -i hostname: Name or service not known
- Lubuntu17.10で
$ hostname -V hostname 3.18
hostname -i
-IPv6とIPv4に関する情報を教えてくれます
コメント
- そのバグレポートは、
hostname -i
ではありません。これは、hostname
のバージョンとは関係ありません。これは、hostname
で指定されたホスト名が解決可能かどうかに関係します。
回答
上記の回避策を適用しても問題が解決しない場合:
以下に示すように、
telnet
コマンドのURLからhttp://
の部分を削除してみてください。
使用する代わりに:
telnet http://website.lab7-2533586.ch-geni-net.instageni.colorado.edu 80
これを試してください:
telnet website.lab7-2533586.ch-geni-net.instageni.colorado.edu 80
回答
etc / hosts.saveに移動し、そこでホスト名を確認します。次に、/etc/hosts
を編集して、ホスト名とホスト名をhosts.save
に書き込みます。 IPアドレスも確認してください。例:
127.0.0.1 ubuntu 127.0.1.1 ubuntu.ubuntu-domain ubuntu
コメント
-
/etc/hosts
は実際のIPアドレスを提供しません。また、'が技術的で非常に無関係な/etc/hosts.save
も見ている理由もわかりません。
hostname
をRHベースのシステムとは異なる方法で処理します。/etc/hosts
ファイルのdivid = “e7109f2f93″>