もぐてっく

人は1つ歳をとるたび、1ビットづつ大きくなれると信じてた。

Bonjour for Windows不要!Windows10マシンに".local"でアクセスしよう!

2017年10月24日追記

Fall Creator UpdateではmDNSのサポートが外されているっぽいです。

はじめに

家庭内LANのIPアドレスの管理って面倒ですよね。

一般のご家庭はDHCPから払い出されたのを空気の様に使ってればいいですが「家庭内サーバを立てよう!」とか変な気を起こすと、固定IPアドレスの管理を未来永劫しいられる事になります。

仮想マシンがぽこぽこ増えたり減ったりするこのご時世。めんどいですね!!

そんなあなたに朗報です。

Windows10でサーバレス&オープンなホスト名解決の仕組みであるmDNSがサポートされました。

情報ソースはこちらです。
仮想化雑記帳: Windows 10 and Bonjour

Macで言う所のBonjour。*NIXで言う所のavahiですね。

Windows8まではmDNSを使うためにiTunesもしくはBonjour Print Services for Windowsに含まれるBonjour for Windowsをインストールする必要があったので、今回の標準搭載はかなり嬉しいです。

情報ソースはプレビュー版での検証ですが、製品版でもちゃんと実装されています。
しかしながらプレビュー版と同じく、デフォルトではファイアウォールがmDNSのパケットを捨てています。(意味なくね?)

今回はmDNSを有効化するために、GUIからWindowsファイアウォールの設定変更をやってみようと思います。

Windowsファイアウォールの設定

コントロールパネルを起動する

Windows10ではアクションセンターの「すべての設定」が公式の設定画面になっていますが、できる事が異様に少ないので昔ながらのコントロールパネルも現役です。

左下のWindowsボタンを右クリックして「コントロールパネル」を起動して下さい。

f:id:moguno:20150912085411p:plain

Windowsファイアウォールの設定画面を起動する

f:id:moguno:20150912090211p:plain

こんな感じの画面が出てきます。

f:id:moguno:20150912090748p:plain

セキュリティが強化されたWindowsファイアウォール画面を起動する

ウインドウ左側の「詳細設定」を選択して「セキュリティが強化されたWindowsファイアウォール」を起動します。

f:id:moguno:20150912091155p:plain

この「殺意の波動に目覚めた志保」みたいなネーミング、嫌いじゃないです。

f:id:moguno:20150912090425p:plain

受信規則の作成

それでは本題。mDNSのポート5353/UDPを許可するルールを作ります。

ウインドウ左側の「受信の規則」を右クリックして「新しい規則」を選択します。

f:id:moguno:20150912091316p:plain

「ポート」を選択します。

f:id:moguno:20150912092145p:plain

  • UDP
  • 特定のローカルポート:5353

f:id:moguno:20150912092341p:plain

「接続を許可する」を選択。

f:id:moguno:20150912092427p:plain

ホスト名解決だけならいいだろうと適用範囲は全部にしました。

f:id:moguno:20150912094514p:plain

適当な名前を付けて完了です。

f:id:moguno:20150912092559p:plain

テスト

上記情報ソースに書かれている様に、別の端末から"ホスト名.local"にpingを打ってIPアドレスが引けているか確認して下さい。

$ ping venue8.local
PING venue8.local (192.168.11.12): 56 data bytes

Mac OSXをお使いの方は、dns-sdコマンドでも確認できます。

$ dns-sd -G v4 venue8.local
DATE: ---Sat 12 Sep 2015---
 9:28:57.904  ...STARTING...
Timestamp     A/R Flags if Hostname                               Address                                      TTL
 9:28:58.218  Add     2  4 venue8.local.                          192.168.11.12                                60

最後に

Windows10のmDNSサポートのおかげで、Mac、*NIX、Windowsを横断したホスト名解決がスマートに実現可能になりました。

家庭内サーバであればIPアドレスを固定することなく運用が可能です。

後はAndroidとルータがmDNSを喋れれば、本当にIPアドレスを意識しない家庭内LANになるんですけどね。