tech.

用aws搭建一个VPN

回国之后,自己一个搭建一个VPN的计划提上日程。我尝试了好几个自行搭建VPN的方法,其中包括:

  1. 利用aws的vps建立一个vpn网络。🔗 aws官网

这个解决方案的问题是太贵了。根据aws的网站,VPN在美东部署的价格在一小时0.15 - 0.25美元(因为我有时候有好几个client需要连接vpn)。 假设一天连VPN5个小时,一个月就要花费30美元。事实上的花费也确实差不多,我一个月的账单在40美元左右。用了两个月之后觉得太贵放弃了。

  1. 在aws ec2上部署shadowsocks服务器。

搭建比较简单,每个月花费几美元。问题是访问很多网站会检测到VPN。比如reddit和chatgpt,就不让访问。

  1. 基于wireguard的vpn服务器。

这个VPN非常稳定,因为是需要在美国家里的Wi-Fi上物理安装wireguard router。因为不需要租服务器,所以费用就是router大概100刀。 缺点就是维护起来非常不方便。事实上也是因为有一次家里断网,wireguard就出现了没办法继续连接的问题。找朋友修复也失败了。从此放弃。

  1. 在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

Reference

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

https://openvpn.net/client/

Troubeshooting

两个device同时共享同一个profile的时候出现卡顿。

这是因为ovpn只支持同一个profile同时在线支持一个device的连接。我们需要在ovpn config里面enable duplicate-cn选项。 see