在AWS EC2上搭建VPN服务

Page content

狭义的VPN虛拟私人网络(Virtual Private Network,缩写:VPN)是一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法。 广义的VPN是广大网民突破WALL,连接外国网络的方法。这里我们聊一聊怎样在服务器上搭建自己的VPN。

在VPS搭建VPN服务主要有4种比较便捷的方式:

  • L2TP/IPSec VPN (不建议,极容易被墙)
  • Shadowsocks (不建议,较容易被墙)
  • v2ray (推荐 Nginx+WSS)
  • Torjan (推荐)

我使用的是AWS。 用AWS相对其他VPS的好处是支持弹性IP,即使IP被封了,后台重新申请一个弹性公网IP绑定到对应的实例,可以很方便的更换IP。 但AWS相对其他机场价格略贵。

搭建L2TP VPN

下载脚本

ubuntu

wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh

centos

wget https://git.io/vpnsetup-centos -O vpnsetup.sh && sudo sh vpnsetup.sh

修改配置

YOUR_IPSEC_PSK='lockshell.com'
YOUR_USERNAME='lockshell'
YOUR_PASSWORD='1234567'

启动服务

sudo sh vpnsetup.sh

开放AWS端口

现在 vpn 服务还不能直接访问,需要将 vpn 服务端口对外网开放。 vpn 服务使用到的端口有 500/4500/50/51/1701,通过配置AWS安全组可以开放这些端口。

客户端访问

Mac

  • 打开系统偏好设置 → 网络
  • 点 + 添加网络,接口选 vpn,vpn 类型选 IPSec 上的 L2TP,服务名称随意
  • 选中刚刚创建的网络,将上面生成的 vpn 凭证填入,服务器地址填 Server Ip,账户名称填 Username,点开鉴定设置,密码填 Password,共享的秘钥填 IPsec PSK
  • 点击 连接 即可

iOS

  • 设置 → 通用 → vpn
  • 添加 vpn 配置 → 类型选择 L2TP → 填入上述 vpn 凭证即可

更详细的说明,请参考:配置 IPsec/L2TP VPN 客户端

添加更多用户

直接编辑/etc/ppp/chap-secrets文件,新增用户即可,无需重启服务。

sudo vim /etc/ppp/chap-secrets

例子如下:

"user1" l2tpd "password1" *
"user2" l2tpd "password2" *
"user3" l2tpd "password3" *

搭建Shadowsocks

搭建v2ray

v2ray的安装配置比前两种略复杂一些,但理论上来讲更安全可靠。还可以加一层Nginx代理,伪装成网站。

如果觉得Nginx+SSL的配置组合比较麻烦,可以考虑使用Caddy作为Proxy,省去的生成和配置SSL证书的步骤。

本文由 络壳 原创或整理,转载请注明出处