Docker搭建L2TP-VPN服务器


声明:本文转载自https://my.oschina.net/u/3269534/blog/2236595,转载目的在于传递更多信息,仅供学习交流之用。如有侵权行为,请联系我,我会及时删除。

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编辑器配置了/etc/ipsec.conf,预共享密钥tuhaojiang,用户名guxiaotu,密码guxiaotu123

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月09日 13:00
(c)注:本文转载自https://my.oschina.net/u/3269534/blog/2236595,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除.

阅读 10149 讨论 0 喜欢 0

抢先体验

扫码体验
趣味小程序
文字表情生成器

闪念胶囊

你要过得好哇,这样我才能恨你啊,你要是过得不好,我都不知道该恨你还是拥抱你啊。

直抵黄龙府,与诸君痛饮尔。

那时陪伴我的人啊,你们如今在何方。

不出意外的话,我们再也不会见了,祝你前程似锦。

这世界真好,吃野东西也要留出这条命来看看

快捷链接
网站地图
提交友链
Copyright © 2016 - 2021 Cion.
All Rights Reserved.
京ICP备2021004668号-1