VPN に RaspberryPi をつないで開発環境にするときの注意点

なんとなく、Android phone から RaspberryPIに WireGuard で不自由なく接続できるようになった。

セキュリティ

一応、NAT経由になるわけだけど、

標的になりやすさは家庭内LANとは比較にならないから、

一応、パスワードをちゃんとして、ufw等で不要なポートは閉じておいた方がよさそう。

screenは必須

npmを動かしているときに気づいたのだけど、時間のかかる作業をしているときに SSH が切れるとどこまで作業したかがわからなくなり作業効率が落ちる。(ほかにもコンパイルとか、apt-get しているときにも問題が起きやすそう)

そういう時間のかかる作業や一連のまとまった作業をする場合は、screenを立ち上げておくといい。

何ができるかというと、接続が切れた場合も、screen上で実行が継続されて、あとから再接続みたいなことができる。

もっといろいろできるのだろうけど、不安定な接続でこのメリットはかなり大きくそれだけで使用するメリットがある。

詳しい使い方とかは

Linux screenコマンド使い方 - Qiita

を見るとよさそう。

 

WireGuard の PersistentKeepalive 設定は必須

たぶん、家庭内のWifiにRaspberryPIをつないでいて、こちらの接続も不安定ということもあるのかもしれないけど、どうも気が付いたら接続が落ちていたということが結構あった。

PersistentKeepalive を設定したとしてもVPNのTrafficが爆増したりすることは無かったのでこれはよほど回線に自信が無い限り設定しておいた方がいいと思う。

 

PersistentKeepalive は

  1. 単純にクライアント用途では無効でOK
  2. サーバとしてVPNに常にいなくてはならない場合は設定していた方がよさそう

って感じなのかなと思います。