官网手册:
搭建服务端:https://git.io/vpnnotes2
配置客户端: https://git.io/vpnclients
一、 搭建 IPsec VPN 服务端
1、 创建 IPsec VPN 环境变量文件
mkdir -p /data/ipsec-vpn-server/
vim vpn.env
#IPsec预共享密钥
VPN_IPSEC_PSK=1qaz2wsx
#vpn 用户
VPN_USER=vpn
VPN_PASSWORD=123456
#IPsec VPN 使用的公网地址
VPN_PUBLIC_IP=114.115.253.155
#添加而外的用户,需要空格隔开
VPN_ADDL_USERS=vpn1 vpn2
#额外用户的密码,也一样需要空格隔开
VPN_ADDL_PASSWORDS=vpn11234 pass21234
#客户端使用的 DNS 服务器
VPN_DNS_SRV1=8.8.8.5
VPN_DNS_SRV2=114.114.114.114
2、 运行IPsec VPN 服务器
docker run --name vpn-server --env-file /data/ipsec-vpn-server/vpn.env --restart=always -v /data/ipsec-vpn-server/ikev2-vpn-data:/etc/ipsec.d -v /lib/modules:/lib/modules:ro -p 500:500/udp -p 4500:4500/udp -d --privileged hwdsl2/ipsec-vpn-server
#不能在/data/ipsec-vpn-server 目录下执行docker run 命令
#在修改vpn.env文件后需要删除实例,并重新创建实例
3、 配置客户端
3.1、配置windows客户端
官网手册: https://git.io/vpnclients
Windows 10 and 8
右键单击系统托盘中的无线/网络图标。
选择 打开"网络和 Internet"设置,然后在打开的页面中单击 网络和共享中心。
单击 设置新的连接或网络。
选择 连接到工作区,然后单击 下一步。
单击 使用我的Internet连接 (VPN)。
在 Internet地址 字段中输入你的 VPN 服务器 IP。
在 目标名称 字段中输入任意内容。单击 创建。
返回 网络和共享中心。单击左侧的 更改适配器设置。
右键单击新创建的 VPN 连接,并选择 属性。
单击 安全 选项卡,从 VPN 类型 下拉菜单中选择 “使用 IPsec 的第 2 层隧道协议 (L2TP/IPSec)”。
单击 允许使用这些协议。选中 “质询握手身份验证协议 (CHAP)” 和 “Microsoft CHAP 版本 2 (MS-CHAP v2)” 复选框。
单击 高级设置 按钮。
单击 使用预共享密钥作身份验证 并在 密钥 字段中输入你的 VPN IPsec PSK。
单击 确定 关闭 高级设置。
单击 确定 保存 VPN 连接的详细信息。
注:在首次连接之前需要修改一下注册表以解决 VPN 服务器 和/或 客户端与 NAT (比如家用路由器)的兼容问题。
右键win,点击 Windows PowerShell(管理员)(A)
输入: REG ADD HKLM/SYSTEM/CurrentControlSet/Services/PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d 0x2 /f
执行成功后重启计算机
单击系统托盘中的无线/网络图标。
点击vpn连接输入账号密码即可完成连接
通过docker logs ipsec-vpn-server
可以查看 客户端的登录日志
也可以通过 docker exec -it ipsec-vpn-server ipsec whack --trafficstatus
查看