手动直接在物理机上安装L2TP的VPN服务器还是比较繁琐的,为了方便,索性用Docker直接搭建,使用国外大神的L2TP服务器镜像即可,特此记录下:
0x01 下载镜像
从DockerHub中拉取镜像
docker pull fcojean/l2tp-ipsec-vpn-server
如果您和我一样,因为是国外网站的原因导致下载速度超慢,可以使用国内镜像,如下:
docker pull registry.docker-cn.com/fcojean/l2tp-ipsec-vpn-server
0x02 创建配置文件
需要创建一个env配置文件来指定我们的用户名密码以及共享密钥,我在我的/data
目录下创建了一个config.env配置文件,内容如下:
VPN_IPSEC_PSK=hello
VPN_USER_CREDENTIAL_LIST=[{"login":"1iURI001","password":"liuri"},{"login":"1iURI002","password":"liuri"}]
VPN_NETWORK_INTERFACE=eth0
- VPN_IPSEC_PSK:预共享密钥
- VPN_USER_CREDENTIAL_LIST:用户信息数组,每个元素中的login字段为用户名,password为密码
- VPN_NETWORK_INTERFACE:VPN服务器作用在哪个网卡下,根据你的实际情况来设置
0x03 加载Linux内核模块
在Docker宿主机上运行如下命令来启动IPsec NETKEY
内核模块:
sudo modprobe af_key
modprobe可以让Linux不重启的情况下就加载某个内核
0x04 运行!
docker run \
--name l2tp-ipsec-vpn-server \
--env-file /data/config.env \
-p 500:500/udp \
-p 4500:4500/udp \
-p 1701:1701/udp \
-v /lib/modules:/lib/modules:ro \
-d --privileged \
registry.docker-cn.com/fcojean/l2tp-ipsec-vpn-server
- --env-file参数指定为第0x02步创建的配置文件即可
作者:柠檬信息技术有限公司
链接:https://www.jianshu.com/p/8c783fd87f91
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
1,591 条评论 “docker 部署vpn(转)”