AWS EC2インスタンスにMacOSから利用できるVPNを構築する
2022年9月30日追記:
こんなにトリッキーなことをしても割と遅いし面倒なので今はNordVPNを使っている。
これまで、日本のコンテンツにアクセスする際に筑波大のVPN Gateに大変お世話になってきましたが、安定して接続できるサーバを探すのに毎度結構な時間を溶かしていました。
有料のVPNサービスの利用を考えましたが、自分でVPNサーバ立てちゃえば良いじゃんということで、
Amazon AWSでVPNサーバを立ててみました。
EC2インスタンスは種類を選べば初年度無料で利用できます。
無料となる条件は
- t2.micro or t3.microインスタンス
- 750 時間/月 以下の使用
と記載されている(公式サイト)ので、1インスタンスであれば24時間起動しっぱなしでもこの範囲内で利用が可能です。
(因みに2年目以降は月々$0.0116 * 750 = $8.7 ということで、安めのvpnサービスには勝てなさそうです…。)
以下はMacOSを前提としていますが、WindowsでもUnix, Linuxでも手順はほぼ変わらないはずです。
EC2インスタンスを立てる
- OSはメジャーなものであれば何でも良い。自分はUbuntu 18.04にした。
- t2.microかt3.microのインスタンスを選択。"Free tier eligible"という表示が出ているのを確認。
- VPNで使用するポートを開放する。各行にUDPポート1701, 500, 4500を指定し、アクセスを許可するSourceはAnywhereにしておく。
EC2インスタンスにVPNをインストールする
GitHub上で公開されているsetup-ipsec-vpnをありがたく使わせて頂く
。
インスタンスにログインして、以下を実行。
$ wget https://git.io/vpnsetup -O vpn.sh && sudo sh vpn.sh && sudo ikev2.sh --auto
実行が終わると次の表示が出る。
================================================
IPsec VPN server is now ready for use!
Connect to your new VPN with these details:
Server IP: <span style="color:Tomato;">xxx.xxx.xxx.xxx</span>
IPsec PSK: <span style="color:Tomato;">xxxxxxxxxxxxxxxxxxx</span>
Username: <span style="color:Tomato;">vpnuser</span>
Password: <span style="color:Tomato;">xxxxxxxxxxxxxxxxxxxx</span>
Write these down. You'll need them to connect!
Important notes: https://git.io/vpnnotes
Setup VPN clients: https://git.io/vpnclients
IKEv2 guide: https://git.io/ikev2
================================================
IPSec/L2TP、若しくはCisco IPSecを利用する場合はこれにて完了。
赤色で示した情報を使ってVPNクライアントの設定をする(手順)。
推奨されているIKEv2を使う場合は続けてサーバ上で $ sudo ikev2.sh --auto
を実行。
configファイルとそのパスワードが生成されるのでパスワードを手元に保存。
================================================
IKEv2 setup successful. Details for IKEv2 mode:
VPN server address: 18.183.213.58
VPN client name: vpnclient
Client configuration is available at:
/home/ubuntu/vpnclient.p12 (for Windows & Linux)
/home/ubuntu/vpnclient.sswan (for Android)
/home/ubuntu/vpnclient.mobileconfig (for iOS & macOS)
*IMPORTANT* Password for client config files:
<span style="color:Tomato;">[ここにパスワードが表示される]</span>
Write this down, you'll need it for import!
Next steps: Configure IKEv2 VPN clients. See:
https://git.io/ikev2clients
================================================
- 生成されたconfigファイル:
~/vpnclient.mobileconfig
をダウンロードしてダブルクリック - System Preferences > Profiles からプロファイルをインストール(パスワードは先程保存したもの)
- ここまで出来ていれば、 System Preferences > Network に新しいVPN設定が追加されているはず