热搜词

我的博客

版块简介:一些简单的介绍
  •  58帖子
  •  155讨论
  •  0关注

一个简单的 SoftEther VPN 服务器 Docker 映像

笔记 邱双仪 发表于 2023-11-13 10:33:34 | 显示全部楼层 |阅读模式
3568 1
设置
  • L2TP/IPSec PSK + OpenVPN
  • 已启用 SecureNAT
  • 完全前向保密 (DHE-RSA-AES256-SHA)
  • 官方 SoftEther VPN GitHub 稳定版存储库制作。

  1. docker run -d --cap-add NET_ADMIN -p 500:500/udp -p 4500:4500/udp -p 1701:1701/tcp -p 1194:1194/udp -p 5555:5555/tcp -e SPW=管理密码 siomiz/softethervpn
复制代码

在 Android + iOS 设备上测试了连接性。似乎 Android 设备不需要 L2TP 服务器打开端口 1701/tcp。
上面的示例将同时接受来自 L2TP/IPSec 和 OpenVPN 客户端的连接。
混合和匹配已发布的端口:
-p 500:500/udp -p 4500:4500/udp -p 1701:1701/tcp用于 L2TP/IPSec
-p 1194:1194/udp对于 OpenVPN。
-p 443:443/tcp用于基于 HTTPS 的 OpenVPN。
-p 5555:5555/tcp用于 SoftEther VPN(供应商推荐)。
-p 992:992/tcp也可作为替代品使用。

SoftEther VPN 服务器支持的任何协议都可以在任何开放/发布的端口上接受(如果 VPN 客户端允许非默认端口)。

凭据
所有可选:
-e PSK:预共享密钥 (PSK),如果未设置:“notasecret”(不带引号)。
-e USERS:可以使用以下模式设置多个用户名和密码:。用户名和密码之间用 分隔。每对应用 分隔。如果未设置,则使用随机用户名(“user[nnnn]”)创建单个用户帐户,并创建随机弱密码。username:password;user2:pass2;user3:pass3:username:password;
-e SPW:服务器管理密码。:警告:
-e HPW:“DEFAULT”集线器管理密码。:警告:

仍支持单用户模式(使用 和 )。-e USERNAME-e PASSWORD
请参阅 docker 日志中的用户名和密码(除非已设置),如下所示:-e USERS
# ========================
# user6301
# 2329.2890.3101.2451.9875
# ========================

点 (.) 是密码的一部分。如果通过 指定密码,则不会记录密码;在您需要看到它的情况下使用。-e USERSdocker inspect
:警告:如果未设置,将设置随机密码,但不会显示或记录。如果指定,请阅读下面的通知。
通知
如果使用环境变量 () 指定凭据,则它们可能会通过主机上的进程列表(例如。 command) 或 command。建议在 挂载已配置的 SoftEther VPN 配置文件,其中包含哈希密码而不是原始密码。如果此文件在运行时存在(在入口点脚本中),则将跳过初始设置。您可以使用 docker cp 命令从正在运行的容器中获取此文件。-eps(1)docker inspect/opt/vpn_server.config
配置
要使服务器配置在容器生命周期之后持续存在(即使配置在重新启动后仍然存在),请在 中挂载一个完整的配置文件。如果挂载了此文件,则将跳过初始设置。 要获取配置文件模板,请使用服务器和集线器密码进行初始设置,然后输出配置文件:/usr/vpnserver/vpn_server.configdocker rundocker cp
$ docker run --name vpnconf -e SPW=<serverpw> -e HPW=<hubpw> siomiz/softethervpn echo
$ docker cp vpnconf:/usr/vpnserver/vpn_server.config /path/to/vpn_server.config
$ docker rm vpnconf
$ docker run ... -v /path/to/vpn_server.config:/usr/vpnserver/vpn_server.config siomiz/softethervpn

有关详细信息,请参阅 SoftEther VPN 服务器管理手册
伐木
默认情况下,SoftEther 有一个非常详细的日志记录系统。出于隐私或空间限制,这可能不可取。解决此问题的最简单方法:创建一个虚拟卷以记录到 /dev/null。在 docker run 中,可以使用以下卷变量完全删除日志。
-v /dev/null:/usr/vpnserver/server_log \-v /dev/null:/usr/vpnserver/packet_log \-v /dev/null:/usr/vpnserver/security_log服务器和集线器管理命令
管理命令可以在设置服务器和集线器管理员密码之前通过以下方式执行:
  • -e VPNCMD_SERVER:-separated 服务器管理命令。;
  • -e VPNCMD_HUB:-separated Hub 管理命令(目前仅适用于 Hub)。;DEFAULT

示例:通过 NatSet Hub 管理命令设置 MTU:-e VPNCMD_HUB='NatSet /MTU:1500'
请注意,仅当未挂载配置文件时,命令才会运行。某些命令(如 )会导致问题。ServerPasswordSet
OpenVPN的
docker run -d --cap-add NET_ADMIN -p 1194:1194/udp siomiz/softethervpn
整个日志可以保存并用作配置文件(根据需要更改)。.ovpn
如果未设置服务器 CA 证书,则会在运行时自动创建该证书。您可以提供本地创建的自签名 1024 位 RSA 证书/密钥对,也可以使用下面描述的脚本。通过 和 提供密钥对内容(建议使用 --env-file)。X.509 标记(如 )和任何非 BASE64 字符(包括换行符)可以省略并忽略。gencert-e CERT-e KEY-----BEGIN CERTIFICATE-----
示例(假设 bash;注意双引号和反引号):"`
  • -e CERT="`cat server.crt`" -e KEY="`cat server.key`"
  • -e CERT="MIIDp..b9xA=" -e KEY="MIIEv..x/A=="
  • --env-file /path/to/envlist

env-file模板可以通过以下方式生成:
docker run --rm siomiz/softethervpn gencert > /path/to/envlist
输出将具有并且已经填充。修改/。CERTKEYPSKUSERS
证书卷支持(如或)将在某个时候添加...-v--volumes-from
许可证
MIT 许可证





全部评论

docker run -d --cap-add NET_ADMIN -p 500:500/udp -p 4500:4500/udp -p 1701:1701/tcp -p 1194:1194/udp -p 5555:5555/tcp -e SPW=6691 siomiz/softethervpn
2023-11-13 10:45:00 回复
您需要登录后才可以回帖 登录 | 注册
发表评论
发布 联系QQ