smallfieldスマートフォン用の表示で見るsmallfieldこの広告は、90日以上更新していないブログに表示しています。Piで作るVPN切り替え機やりたいことUSの家に置いてあるAppleTVで、日本のIPからしか使えないサービスを使いたい。AbemaTVNetflix(日本版)常時日本経由のインターネットだと速度面、レイテンシ面で不利なので任意に切り替えられるようにしたい。実装の方針RaspberryPiで日本の実家においてあるサーバへVPNを張り、日本側の出口とする。RaspberryPiのwlan0を家庭内LAN、eth0を切り替え用LANにして、eth0の先にAppleTVをぶら下げる。Serverを使った拠点間VPN。これはまぁ色んな所に参考情報が記載されているので簡単に。Bridgeをインストール仮想HUBを作成して実家の仮想ハブにカスケード接続を設定する。tapデバイスにローカルブリッジするように設定する。(ここではtap_jikkaとした)この時点でうまくローカルブリッジが動いていれば、数百msec遅延のping、すなわち日本経由でのpingが返ってくるはず。下記行を追加して、eth0とwlan0のIPアドレスを固定する。ip_address=192.168.50.111/24udhcpd設定DHCPサーバをインストールしてセットアップ。udhcpdをインストール。デフォルトの設定を参考にしながら編集。0より前に下記記載を追加する。これにより起動時にこれらのコマンドが実行され、再起動後も有効になる。MASQUERADEここまでで、eth0に繋がっている装置からインターネットに出ていこうとすると、10.0.0.1を経由して、192.168.50.1のルータ経由での通信となる。ここでデフォルトゲートウェイを下記コマンドで変更すると、日本のルータ192.168.0.1からインターネットに出ていくようになる。HomeKitの装置を模倣するオープンソースプロダクト。これを使って電球と同じような感じでiPhoneから切り替えられるようにする。Homebridgeは導入済みとする。cmdswitch2プラグインを導入する。on_cmdには日本ルータをデフォルトゲートウェイにする設定を入れる。off_cmdにはUSルータをデフォルトゲートウェイにする設定を入れる。VPNサーバへのスタティックルートが落ちる事があるので、ここで改めて追加するようにする。state_cmdには、日本ルータを向いているときに終了コード0を返すようなコマンドを設定する。}これでHomebridgeをrestartするとこんな感じにiPhoneに表示されるようになり、切り替えられるようになる。TVからのBonjourのマルチキャストDNS配信がiPhoneから見えないことになる。iOSにはAppleTVのリモコンとして動く機能があるが、この機能はBonjourに依存しているため、このままでは使えないことになる。Bonjourの実装のひとつであるAvahi-daemonがRaspbianにはプリインストールされており、これのreflector機能を使って、プロキシとして機能して他のネットワークに伝播させることができる。設定は、/etc/avahi/avachi-daemon.confのenable-refrectorをyesにして有効にすればOK。enable-reflector=yesただしこれだけでは10.0.0.0/8への経路がiOSからは分からないので、家のルータにLAN側のスタティックルートを設定してやる必要がある。うちのASUSのルータだとこんな感じ。Marketで生牡蠣Get月別アーカイブはてなブログをはじめよう!tomo-onoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。