EnsekiTT Blog

EnsekiTTが書くブログです。

急な出張でホームネットワークシックになっても大丈夫なようにOpenVPNを導入している話

こんにちは、えんせきです。
実はぼく、こう見えて定職についているのです。仕事をしているので出張することもあります。
そんな時、自宅の環境がとても恋しくなるホームネットワークシックがあるのでOpenVPNで心と端末は自宅のLANにいたいと思うのです。

つまりなにしたの?

Archer C1200を使って出張先のホテルのWiFiからでも自宅の作業環境を得られるようにしている。
f:id:ensekitt:20171207021947j:plain
*1

Archer C1200とは?

tp-link社製のWiFiルータで、結構手頃な価格ながらも、OpenVPNが使えるものを実は引っ越すタイミングで購入していた。
ここ半年くらい使ってみてよかったところと微妙だったところを紹介しようと思う。
www.tp-link.jp

OpenVPNとは?

サーバとサーバの間を暗号化したトンネルで繋いでくれる。なかでもJames Yonan氏らが開発しGNU General Public Licenseで公開されているVPN(Virtual Private Network)ソフトウェアがOpenVPN
ぼくは、これを使って外出先のネットワークからあたかも自宅にいるかのように自宅ネットワークにアクセスするために使っている。

使用例

  • Jupyter Notebook

自宅ではGPUの乗ったマシン上にJupyter Notebookが動かせるNvidia Dockerを利用している。これを使うことで、MacBookProからでも深く考えずにGPUを使った解析をふらっと回せる。ちなみにこのマシンはブートドライブを変えるとPUBGをやるゲームマシンになる。だから計算を回しているとPUBGができないという致命的な問題を抱えている。
jupyter.org

  • ニンジンカメラ

夏頃に家でニンジンを育てていた。その時BeagleBoneBlackにWebカメラを繋いで自宅の様子を共有するサーバを開いていいた。ただ、グローバルに共有するものでもないので外から確認する時はOpenVPNで自宅のネットワークに繋いでニンジンの様子を確認していた。
2017年12月現在、枯れました。
f:id:ensekitt:20171207014803p:plain

  • 赤外線リモコン

RaspberryPiを何に使うか迷った挙句、コマンドを叩いて使える赤外線リモコン機能をつけてみた。ただ、センシング機能がないのでリモコンでエアコンを付けた結果、気温が上がっているのか下がっているのか確認できない。
一度だけ夏場に暖房モードのまま起動してしまうミスを犯しそれ以来使っていない。

上記の使用例に使っているマシン(ゲーム用マシン)は常に起動しているわけではなく、WakeOnLANによって適宜起動している。
例えば結構重めのニューラルネットワークの学習を走らせている時は、Epochが100進む毎にSlackのAPIを叩いて通知が飛ぶようにするなどの工夫をして、節電に努めている。
ensekitt.hatenablog.com
これをSlack向けに改造してる。

Archer C1200の設定について

インターネットに繋ぐところとかWiFiを繋ぐところは説明書を読んでいただきたく。

OpenVPNの部分についてのみ紹介する。

Archer C1200の設定画面に行き、以下のメニューを選ぶ。
[詳細設定] → [VPNサーバー] → [OpenVPN]

OpenVPNの設定画面で

  • 証明書を生成
  • VPNサーバーを有効にする
  • インターネットとホームワークを選択
  • 保存ボタンを押す
  • エクスポート→証明書がダウンロードできる

ここで発行した証明書を外出先から使いたい端末に送っておいて、
OpenVPNクライアントに読み込ませておく。ぼくは、MacOSなのでTunnelBlickを使っている。
tunnelblick.net
これはインストールしてあると証明書ファイルが関連付けられているのでダブルクリックするだけで繋いでくれる。