用aws搭建一个VPN
回国之后,自己一个搭建一个VPN的计划提上日程。我尝试了好几个自行搭建VPN的方法,其中包括:
- 利用aws的vps建立一个vpn网络。🔗 aws官网
这个解决方案的问题是太贵了。根据aws的网站,VPN在美东部署的价格在一小时0.15 - 0.25美元(因为我有时候有好几个client需要连接vpn)。 假设一天连VPN5个小时,一个月就要花费30美元。事实上的花费也确实差不多,我一个月的账单在40美元左右。用了两个月之后觉得太贵放弃了。
- 在aws ec2上部署shadowsocks服务器。
搭建比较简单,每个月花费几美元。问题是访问很多网站会检测到VPN。比如reddit和chatgpt,就不让访问。
- 基于wireguard的vpn服务器。
这个VPN非常稳定,因为是需要在美国家里的Wi-Fi上物理安装wireguard router。因为不需要租服务器,所以费用就是router大概100刀。 缺点就是维护起来非常不方便。事实上也是因为有一次家里断网,wireguard就出现了没办法继续连接的问题。找朋友修复也失败了。从此放弃。
- 在aws ec2上部署openVPN服务器。
本文将记录这一解决方案的步骤。
aws ec2服务器
Go to EC2 in your AWS Console.
在oregon(亲测oregon的服务器比japan的稳定,但是我个人喜欢用japan服务器搜索谷歌的结果。。。)开一个小的服务器instance。我用的是t2.micro
.
Application and OS Image选择Amazon Linux 2
Create a security group that allows SSH, HTTPS and HTTP.
给新建的服务器的security group加两个inbound rules。一个是UDP 1194 0.0.0.0/0
(IPV4),一个是UDP 1194 ::/0
(IPV6)。
在服务器上install openVPN
ssh into the instance, and install OpenVPN.
wget -O openvpn.sh https://get.vpnsetup.net/ovpn
sudo bash openvpn.sh
openVPN client的安装
从官网下载ovpn connect的app
Troubeshooting
两个device同时共享同一个profile的时候出现卡顿。
这是因为ovpn只支持同一个profile同时在线支持一个device的连接。我们需要在ovpn config里面enable duplicate-cn选项。 see