AWS服务器搭建VPN


2019/8/10 aws bigdata

记录AWS学习过程中的一个练手项目: 个人VPN的搭建, 用来看国外一些新的技术文章和登录一些Google Auth的网站。

有很多可以搭建的服务器,不局限于AWS。 AWS除了租用EC2服务器的费用,还要考虑网络流量费用,美国的服务器是0.09刀1G.如果流量大的话可以考虑AWS的LightSail, $3.5美刀每月,包1T流量。

前提

  • 注册一个AWS云服务账号

    你需要一台国内可连接的,在国外的服务器。 AWS注册的关键地方是要绑定信用卡,在使用服务的过程中有可能会对云服务不了解产生一些账单,需要自己考虑后决定。

AWS新注册的账号,会提供一个t2.micro服务器免费一年的套餐(注意:免费套餐里的流量也是有限制的)。如果不是免费套餐,这个搭建会产生费用

方法一:利用AWS CloudFormation搭建

适合于不熟悉服务器配置的同学

  • 第一步:登陆AWS Console,选择合适的Region
  • 第二步:搜索CloudFormation服务,并打开
    • 在CloudFormation页面点击 Create Stack
    • 默认设置界面,Amazon S3 URL 的位置输入https://s3.amazonaws.com/webdigi/VPN/Unified-Cloud-Formation.yaml
    • 点击下一步,在参数Parameter界面输入以后你的VPN登陆需要用的 用户名,密码,解码码
    • 后面一路下一步,至完成,等环境部署好后,你会获得一个服务器的公网ip地址
  • 第三步:手机或电脑链接vpn
    • 根据前面的配置,你会获得,VPN服务器ip地址,你自己设置的用户名,密码,加密码

完成!在手机VPN设置里输入对应信息,支持PPTP / L2TP 连接

详细的过程,请参考原文: 原文地址

Github 开源地址

方法二:直接在服务器上搭建

以下代码可以部署在ubuntu服务器上,个人感觉比上面的CloudFormation更灵活一些。需要多做一步的是配置security group开一些此服务需要的端口,如UDP 500 和UDP 4500等。上面的模板都帮你配置好了

wget https://git.io/vpnsetup -O vpnsetup.sh && sudo \
VPN_IPSEC_PSK='secretkey' \
VPN_USER='username' \
VPN_PASSWORD='password' \
sh vpnsetup.sh
1
2
3
4
5

客户端,手机,平板,电脑 使用VPN服务

配置 IPsec/L2TP VPN 客户端

需要注意windows连接前要解决兼容问题, 以管理员身份运行power shell后运行以下代码以后才能连上

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f
1
Last Updated: 8/17/2019, 9:09:19 PM