使用docker快速部署一个 IPsec VPN 服务器
文章发布较早,内容可能过时,阅读注意甄别。
# 1,快速部署
使用如下命令快速创建 VPN 服务 server 端:
docker run --name ipsec-vpn-server --env-file /data/jump/vpn/.env --restart=always -p 500:500/udp -p 4500:4500/udp -v /lib/modules:/lib/modules:ro -d --privileged registry.cn-hangzhou.aliyuncs.com/eryajf/ipsec-vpn-server
1
其中用户名密码配置文件内容为:
$ cat /data/jump/vpn/.env
# Define your own values for these variables
# - DO NOT put "" or '' around values, or add space around =
# - DO NOT use these special characters within values: \ " '
VPN_IPSEC_PSK=6JhixxWU0u9REqATiFrEAG0
# 配置用于登陆VPN的账号和密码
VPN_USER=admin
VPN_PASSWORD=9s0RrJX4qEoQG7L32s9I
# 如下应该填写本机的外网IP
VPN_PUBLIC_IP=10.10.0.2
# (Optional) Define additional VPN users
# - Uncomment and replace with your own values
# - Usernames and passwords must be separated by spaces
# 配置额外的用户名和密码
VPN_ADDL_USERS=user1 user2
VPN_ADDL_PASSWORDS=pass1 pass2
# (Optional) Use alternative DNS servers
# - By default, clients are set to use Google Public DNS
# - Example below shows using Cloudflare's DNS service
VPN_DNS_SRV1=223.5.5.5
VPN_DNS_SRV2=223.6.6.6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
一个用户名对应一个密码,如果需要新增, 更改配置文件,重启服务即可。注意服务器需要有外网 IP,以及放开对应端口。
查看 IPsec VPN 服务器状态
docker exec -it ipsec-vpn-server ipsec status
1查看当前已建立的 VPN 连接
docker exec -it ipsec-vpn-server ipsec whack --trafficstatus
1
# 2,客户端连接
目前手上只有 Mac 电脑,所以着重介绍下 Mac 的连接方式。
打开网络偏好设置详情
然后点击左侧加号新建连接,接口选择 VPN,VPN 类型选择 L2TP/IPSec。
注意服务器地址应该填写服务端的外网 IP,账户名称则是上边对应的账号。
点击认证设置,需要填写密码与共享秘钥,秘钥是上边配置文件中的
VPN_IPSEC_PSK
。
还要注意一个配置项,点击下边的高级,记得勾选通过 VPN 发送所有流量:
配置完毕之后,点击应用,然后点击连接,如无问题,则配置完毕。
# 3,参考
- https://github.com/hwdsl2/docker-ipsec-vpn-server/blob/master/README-zh.md
- 配置 IPsec/L2TP VPN 客户端 (opens new window)
上次更新: 2024/07/04, 22:40:37