一个简单的 SoftEther VPN 服务器 Docker 映像
设置[*]L2TP/IPSec PSK + OpenVPN
[*]已启用 SecureNAT
[*]完全前向保密 (DHE-RSA-AES256-SHA)
[*]从官方 SoftEther VPN GitHub 稳定版存储库制作。
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”)创建单个用户帐户,并创建随机弱密码。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'请注意,仅当未挂载配置文件时,命令才会运行。某些命令(如 )会导致问题。ServerPasswordSetOpenVPN的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
页:
[1]