web-dev-qa-db-ja.com

Windowsで.localアドレスを解決するにはどうすればよいですか?

「hostname.local」を介してアクセスするいくつかのLinuxサーバーをホームネットワークに持っていますが、Windowsマシンを使用している場合、IPアドレスを使用しない限り、これを解決できないようです。

Windowsマシンがhostname.localアドレスを解決できるようにするにはどうすればよいですか?編集方法を知っているC:\Windows\System32\drivers\etc\hostsしかし、確かにWindowsにこれらのマシンを検出させるための自動方法がいくつかあるはずです。

13
Jorge Castro

通常、.localの名前はmDNSを使用して解決されます。LinuxサーバーはおそらくAvahiを実行し、WindowsにはApple独自のBonjourがあります。

古いバージョンのBonjour(v2.0)は Bonjour Print Services に含まれています。 チョコレートパッケージ としても利用できます。

最新バージョン(v3.x)は独立したダウンロードとして入手できませんが、iTunes(および 他のいくつかのアプリケーション )の一部としてインストールされます。アーカイブマネージャー(7-ZipやWinRARなど)を使用して、iTunesインストーラーからBonjour64.msiを抽出することができます。

24
user1686

@Kevin Keaneが here (および上記のコメントセクション)で指摘しているように、Windows 10はmDNSポート5353を最新のWindowsアプリでのみ機能するサービスで覆います。したがって、Bonjourをポートに戻すには、上のリンクで説明されているレジストリ編集を使用して、WindowsのmDNSサービスを無効にする必要があります。

レジストリ編集の代わりにホーム以外のWindows 10バージョンでは、グループポリシーエディターを使用できます。

  • gpedit.mscを起動します
  • Computer Configuration>Administrative Templates>Network>DNSクライアント
  • 「マルチキャスト名前解決をオフにする」ポリシーを有効にします。

再起動する必要はありませんでした。

注意、私はすでにiTunesとBonjour Print Servicesの両方をインストールしていた。 Bonjour Print Servicesをアンインストールして再インストールするだけでは機能しませんでした。localアドレスに再度pingを実行する前に、add-removeプログラムに移動し、BonjourとBonjour Print Servicesの両方をアンインストールしてから、Bonjour Print Servicesを再インストールする必要がありました(virtualbox Host-only avahi-daemonが実行されているLinuxゲスト)。これは、私の「Bonjour Service」サービスがBonjour Print ServicesではなくBonjourに関連付けられていて、それ自体が再登録されなかったためだと思います。

5
deargle