📚 开源资源分享——颜佐光的个人书架
✉️ 联系站长
书架 / docker / VPN

docker部署vpn(转)

2021-01-08 17:32 · 约 1,212 字 · 浏览 4,313 次VPN

docker部署vpn(转)

手动直接在物理机上安装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步创建的配置文件即可

查看网卡

ifconfig
docker network ls
← 返回《docker》目录书架 →