はじめに
サーバー管理だったり、本番環境の動作確認で毎回IPが変わってしまうと、
開発やメンテでアクセスしてるのか?
それとも、サーバーが攻撃を受けてるのか分かりづらい。
毎回固定IPが振られる環境にいるといいけど、なかなかそう行かないので、IP固定のためにVPNに接続したい!!
そもそも
VPNを自分で整備しなくても、GCPやAWSにはVPNサービスもあるのでそれ頼れば解決だが個人で使うにはお高い!
固定IPだけが欲しいのに、利用コストが高いし従量課金は悩ましいと考えたときに、固定IPサービスのマイIP(株式会社インターリンク)もあったりする。
リーズナブルに利用できていいけど、複数端末からの同時接続やかゆいところに手が届かないことが多々...
検証だったり、開発に使うならPCだけじゃなく複数のスマホからのアクセスもできるようにしたい。
そこで、エンジニアならエンジニアらしく柔軟に使えるVPNを低コストで自前で構築した。
サーバーの検討
VPNを構築するにあたって
- VPS
- ポートの制約が少ない
- 転送量課金がない
- 回線が安定してる(してそう)
- 安価
を考慮して決める。
VPSとして一番に思い浮かぶのがConoha やさくらVPSが一番に思い次ぐが、
そこまで、スペック必要ではないので今回はNTTPCのindigo VPSを使った。
今回使ったVPSは
- vCPUx1, RAM1GB, SSD20GB 0.55円/時間 月額上限349円
お財布にとっても優しいだけでなく、格安VPSでは珍しい転送量制がない!!
VPSの用意
OSはindigo VPS標準のUbuntu18.04LTSを使う。
(個人用だからLTSじゃなくて最新のでも良かったけど...)
VPSにSSHでアクセスできるように自分好みに設定を...
とりあえず、既存のパッケージくらいは更新したほうがいいかも
爆速でOpenVPNの導入
OpenVPNの導入は意外と複雑でめんどくさいです...
とにかく情報量が多い
しかし、OpenVPNの設定や導入を爆速でできるインストーラーが世の中にあるのでそれを使っていきます!
サーバーにrootでアクセスして以下のコマンドを実行していくだけ
curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh
chmod + x openvpn-install.sh
./openvpn-install.sh
あとは、設定項目を聞いてくれるので、質問に答えつつ気長に見守るだけで終わります!!
(とりあえずVPNが使えたらいいって人はエンターひたすら押すだけでも使えますが、よく理解して進めていく方が良いかと...)
vpnに接続
VPSのホームディレクトリに.ovpn
拡張子のファイル(OpenVPNの構成ファイル)が生成させるので、接続したい端末に転送する。
あとは、それぞれのOSのあったOpenVPNのクライアントをインストールして、転送してきたファイルを開くだけ!
mac:
win:
接続端末を増やしたい?
このままだと、OpenVPNの構成ファイル1つで1台しか接続できません。
自前VPNだから柔軟に接続端末増やしたくなりますよね?
そんなときも、インストールで使ったインストーラーを使えばかんたんです!
サーバーにrootでアクセスして以下のコマンドでインストーラーを再度実行していくだけ
./openvpn-install.sh
すると、ユーザー追加、ユーザー削除、OpenVPN削除を聞いてくれるのでかんたん!
終わりに
いずれ、楽して構築できるOpenVPNだけじゃなくてL2TP/IPSecなプライベートVPNを構築したい...
そのまえに、業務用ルーター買わなければ