さて、なかなか高性能なルーターを買って、色々設定ができたからちょっと書き留めてみるかな、ぐらいなノリで始めたらものすごく膨大になってしまったこのシリーズも、今回が最後です。正直ホッとしてますが、張り切っていきましょう。今回は拠点間 VPN と、 EdgeRouter 内蔵の Bonjour / mDNS ソフトウェア Avahi を使って、自宅と実家の LAN の Bonjour を一体化してみます。これにより実家の Mac や Time Capsule に簡単にアクセスできるようになり、設定や画面共有が楽になります。 対象ファームウェアは 1.9.1 です。
Bonjour とは
Bonjour とは、 Zeroconf をベースにした LAN 内の端末を何の設定もせず相互に発見できるようにする仕組みです。 LAN 内の Apple TV や iTunes が他の端末から見えたり、 AirPlay スピーカーから音が出たりするのは、この技術のおかげです。ただ基本的には同じ LAN 内のみに限られます。今回はそれを VPN 経由で転送し、あたかも2つの LAN が Bonjour 上では1つになったようにしてみます。
Avahi とは
Avahi とは、オープンソースの Bonjour / mDNS ソフトウェアです。 Linux の世界で Bonjour に対応させたいときに使います。 EdgeRouter にも内蔵されており、 mDNS reflector という機能を有効にすると起動します。基本的には同じルーターにつながる VLAN 等に Bonjour を転送し、 VLAN 同士で Apple TV を使ったりするようにする機能ですが、少し設定を変えると拠点間 VPN でも動くことがわかったのでやってみました。ちなみに単に VLAN 同士で Bonjour を転送する場合、ファームウェア 1.8.0 から mdns repeater というさらに簡単な機能も追加されています。
Wide Area Bonjour
では設定してみましょう。まず両拠点の ER-X で Avahi のコンフィグファイル /etc/avahi/avahi-daemon.conf
を変更し、 VPN 等の Point-to-point インタフェースを受け付けるようにします。また Wide Area bonjour を有効にします。
/etc/avahi/avahi-daemon.conf を編集 allow-interfaces=switch0, tun0 を追加 allow-point-to-point=yes を追加 enable-wide-area=yes を追加
設定ファイルにこれらの項目がすでにある場合は追加不要です。大抵は # が付いてコメントアウトされていると思うので、その # を取って、必要なポート等をここにあるように変更してください。
その後は Avahi を起動するために両拠点で mDNS reflector を有効にします。
コンフィグツリーの service > mdns > reflector を有効にする preview ボタンを押す apply ボタンを押す
もちろん CLI で
set service mdns reflector
と入力してもオーケーです。
さて、設定がうまくいくと、相互の LAN の Bonjour 対応機器が Mac や iPhone の画面に現れます。 Airmac ユーティリティで両方の LAN 内の Time Capsule が表示されたり、 Finder のサイドバーに両方の LAN の Mac が表示されたりします。
実は画面共有は iCloud アカウントがあれば簡単にできるようになってしまったので、あまりこの方法のメリットはないかもしれません。が、2つの LAN が1つになっているのを見るのはいいものです。
今回下記のスレッドを参考にしました。
Bonjour/mDNS over IPSEC VPN – Avahi
さて大量の記事にうんざりしておられるかと思いますが、それでもこの $50 のルーターがものすごく多機能かつ高性能だということが伝わったのではないかと思います。家のルーターをほんの少しよくしようという方から、バリバリ VPN を使ってみたいという方まで、本当にオススメです。
以上、本当に本当にお疲れ様でした。
yabe.jp » Gadgets »