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のパケットを捨てています。(意味なくね?)
Windowsファイアウォールの設定
コントロールパネルを起動する
Windows10ではアクションセンターの「すべての設定」が公式の設定画面になっていますが、できる事が異様に少ないので昔ながらのコントロールパネルも現役です。
左下のWindowsボタンを右クリックして「コントロールパネル」を起動して下さい。
テスト
上記情報ソースに書かれている様に、別の端末から"ホスト名.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になるんですけどね。
THE QUEEN OF HEART '99 with Second Edition 対戦格闘ゲーム PC 渡辺製作所
- 出版社/メーカー: 渡辺製作所
- メディア: CD-ROM
- この商品を含むブログを見る
タブが隠せる!史上最強のmikutterプラグインができたよ!
なにこれ?
タブを隠すことができます。
はぁ?舐めてんの?
違います!これすっごい可能性を秘めてると思うんですよ!
Bot用のどうでもいいタブを消す
今年の正月に書いたエントリで、時刻を吐くデータソースをトリガにして定期的にツイートを行うBotの作り方をご紹介しました。
しかしこの方式では「たまに時刻が表示されるどうでもいいタブ」を保持しないといけません。
ダサいなぁ・・・邪魔だなぁ・・・と思いながら9ヶ月。
GTKのマニュアルを見る限りNoteBookのタブを隠すメソッドは無いのですっかり諦めてたんですが、昨日、偶然にもその方法を編み出す(※)事に成功した訳です。
(※別件で英語の知恵袋読んでたら見つけた。)
これで変ちくりんなBotを量産してもタブを圧迫することがなくなりました。いえい。
標準タブを置き換える
このプラグインの可能性は他にもあります。
例えば「オプションで日本語のツイートのみを検索できるタブ」プラグインを作ったとします。
その場合、当然ながら「標準の検索タブ」と「プラグインのタブ」が同居した中途半端な状態になります。
でも、このプラグインで標準の検索タブを隠せば、結果的に標準機能を置き換えたように見えます。
オリジナルmikutterは新しいステージへ。これが何気に大きいと思ってます。
ボスが来た
エッチなタブをお母さんから守ろう!
ておくれを辞めたい
このまま全部のタブを消したら、ておくれの呪縛から解放されるかもしれませんね。
・・・まで書いて、ゆめにっきのエンディングを思い出したよ。なむなむ。
インストール
GitHubからzipファイルをダウンロードして適当なディレクトリに展開して下さい。
moguno/mikutter-hide-tab · GitHub
※mikutterプラグインマネージャ"Packaged"で"moguno"を検索してインストールするのもおすすめです。
使い方
- タブを右クリックして「タブを隠す」を選択するとタブが隠れます。
- タブの再表示は、ウインドウ下部のまりもボタンから行います。
ARIA The AVVENIRE 01(水無灯里&アリア社長/アイ) ICカードステッカーセット
- 出版社/メーカー: カナリア
- 発売日: 2015/09/26
- メディア: おもちゃ&ホビー
- この商品を含むブログを見る
alertyとmikutterでマイクラサーバの死活を監視するよ
はじめに
会社のお友達との会話。
友(品証部門)「もぐのさん・・・またマイクラのサーバが落ちてません?」
も(ソフト屋さん)「あ、うあああ、あのですねっ!
サーバの電源が何故か落ちてる事がありまして!OAタップが怪しいんですが原因究明には至っていません!
仮対策でAC Power Fail AfterとVMの自動起動をですねっ!てか今仮復旧させました!さぁ!さぁ!ご確認ください!!」
まぁ、恒久対策は後から考えるとして(考えない)、サーバが落ちてるのに気付けてない現状はアレなので、死活管理をする事にしました。
正直、専用のWebページやアラートメールなんか絶対見ないので、毎日平均6時間以上見つめているmikutterさんに表示させるのが良いかと思いました。
しかしながら、単に「pingを打つプラグイン」を作るのもつまらないので、今回はもうちょっと汎用的な仕組みを目指そうと思います。
UNIXによく似た世界と、ておくれたmikutterの世界
サーバの監視といえばUNIXライクなOSが得意とする分野ですね。
pingに限らずUNIXの任意のツールとmikutterが連携ができれば、色々応用が利きそうです。
と言うわけで、UNIXの世界とmikutterの世界を橋渡しするmikutterプラグインを作りました。
mikutter-datasource-netcat
moguno/mikutter-datasource-netcat · GitHub
ncやtelnetなどでlocalhost:39390/TCPに文字列を送り込むと、その内容をメッセージとして出力します。
(抽出タブの"TCP:39390"データソースのメッセージになります。)
例えばこんな感じです。
date | nc localhost 39390
コマンドの出力がmikutterのメッセージになりました。
echoを使えば任意のセリフをみくったーちゃんにしゃべらせることもできます。
echo 'もう!マスターのえっち' | nc localhost 39390
アホですね。
mikutterでping死活管理
さて、本題のping死活監視ですが、こんな感じでパーツを組み合わせていこうと思います。
- cronを使って定期的にサーバにpingを打つ。
- サーバから返事がなかったらncでlocalhost:39390にメッセージを送信。
- mikutter-datasource-netcatが抽出タブにメッセージを出力。
まずはcronで動かす監視スクリプトの作成ですが、ここで朗報が。
丁度この記事を書いてる最中に、cron用のエラー通知ツールの記事がはてブのホットエントリに出てきました。
どうやらコマンドがエラーになったときに、色んなところに通知が飛ばせるツールっぽいです。
通知先に「任意のコマンド」を指定することも出来るっぽいので、ncを使ってmikutterとも連携出来そうです。
(くくく、これで俺もホットエントリの仲間入りじゃね?)
それではalertyのインストール。
sudo gem2.2 install alerty
続いてレシピファイルを書きます。
(/Users/moguno/alerty/watch_mincraft_server.yml)
plugins: - type: exec command: echo "マスター大変!マイクラサーバが死んでるよ!" | nc localhost 39390
次にcrontabを設定します。
ちなみに"araaraufufu.pw"がうちのマイクラサーバのホスト名です。(遊びに来てね。)
*/1 * * * * /opt/local/bin/alerty -c /Users/moguno/alerty/watch_mincraft_server.yml -- /sbin/ping -t 5 -c 3 araaraufufu.pw
後はmikutterで"TCP:39390"をデータソースとする抽出タブを作れば完成です。
これで1分周期でみくったーちゃんがサーバのダウンを通知してくれるようになります。
まとめ
UNIXな世界と連携して、mikutterにサーバの死活監視機能を持たせることができました。
屈強なUNIXコマンド達がガチではじき出した結果をゆるふわ可愛いみくったーちゃんが通知してくれるという、大変バランスの良い仕組みになりました。
alertyでオレオレ監視スクリプトを書かなくても良くなるのもいい感じです。
今後「もうちょっと真面目な通知システムで監視したいなぁ」ってなったときも、レシピファイルを書き換えるだけでOKですね。
お手軽で柔軟な良いシステムができました。
- 作者: タトラエディット
- 出版社/メーカー: ソーテック社
- 発売日: 2015/05/30
- メディア: 単行本
- この商品を含むブログを見る