読者です 読者をやめる 読者になる 読者になる

がりらぼ

WindowsRuntimeの応援ブログ

自宅にVPNを張ったら世界が変わった

日常

f:id:garicchi:20150520004053j:plain この間、えろい人(@ichi_sien)にBUFFALOのルーターをもったんですが、このルーターPPTPプロトコルVPNに対応していたので自宅にVPNを張ってみることにしました。

VPNの設定は意外と簡単で、ルーターの設定をちょこっと変えるだけでできました。

でも、どうやらVPN接続のために割り当てられているグローバルIPアドレスは不定期で変わるらしいのでDDNS(Dynamic Domain Name System)を使うらしい。が、BAFFALO公式のやつに契約すると年間3500円ぐらい取られるらしいです。固定IPだともっとかかるのかな?

というわけでフリーのDDNSサービスを利用して、IPアドレスを定期的に更新することにしました。

使ったサービスはmydns

ここはAPIを提供していてHTTP GetするだけでIPを更新できます。

というわけで電気代も心配なのでラズベリーパイwgetをつかってAPIを叩くスクリプトをcronで6時間ごとに走らせることにしました。*1

garicchi.hatenablog.jp

あとはお名前.comのほうから、CNAMEで hogehoge.garicchi.com→mogemoge.mydns.jpと割り当ててやれば、hogehoge.garicchi.comに向かってVPNアクセスすれば固定アドレスにアクセス可能となりました。

これで研究室にいてもおうちネットワークに接続できるぞヤッターって感じだったのですが、思ったより便利で感動しました。

モバイルマシンで高スペックな性能を出すことができる

自宅では常にかずきさん(@okazuki)から格安で買ったCore i7VAIO DUO11が常に起動してるのでVPNを張ることでいつでもそこにリモートデスクトップできます。*2

やっぱりいつでもアクセスするだけで中断している作業を継続できるのは便利ですね。

f:id:garicchi:20150528225719j:plain

Windows8インチタブレットCore i7並のスペックをだすことができるのはやはり魅力的です。

OSを選ばずにVisualStudioが使える

研究室ではUbuntuを、外出時はMacBook Proを、という感じで現在すごしているのですが様々なOSでも、VPN接続してリモートデスクトップするだけでVisualStudioが使えます。

Macの場合は日本語入力切替が面倒ですが(Ctrl+1に割り当ててる)

ネットワークさえあれば端末のスペックが少し低くても端末自体のCPUリソースはあまり食いません。

リモートデバッグができる

VPN張った一番の利点はこれだと思うのですが、VisualStudioのリモートデバッグを、VPNアクセスしてる端末をリモート先として利用することができます。

例えばWindowsストアアプリの場合、

  1. Windows8.1マシンでVPNリモートデスクトップアクセス
  2. リモートデバッグ先のIPアドレスVPNアクセスしてるマシンのIPアドレスにする
  3. VPNアクセスしてるマシンでアプリをデバッグできる

という流れが実現できます。

つまりリモートデスクトップでストアアプリのデバッグがしずらい場合、今もっている端末でデバッグできるという超便利機能ができます。

f:id:garicchi:20150528225446j:plain

もちろんブレークポイントを設定すればブレークも可能です。

これはWindowsストアアプリだけでなく、Xamarin Build Hostに対しても同様のことが言えます。

Macリモートデスクトップ→VisualStudioでコードを書く→MacでBuild Hostを立ち上げてiOSシミュレータでデバッグ

が手持ち端末としてはMac1台で完結させることができます。

もし同様のことをMac1台でやろうとすると、Macの上に仮想マシンWindowsを実行しなければいけないですが、VPNを張ればMacのスペックが低くても、VisualStudioでXamarin.iOSのプログラムを書いてMacの上でデバッグが1台で完結します。 f:id:garicchi:20150520191928j:plain

Macのスペックが低くて仮想マシンを立ち上げることができない僕にとっては非常にありがたいです。

とりあえず、おうちVPNを張ると、予想以上に便利なことがたくさんあったので開発がより便利になりました。

どう世界が変わったか?→ずっと研究室にいることが可能になった(吐血)

*1:冷静に考えて常に起動してるWindowsマシンあるからDiceでもよかった

*2:RDP用のポートを開けてもできる