iv class =のIPを確認すると、エラー“ hostname:Name or service not know ”が発生しました”question”>

会社のクラウドサービスで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レコードに入力する必要があります)自動的に)。 ifconfighostname -Iなどのコマンドを使用して、使用されているアドレスを確認します。

コメント

  • ご回答ありがとうございます。 ' 127.0.0.1 localhost以外のものがない、CentOSサーバーに関連するもう1つのケースに気付いたので、質問を編集しましたが、ホストを確認できます'のIP。
  • おそらく、CentOSサーバーの名前とアドレスがDNSシステム(または使用されているネームサービス)に入力されます。
  • CentOSシステムでは、bindおよびbind-utilsがインストールされていません。したがって、私は'本当に混乱しています。
  • @TheOneUbuntuはhostnameをRHベースのシステムとは異なる方法で処理します。 /etc/hostsファイルのdivid = “e7109f2f93″>

と、ividではなく127.0.1.1を確認します。 = “62431bf452″>

127.0.0.0/8はループバックブロックであるため、ローカルホスト専用に保存できますが、一部のシステムには事前定義された制限付きアドレスがあります)

  • @heemaylしたがって、/ etc / hostsに127.0.1.1ubuntu14-graphiteを配置して、IPを確認します。'正しいIPを取得できませんでした。 '意味がありませんよね?
  • 回答

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

    実際のクラウド設定によっては、サーバーインスタンスがパブリックIPを認識せず、VLAN IPのみを認識します。これについて詳しくは、プロバイダーのドキュメントを参照する必要があります。

    コメント

    回答

    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も見ている理由もわかりません。

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です