自分専用のVPNサーバーを構築


Published on June 20, 2020

背景

1. 日本で契約してたサービスが使えなくなった

当初はフリーのOpenVPNとVPN gateを利用していたのですが、それらも対策されて使えなくなりました。

調べるかぎり、大手のVPNサービスは有料無料かかわらず使えなくなったようです。 ただ、それらは多数が単一IPに相乗りしている場合のみ対応されているようです。

2. 無料のVPNサービスは制約が多い

  • 日本にサーバーがない
  • セキュリティ観点が怪しい
  • 速度がでない

などなどが悩みでした。 有料は月額1000円くらい課金が必要になるケースが多いです。悔しい。

よく考えたら自分はエンジニアだったので、作ることにしました。

2hくらいで終わります。

1 必要なものを揃える

サーバー、固定IP、root権限あたりが必要です。 例えばさくらVPSのミニマムプランを契約すると揃います。645円。 下記手順ではUbuntu18.04を想定してます

なお、さくらVPSだとパケットフィルタという機能で portへの通信が制御されていたりするので、外しておきましょう(めちゃ詰まった)

2 VPSサーバーをインストール

下記手順をそのままなぞればいいのですが、一部追加事項があります。

自分だけのVPNサーバを作る!Ubuntu 18.04 に SoftEther VPN Serverをインストール

  • インストールするアプリはrtmかつlatestを選ぶ

記事内だと betaかつ少し古いものを使っているので、最新版を確認しましょう。 執筆時点だと

SoftEther VPN Server (Ver 4.29, Build 9678, rtm)

ですね。SoftEther Download Center で確認できます

  • セキュリティ対応

記事内でufwコマンドで開放ポートの操作をするタイミングがありますが、 SSHが全開放されているのはよろしくないので、何かしらか対応しましょう。

雑にIPでしばるならufw allow from my.own.address.ip/32 to any port 22、 ちゃんとやるならpemを発行する方がより安心ですね。

  • OpenVPN対応 (必要なら)

記事内の手順だとOpenVPNが利用できないので、利用する場合は ufw allow 1194/udp などで開放しておきます。

OpenVPN用の設定ファイルは下記コマンドで生成できるので、scpなどでローカルに持っていきます。

OpenVpnMakeConfig ~/openvpn_config.zip

参考

L2TP/IPSecでもVPN自体は使えるのですが、後述のような特殊対応をする場合は OpenVPNがないと接続できないです

3 各クライアントにて設定

  • L2TP/IPSecで接続する場合

アプリのインストールなどは不要です。 ぐぐるとでてくるので、それにしたがって設定しましょう。

  • OpenVPNで接続する場合

OpenVPNの.zipを展開すると ..._openvpn_remote_access_l3.ovpnなファイルがあるので、これを使います。

OpenVPN ClientはAndroidやiOSのアプリとして配布されているので、 インストール後、上記ファイルをimportすればokです。

アプリとして配布されているということは、Android TVなどにも導入できてしまいます。 自分のホームプロジェクタがAndroid TV対応だったので導入しました。

Androidベースの、なんとかTV Stickにも導入できますね。 Google Playのアプリを頑張れば導入できるので、 あとちょっと頑張って.ovpnファイルを送信すれば、ナイスなVPNライフが始まります。

まとめ

まあきっとこういった方法も対策されてしまう気がしますが、 いったんはこれで解決です。


© 2023

mihirat
, All Rights Reserved.

Built with Gatsby