环境:亚马逊免费服务器一台(EC2)
注意点:
1、PPTP用的是1723端口,无论是在防火墙中,还是在AWS的安全组中,均要开启,否则VPN连接不上。
2、部署实例时,需要选择好地区,比如东海岸的可能就比较卡,但是部署在日本可能就好点。
3、关于信用卡扣费问题,我的是交行的Master卡,被扣了2美元,在网上查了说是返回的。另外,AWS很容易流量超了什么的,一旦超了就扣你钱,这个好可怕,所以我将信用卡解掉了。
1、首先要安装pptpd:
2、安装完之后再对pptpd进行一些设置,先对/etc/pptpd.conf进行设置主机IP和IP池
3、然后删除掉下面配置信息的注释:
第一个参数是VPN主机的IP,第二个参数是连入者的IP池。也可以不用默认的IP,自己自定义,一般会选择不常用的IP。
4、更改完IP相关之后在修改DNS信息,在/etc/ppp/pptpd-options。国内的话一般选择114.114.114.114,国外的主机的话当然是8.8.8.8。
找到ms-dns配置项目,删除他的注释,并重写DNS,比如:
5、最后就是添加、修改用户的信息了,用户的配置文件在/etc/ppp/chap-secrets,我们再修改这个文件:
然后就看到了client(用户名)、server(服务器名)、secret(密码)、IP addresses(IP限制),根据情况写就好,如果没有要求的花就只写用户名和密码,其他全用*号代替,但要注意这几项之间需要用空格分隔。
我的配置文件如下:
6、打开ipv4 forward,它在配置文件/etc/sysctl.conf中:
在其中找到下面配置信息,并删掉它的注释使其生效:
然后使配置生效:
7、续安装iptables软件:
然后向 nat 表中加入一条规则:
or
其中有两个地方需要注意,一个是192.168.0.0那个部分,那个IP即是配置/etc/pptpd.conf信息的时候本机IP(配置文件localip后面带的ip)。eth0就是本机对外提供服务的网卡。
后面这句话作用是:立刻让LINUX支持NAT
8、为了保证每次EC2实例重启后NAT configuration能启动, 还要修改/etc/rc.local
文件, 在exit 0
这行上面加上
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
9、设置MTU。
注意:ppp0需要通过ifconfig命令就可以看到,和eth0,local这些并列的
在我配置这个VPS的时候遇到了一个问题,就是连接VPN的设备可以ping通任何网站,可以正常使用QQ客户端,但是却不能正常浏览网页,然后才知道有个叫MTU的东西。
最大传输单元(Maximum Transmission Unit,MTU),也就是说,如果网卡传输的大小超过这个大小,就会分开数据包。之所以会产生这种情况,可以参见上面我ifconfig的信息,ppp0的MTU是1396,太小了,所以导致大数据包上不去网,改为1496就正常了。
10、重新启动服务
11、客户端连接
1)对于ubuntu:
2)Mac用户
3、windows用户:
核心参考的主流程:
http://www.ihypo.net/3251.html
ubuntu需要将防火墙设置保存到启动项中+EC完整申请流程:
http://blog.banban.me/blog/2014/06/09/li-yong-awsmian-fei-zhang-hu-da-jian-vpn/
通过安全组开启1723端口的提示:http://stackoverflow.com/questions/20769312/could-not-connect-to-vpn-server-pptp-build-on-a-aws-ec2-instance
关于开启1723端口和47端口的提示1:https://forums.aws.amazon.com/thread.jspa?messageID=439039
关于开启1723端口和47端口的提示2:http://www.andrei-ionita.com/blog/pptpd-vpn-on-ubuntu/
关于ubuntu安装pptp时防火墙的设置1:http://guileen.github.io/2015/02/04/install-pptp-vpn-on-ubuntu.html
关于ubuntu安装pptp时防火墙的设置2:
http://www.darrenfang.com/2014/01/install-pptp-vpn-on-ubuntu/