自己搭建对应的vpn服务器

来源:互联网 发布:阿里云 域名 发票 编辑:程序博客网 时间:2024/05/17 03:41

转自:http://blog.csdn.net/hongyingaaa/article/details/51761386


作为一个开发者,自己动手解决问题是铁一般的规则,如果你不是开发人员或者对这一篇不感兴趣,可以跳过。


vpn服务器经过10多年的发展,目前有5种主流的协议:pptp、l2tp、ipsec、sstp、IKEv2。


下面针对每一种具体的协议讲讲怎么搭建对应的vpn服务器。


3.1 搭建pptp 服务器

pptp是最简单的vpn服务器,安装过程也很简单

  • 1.第一步需要安装PPTP,以用来提供VPN服务.

sudo apt-get install pptpd

如果有问题的话比如提示找不到之类的,apt-get update 一下应该就可以了,然后再来一次就会自动完成安装。


  • 2.装好了之后我们需要进行配置一下以让它可以使用.

sudo vi /etc/pptpd.conf

取消掉以下 2 行的注释:

localip 192.168.0.1remoteip 192.168.0.234-238,192.168.0.245

分别是通过VPN连接后主机和客户端所使用的IP,可以自行修改。注意这个IP在下面还会用的到。


  • 3.然后我们需要分配账号给自己使用.

sudo vi /etc/ppp/chap-secrets

这个是用户列表文件

在里面添加账户按如下格式

username  pptpd  "password"  
username为你的用户名password为你的密码,密码用引号引起,最后的号表示允许在任意IP连接到服务


  • 4.至此服务弄好了,如果你sudo service pptpd restart一下,就应该已经能连接到该VPN了,但是连接了之后会发现还访问不了外网。然后我们需要让他能访问外网。首先,

sudo vi /etc/ppp/pptpd-options

找到ms-dns,取消掉注释,改成你喜欢的DNS比如8.8.8.8,8.8.4.4


  • 5.然后我们要开启内核IP转发

sudo vi /etc/sysctl.conf

取消掉 net.ipv4.ip_forward=1 这一行的注释.


  • 6.然后我们需要安装iptables,用来实现请求的NAT转发

sudo apt-get install iptables

然后开启NAT转发.

sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

192.168.0.0/24是你在上面设置的IP段,让这个段转发注意eth0是你连接外网的那块网卡,不一定是0也有可能是1或者看你的机器哪块网卡连的外网了。这样就以NAT的方式请求外网的东西了。不知道你的机器哪块网卡连的外网的话ifconfig一下看看哪个网卡是外网IP就知道了。


  • 7.最后,我们需要重启服务,让配置生效 .

sudo service pptpd restart

接下来你就可以使用vpn客户端连接服务器了,具体过程这里不写了,每个平台差不多都是配置服务器ip地址和用户名密码,然后登录,具体使用什么vpn客户端全看你自己选择了。


如果你不想重复上面的过程也可以下载这个脚本https://github.com/viljoviitanen/setup-simple-pptp-vpn使用sudo模式运行脚本,如果安装过程中没有出现错误的话就可以直接连接了,用户名密码直接在脚本里面找,也可以在运行之前修改成想要的用户名密码。


3.2 搭建l2tp/ipsec vpn服务器

l2tp/ipsec协议别pptp协议要高级和快速很多,安装过程也复杂很多,这里推荐参考这个github上面 setup-ipsec-vpn(https://github.com/hwdsl2/setup-ipsec-vpn)进行配置这个项目还有中文文档,IPsec VPN 服务器一键安装脚本(https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-zh.md),请自行参考。

安装完成之后参考中文客户端配置教程,就能连接服务器了。


3.3 搭建IKEv2 vpn服务器

IKEv2是比l2tp更安全的vpn协议,windows8以上内置的vpn也支持这个协议,所有我也尝试过搭建ikev2服务器。


老样子,先上github上寻宝,发现了https://github.com/quericy/one-key-ikev2-vpn和https://github.com/gaomd/docker-ikev2-vpn-server这两个项目。


这两个项目是互相关联的,docker-ikev2-vpn-server使用的就是one-key-ikev2-vpn脚本编译的docker镜像,所以不论使用哪一个都可以。


看着docker这么火热,我也安装了docker,运行了docker-ikev2-vpn-server,成功启动了vpn服务器,但是连接vpn服务器之后不能上外网,如果你也遇到同样的问题,不要问我,因为我也不知道怎么办,去开一个issue吧,让作者帮助你。sstp协议没有尝试过,github上面的资料也很少,这里就不说了。

资源汇总

这里把翻墙过程中找到的有用的资源都列举出来,方便大家以后使用。

  1. Google hosts 持续更新贴: http://laod.cn/hosts/2015-google-hosts.html

  2. google host热门项目: https://github.com/racaljk/hosts

  3. google host热门项目2: https://github.com/txthinking/google-hosts

  4. 免费vpn代理:https://getlantern.org

  5. shadowsocks代理: http://www.ishadowsocks.net/

  6. shadowsocks代理2:https://shadowsocks.org/

  7. 搭建pptp vpn服务器: https://github.com/viljoviitanen/setup-simple-pptp-vpn

  8. 搭建l2tp/ipsec vpn服务器:https://github.com/hwdsl2/setup-ipsec-vpn

  9. 搭建IKEv2 vpn服务器: https://github.com/quericy/one-key-ikev2-vpn

  10. 搭建IKEv2 vpn服务器2: https://github.com/gaomd/docker-ikev2-vpn-server


原创粉丝点击