Docker搭建L2TP-VPN服务器 - 顾小兔2018的个人空间 - 开源中国

Docker搭建L2TP-VPN服务器

    • *

[TOC]

    • *

一、VPN服务器端配置

(1)首先需要在 Docker 主机上加载 IPsec af_key 内核模块:

sudo modprobe af_key

(2)使用本镜像创建一个新的 Docker 容器 (将 ./vpn.env 替换为你自己的 env 文件):

VPN_IPSEC_PSK=预共享密钥
VPN_USER=用户名
VPN_PASSWORD=密码

(3)创建一个新的 Docker 容器 (将 ./vpn.env 替换为你自己的 env 文件)

# 安装docker
curl -sSL https://get.daocloud.io/docker | sh # 脚本安装(方式一)
# 开启docker同时自启动
systemctl start docker
systemctl enable docker
# 关闭防火墙和禁止自启动
systemctl stop firewalld
systemctl disable firewalld

# 拉取镜像同时创建VPN服务器容器
docker run \
    --name ipsec-vpn-server \
    --env-file ./vpn.env \
    --restart=always \
    -p 500:500/udp \
    -p 4500:4500/udp \
    -v /lib/modules:/lib/modules:ro \
    -d --privileged \
    hwdsl2/ipsec-vpn-server

(4)修改VPN服务器端配置

# 进入VPN服务器
docker exec -it ipsec-vpn-server /bin/bash

​ 编辑 VPN 服务器上的 /etc/ipsec.conf。找到 phase2alg=... 一行并在末尾加上 ,aes256-sha2_256 字样。然后找到 sha2-truncbug=yes 并将它替换为 sha2-truncbug=no。保存修改并运行 service ipsec restart

# 退出VPN服务器容器
exit
# 重启VPN服务器容器
docker restart ipsec-vpn-server

(5)或者我已经封装好的包括服务器中安装了nano编辑器,预共享密钥、用户名和密码都是guxiaotu

docker run \
    --name ipsec-vpn-server \
    --restart=always \
    -p 500:500/udp \
    -p 4500:4500/udp \
    -v /lib/modules:/lib/modules:ro \
    -d --privileged \
    guxiaotu/l2tp-vpn

二、Windows 10(1803)客户端配置

(1)解决 VPN 服务器 和/或 客户端与 NAT (比如家用路由器)的兼容问题。修改注册表管理员权限打开CMD运行以下命令,或者下载.reg文件,管理员身份运行

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f

(2)另外,某些个别的 Windows 系统配置禁用了 IPsec 加密,此时也会导致连接失败。要重新启用它,可以运行以下命令,或者下载.reg文件,管理员身份运行

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\IPSec /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f

==重启计算机后开始配置本地VPN连接==

Windows 10 and 8.x

  1. 右键单击系统托盘中的无线/网络图标。
  2. 选择 打开网络与共享中心
  3. 单击 设置新的连接或网络
  4. 选择 连接到工作区,然后单击 下一步
  5. 单击 使用我的Internet连接 (VPN)
  6. Internet地址 字段中输入你的 VPN 服务器 IP
  7. 目标名称 字段中输入任意内容。单击 创建
  8. 返回 网络与共享中心。单击左侧的 更改适配器设置
  9. 右键单击新创建的 VPN 连接,并选择 属性
  10. 单击 安全 选项卡,从 VPN 类型 下拉菜单中选择 "使用 IPsec 的第 2 层隧道协议 (L2TP/IPSec)"。
  11. 单击 允许使用这些协议。确保选中 "质询握手身份验证协议 (CHAP)" 复选框。
  12. 单击 高级设置 按钮。
  13. 单击 使用预共享密钥作身份验证 并在 密钥 字段中输入你的 VPN IPsec PSK
  14. 单击 确定 关闭 高级设置
  15. 单击 确定 保存 VPN 连接的详细信息。


原网址: 访问
创建于: 2018-10-13 16:03:19
目录: default
标签: 无

请先后发表评论
  • 最新评论
  • 总共0条评论