Docker搭建L2TP-VPN服務器 原 薦

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 連接的詳細信息。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章