Posted in ひとりごと

おうちに VPN

さて・・・唐突ではありますが、家まで VPN が張れるような家鯖構築を考えております。何年も前からやりたいな、と思いつつ、外出する機会がメッキリ減ってしまったため優先度が超絶低下していました。が、そろそろ必要な時期が迫ってきたので、検討を再開したわけです。

まず、何故に VPN かといいますと、別に外出先から宅内の何かにアクセスをしたいわけではないです。ホテルやカフェの公衆無線LAN環境にノートPCやスマホを接続する際のセキュリティを確保したいというのが第一の目的。また、海外旅行に行った際に、本 blog サイトへの認証が海外 IP からだと NG っていう問題もあって、無料で使える VPN サービス等を活用したりしていました。が、やっぱり VPN サービスだとセキュリティリスクはあるので、自宅に VPN サーバーを立てたいな、と考えました。

ちなみに、2019年にタイに行った時VPN Gate ってのを使いました。別の機会に Proton VPN ってのも使ったことがあります。

家鯖 VPN を構築する上で、色々と選択しなければならないことがあります。

  • サーバ構築のプラットフォーム
    • 使ってないノート PC を活用 (Windows のまま)
    • 使ってないノート PC を活用 (Linux を入れる)
    • 使っていない Android 端末を活用
    • Raspberry Pi
  • VPN プロトコル
    • L2TP/IPSec
    • OpenVPN
    • WireGuard
  • ホスト名の解決(DDNS)

まずはプラットフォームですが・・・VPN 対応ルーターを購入するという手もありますが、追加出費は避けたいので手持ちの端末で考えます。沢山余っている Android は rooted じゃないとダメっぽいので却下。ノート PC 活用は、設定中はキーボードも画面もあるので楽ですが、運用開始すると置き場所に困りそうだし、若干消費電力も多そう。Windows だとメンテも面倒かな・・・ということで、ラズパイの利用がベストっぽい。というより、余っているラズパイを活用していきたい♪

ラズパイを活用すると決めたら、使用するプロトコルの選定です。この3択以外にもプロトコルはありますが、家鯖構築の上で情報量が多いのはこの3つです。L2TP/IPSec は色々と過去に嫌な目に遭ったというネガティブイメージが個人的に強いので避けます(爆)。OpenVPN か WireGuard かですが・・・新しいプロトコルだし、設定が簡単そうなので、WireGuard を採用することにします。PiVPN というセットアップを簡略化するツールがあるというので、コレも活用します。

最後に、外部から家鯖にアクセスするためのホスト名解決には Dyanamic DNS サービスを使うのですが、DDNS サービスにも色々あるみたい。無料で使えて、WEB系の UI の設定だけでなく cron の利用も考えてコマンドでの設定も可能なもの・・・そして、更新頻度や更新期間の制限がユルいやつ・・・と探したら、DDNS Now に行きつきました。個人運用みたいだけど、信頼性も高いっぽい。アカウント登録等無しで簡単セッティングできて、制限がほとんどないのが魅力。

本当は Softether VPN を使ってみようと思っていたんですが、そこまで高機能でなくても十分かな、と考えて WireGuard をラズパイ上で動かして、DDNS Now で名前解決して外部からアクセス・・・って、割と手抜きでお手軽な方法にすることにしました。・・・が、結局結構ハマってしまいまして、その経緯や最終的な結論はまたの機会に・・・