用docker快速搭建l2tp VPN服务器

版权声明:本文为博主原创文章,转载请注明出处。 个人博客地址:https://xindoo.me https://blog.csdn.net/xindoo/article/details/52830609

  之前一直使用pptp的vpn,挺好用,搭建也挺简单,网上也有好多相关的博文,大家可以任找一篇参考。后来手贱,升级了ios10和mac os,结果新版系统不再支持pptp协议,只好重新搭建l2tp vpn,用了好几天,参考了好多篇博客,一直搭不出来。本来l2tp的配置要比pptp多的多,还有一些系统级的配置需要修改,有一定的技术门槛。后来快要放弃的时候,幻想如果有人已经弄好了一个系统,然后可以把他的系统拿过来用就好了,于是就想到了docker,后来在dockerhub中发现了l2tp的镜像,然后分分钟成功搭建vpn。
  在开始搭建l2tp前,你的服务器需要安装git和docker,安装难度并不高,即便你不知道git和docker是什么,网上随便找个博客,照着执行一遍所有命令基本上就能安装成功。接下来就开始vpn的搭建了。备注:本文主要翻译自https://hub.docker.com/r/fcojean/l2tp-ipsec-vpn-server/

获取l2tp的镜像

  这里有两种方式,一种是直接从docker hub上拉去已有的镜像,或者是从git上下载dockerfile然后通过命令行在本地生成镜像,两种方式都可用。

下载镜像

docker pull fcojean/l2tp-ipsec-vpn-server

本机build镜像

git clone https://github.com/fcojean/l2tp-ipsec-vpn-server.git
cd l2tp-ipsec-vpn-server
docker build -t fcojean/l2tp-ipsec-vpn-server 

开始使用镜像

  我们会在git下载的目录l2tp-ipsec-vpn-server下看到一个 vpn.env.example文件,这文件就是用来保存你vpn账号、密码、和共享秘钥的。cat vpn.env.example > vpn.env 生成vpn.env文件,修改共享秘钥、账号密码,for example.

VPN_IPSEC_PSK=xindoo.me
VPN_USER_CREDENTIAL_LIST=[{"login":"Test1","password":"test1"},{"login":"Test2","password":"test2"}]

  这个配置文件就是使用共享秘钥 xindoo.me, 并创建 Test1和Test2两个账号,另外如果要加更多账号,可以按json的格式往后加。

启动l2tp镜像

  启动前有一点非常重要,需要运行如下命令以加载 IPsec NETKEY 内核模块,如果你忽略这一步,你的镜像启动后可能没法正常工作。

sudo modprobe af_key

  然后就是启动镜像,加载env文件,并将对应端口和服务器的端口做绑定,直接执行如下命令。 

docker run \
    --name l2tp-ipsec-vpn-server \
    --env-file ./vpn.env \
    -p 500:500/udp \
    -p 4500:4500/udp \
    -v /lib/modules:/lib/modules:ro \
    -d --privileged \
    fcojean/l2tp-ipsec-vpn-server

验证

  你可以在服务器上执行下面这条命令验证下。

docker logs l2tp-ipsec-vpn-server

  如果有如下输出,表示你的vpn正常工作了。
   Connect to your new VPN with these details:

Server IP: xx.xx.xx.xx
IPsec PSK: xindoo.me
Users credentials :
Login : Test1 Password : test1
...
Login : Test2 Password : test2

  经过这些步骤后,理论上你的l2tp服务器就搭建成功了,试试vpn是否可以正常使用。

题外话

  后来经同事介绍,其实shadowscoks是一个配置更简单、安全性更高、功能更强大的vpn,ss可以用短短几条命令完成服务端的安装和启动,配置简单,客户端还支持自动代理模式(就是被zf和谐的网站才走vpn)。但缺点是需要安装客户端,像android还好,ios有可能还需要购买相应的客户端。对比下pptp、l2tp、shadowsocks 各有优缺点,选哪个自己看吧,不过我3个都配置了 哈哈哈。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页