web-dev-qa-db-ja.com

DNSサーバーなしでホスト名を解決するにはどうすればよいですか

私の基本的な質問は、「なぜこれが機能しないのか」ではなく、「なぜこれが機能するのか」です。

私はWindowsでApache2.2を実行しているコンピューターを持っており、ServerNameはgateway_01のようなものに設定されています。ネットギアルーターでオフィスのwifiに接続されています。何も設定せずに素朴に設定したところ、うまくいったようです。

しかし、それは一貫して機能しません。グーグルからわかる限り、ローカルネットワーク経由でhttp://gateway_01を使用してアクセスできることを確認するには、次のことを行う必要があります。

  • 静的IPアドレスを指定します
  • http://gateway_01が192.168.1.whateverに対応することを知っているローカルDNSサーバーを実行します(または私のコンピューター上のhostsファイルを変更しますが、ランダムなゲストを含むネットワーク上のすべてのコンピューターに対してそれを行うことは現実的ではありませんおよび人々の電話)。
  • コンピューターがDHCP経由で接続するときに、ローカルDNSサーバーを使用するようにルーターを設定します

私は実際にそれを何もしていません。場合によってはgateway_01に完全に到達できることもあれば、IPアドレスを使用する必要があることもあります。

これはなぜですか。ローカルDNSサーバーを実行しなくても確実に機能するように設定できますか? Windows、ワークグループ、およびコンピューターの名前がServerNameと同じであるという事実に関係しているのではないかとこっそり疑っていますが、実際に何が起こっているのかを確実に知りたいと思います。

3
rorold

WindowsでApacheを実行していることを考えると、ホスト名を解決するためにNBT(NetBIOS over TCP)を使用しているように思えます。あなたの疑惑はおそらく正しいでしょう。これはWindowsワークグループと同じ傾向であり、さまざまな理由で信頼性が低いことで有名です。あなたが本当にそれに飛び込みたいのなら ここここ を見てください...

この問題を解決するには、ローカルDNSを設定するか、hostsファイルを使用することをお勧めします。

2
Tanner Faulkner