「/etc/hosts」に触れることなくコンピュータのホスト名を解決する方法はありますか?

「/etc/hosts」に触れることなくコンピュータのホスト名を解決する方法はありますか?

私がIPアドレスを割り当てるためにDHCPを使用しているLANにいることを考えると(そして私はその管理者ではありません)、一致を追加せずに何かを取得するようにどのように設定しますかping <hostname>ping <IP address>「/etc/ホスト名」から)? WebサーバーとSSHサーバーの異なる場所でこの変更を行う必要がありますか?

知りたいです。なぜなら考える「/etc/hosts」を操作しなくてもこれを行うことができた時がありました(それとも私が間違っていますか?)。このファイルの問題は、名前からIPへのマッピングを使用したいすべてのクライアントでこれを行う必要があり、一部のIPアドレスが変更された場合は変更を続行する必要があることです。

実際の質問は、ホスト名(もちろんIPアドレスと一致する)のネットワーク検索を実行できるツールはありますか?

答え1

理想的には、システム管理者はDHCPのホスト名で動的に更新されるDNSサーバーにネットワークを設定する必要があります。

試してみることができますICMPドメイン名メッセージ収穫に取り組んでいますが、これは広く実装されていないようです。

もう一つの古い方法はNISサーバーです。しかし、これらのことはもはや一般的ではありません。あなたはそれを試してypcat hosts、これがあなたにどんな報酬をもたらしたかを確認することができます。

もう一つはZeroconfです。これをサポートするホストは、自分の名前をブロードキャストし、それをキャッシュするサービスを実行できます(あふれバッグがすることがまさにそれだ。すでに設定している場合は、ping <hostname>.localすでに効果がある可能性があります。ただし、すべてのノードがこれをサポートしているわけではありません。クエリにavahiツールを使用していて、avahi-resolve-host-name <hostname>.local通常のリゾルバが機能しない場合は、/ etc / hostsを更新するスクリプトを作成することもできます。

したがって、ホスト名を取得できる他の「魔法の」場所はありません。誰かがこのマッピングを定義または動的に検索できるようにする必要があります。システム管理者がこれを行っていない、またはそうしない場合は、これを行う必要があります。ローカルコンピュータでこれを行うことができる唯一の場所は/ etc / hostsファイルです。したがって、上記の方法のいずれも効果がない場合、これはあなたがしなければならないすべてです。申し訳ありません。

答え2

思ったことある?ゼロ構成? Zeroconfは、2つ以上のシステム間でIPリンクを確立し、サービスを検索するための一連のプロトコルです。残念ながら、zeroconfの世界には複数の名前解決プロトコルがあるため、完全なクロスプラットフォームという目標は完全には達成されていません。ただし、すべてのコンピュータが同じオペレーティングシステムを実行している場合、これは問題ではありません。 Zeroconfの主なターゲットユースケースは、クロスオーバーケーブルで接続された2台のシステムですが、ローカルスイッチングネットワークでも機能できます。

Linuxで最も一般的なZeroconfの実装は次のとおりです。あふれ。 DebianまたはUbuntuでは、このavahi-daemonパッケージをインストールするだけで起動するのに十分です。他のソフトウェアパッケージも便利です(特に、avahi-autoipdDHCPサーバーを実行していないネットワークでIPアドレスをネゴシエートして、avahi-discoverどのサービスが利用可能かを確認したい場合)。

答え3

DNSサーバーがこれを支援できます。 DHCP から IP を取得するようにクライアントを設定し、動的 ​​DNS を使用して、クライアントが新しい IP を取得したときに DNS サーバーを更新するようにすることができます。

より下のリンクBIND DNSサーバーを例にしてみましょう。

答え4

100%ではなくても試してみることはできます。

ping <hostname>.local

OSXまたはUbuntuホストを見つけるとこれがうまくいくことがわかります。

関連情報