CentOS7.9 Docker 快速部署IPsec-L2TP VPN
一、准备工作
服务器选择:海外轻量云/ECS
系统要求:CentOS 7.9 64位
二、Docker安装# 更新系统
sudo yum update -y
# 安装Docker依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加Docker官方源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 安装Docker
sudo yum install -y docker-ce docker-ce-cli containerd.io
# 启动并设置开机自启
sudo systemctl start docker && sudo systemctl enable docker
# 验证安装
docker --version
sudo docker run hello-world
三、配置VPN参数
# 创建配置目录mkdir -p /vpn # 编辑.env文件 nano /vpn/.env 填入以下内容(公网IP必填!):# IPsec预共享密钥(自己填) VPN_IPSEC_PSK=********** # 主账号(自己填) VPN_USER=***** VPN_PASSWORD=******** # 服务器公网IP VPN_PUBLIC_IP=你的服务器公网IP # DNS配置 VPN_DNS_SRV1=8.8.8.8 VPN_DNS_SRV2=114.114.114.114
四、启动VPN容器(这里务必要特权模式privileged )
docker run \
--privileged \
--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 hwdsl2/ipsec-vpn-server
附图:

五、验证容器状态
docker ps # 显示容器运行中即成功
六、开放端口
方法一:iptables命令# 开放UDP 500(IPsec)
sudo iptables -A INPUT -p udp --dport 500 -j ACCEPT
# 开放UDP 4500(NAT-T)
sudo iptables -A INPUT -p udp --dport 4500 -j ACCEPT
# 开放UDP 1701(L2TP)
sudo iptables -A INPUT -p udp --dport 1701 -j ACCEPT
方法二:阿里云控制台进入「安全组配置」添加规则:协议:UDP端口:500/4500/1701授权对象:0.0.0.0/0七、查看日志docker logs ipsec-vpn-server
成功标志:IPsec VPN server is now ready for use!
Server IP: 你的IP
IPsec PSK:*********
Username:*********
Password:*********
八、客户端配置
Windows:内置「网络和共享中心」配置L2TP/IPsecmacOS:使用「网络」设置或第三方工具(如Tunnelblick)Android/iOS:推荐「StrongSwan」或「IPsec VPN」客户端详细教程:点击查看官方客户端配置指南
九、常见问题
问题:容器启动报错 Error: This Docker image should be run in privileged mode.
解决:docker stop ipsec-vpn-server && docker rm ipsec-vpn-server
docker run --privileged ... # 重新运行带 --privileged 的命令
十、总结
全程10分钟搞定支持多设备连接自动分配DNS开机自启提示:使用VPN需遵守当地法律法规,合理科学上网!仅供交流学习🚀