最近一直想买个VPN用,偶然间看见了亚马逊有免费的服务器可以用。时间是一年。这个可以考虑。于是开始申请亚马逊的server。然后搭建VPN SERVER。
亚马逊的服务器申请,就不在此描述了。申请了一个EC2实例。不过后来碰到了连接ssh的问题,原来一直习惯是用户名和密码的登陆方式。现在需要使用证书的方式。具体连接方式,亚马逊的官网又讲。
记得原来在阿里云的服务器上搭建一个vpn server还是蛮简单的。但是到了亚马逊这里,怎么也就不成功。后来发现,亚马逊的每台服务器只开了22端口。80端口 vpn端口,需要自己添加。具体的位置:点击左边连接 Security Groups 选择对应EC2的网络,点击下面Inbound 增加规则就可以了。注意:80端口是http类型,vpn的是tcp类型的。
注:以下操作全部是root帐户。如果不是,需要添加sudo
端口打开后,就安装pptpd
apt-get install pptpd
配置pptpd
vi /etc/pptpd.conf
添加如下信息:
localip 192.168.2.1
remoteip 192.168.2.10-100
修改ppp的配置信息
vi /etc/ppp/pptpd-options
添加如下信息
ms-dns 8.8.8.8
ms-dns 8.8.4.4
添加VPN用户名和密码
vi /etc/ppp/chap-secrets
下面信息用户名和密码设置成VPN登陆的用户名和密码就可以了。
# client server secret IP addresses
username pptpd password *
启用网络转发设置:
vi /etc/sysctl.conf
启用网络转发
net.ipv4.ip_forward=1
执行 如下命令,让网络转发立即生效
sysctl -p
在iptables规则中添加NAT。注意下面的public server ip,我写的是vpn服务器的外网IP。
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i ppp0 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -j SNAT --to-source <Public Server IP>
重启pptpd服务
service pptpd restart
赶紧用vpn连接一下试试吧。