OpenVPN Access Server 2.10.3 破解人数限制
温馨提示:本文最后更新于 2022-08-04,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
OpenVPN Access Server 破解在线人数限制由于 2.9.x 以上版本由于使用了 Python3 编写, 现已支持 2.10.x 版本~!
已经更新支持到最新版本:2.10.3
官方最新版离线安装包:
wget https://openvpn.net/downloads/op ... -CentOS7.x86_64.rpmwget https://openvpn.net/downloads/op ... ients-latest.rpmyum -y install openvpn-as-latest-CentOS7.x86_64.rpmyum -y install openvpn-as-bundled-clients-latest.rpm
我把编译好的破解文件放到最下面,大家可以自己下载学习,直接覆盖可以使用。
截止到我写这篇文字的时候最新的版本已经是 2.9.4, 但是由于我家里的机器用 Docker 部署 2.8.7 的时候会跑不起来所以用的 2.8.0, 我这也是采用的最新版 2.9.4.
过程
环境准备
名称 版本 必要
OpenVPN Access Server =2.9.4 YES
Python Runtime 3.7 YES
由于 2.9.x 使用的 Python 运行时是 3.x, 所以操作 2.9.0 以下的版本需要 Python 2.8, 2.9.0 及以上版本需要 Python 3.x, 不能太新,会出问题!最新的 2.9.4 已经使用的是 python 3.7!
实操阶段
主要操作的文件是一个名叫 pyovpn-2.0-pyx.x.egg 的文件,以我了解的情况来看,从 2.5.0 到 2.9.x 文件名一直都是这个,只是不同版本里面的内容不一样.
目录:/usr/local/openvpn_as/lib/python/
这个文件有点类似 Java 当中的 jar 库文件,也是一个 zip 压缩文件,里面包含了一些 Python 的字节码文件.
破解的原理大概是在 Python 中采用类似 Java 动态代理的技术,将原本读取用户属性的调用返回值拦截,修改用户限制数量再返回.
2.9.4 及以上是 /pyovpn/lic/uprop.pyc; 按照网上流行的破解方法,把这个文件解压出来并改名为uprop2.pyc, 然后新建一个
uprop.py 文件,内容如下:
2.9.4 及以上版本内容:
from pyovpn.lic import uprop2old_figure = Nonedef new_figure(self, licdict): ret = old_figure(self, licdict) ret['concurrent_connections'] = 1024 return retfor x in dir(uprop2): if x[:2] == '__': continue if x == 'UsageProperties': exec('old_figure = uprop2.UsageProperties.figure') exec('uprop2.UsageProperties.figure = new_figure') exec('%s = uprop2.%s' % (x, x))
# 2.9.4python3 -O -m compileall uprop.py && mv __pycache__/uprop.cpython-37.opt-1.pyc uprop.pyc
注意 uprop.cpython-37.opt-1.pyc 文件名会随着 python 版本变化而变化.
上面这一步有很多小伙伴可能不太会,百度一下,py文件注册库文件,其中引用的compileall,有很多教程。
现在我们得到了一个改文件名的文件uprop2.pyc, 和一个编译出来
的uprop.pyc; 把这两个文件压缩到 pyovpn-2.0-pyx.x.egg 的 /pyovpn/lic/ 目录下,然后去服务器替换目标文件,重启服务就 OK 了.
结果
本文是基于2.9.4版本,但是我测试最新版的2.10.3同样适用。
下面附2.10.3密码重置教程,这个和以前不一样,有默认密码了。重置默认 openvpn 帐户管理权限
注意:如果您当前没有使用最新版本的 Access Server 2.10.3,我们建议您阅读旧版本的说明。
管理帐户,默认称为openvpn,可以是操作系统中的引导帐户,也可以是 Access Server 本身的内部本地身份验证系统中的管理帐户。我们建议使用本地帐户,这是自 Access Server 2.10 版以来的默认帐户。
这些是常见的管理用户登录问题:
您丢失了用户名和/或密码。
该帐户与已失效的外部身份验证系统相关联。
该帐户上设置了拒绝登录标志。
有 MFA 要求,您丢失了密钥。
该帐户在多次登录失败后(暂时)被锁定。
您可以在 Access Server 的命令行上以 root 用户身份执行以下命令,以创建或重置用户名为openvpn的本地管理员帐户。它考虑了上述所有情况,并应为您提供一个本地openvpn管理帐户,您可以使用该帐户登录到 Admin Web UI。
使用指定密码创建/重置openvpn管理本地帐户:
cd /usr/local/openvpn_as/scripts ./sacli --user "openvpn" --key "prop_superuser" --value "true" UserPropPut ./sacli --user "openvpn" --key "user_auth_type" --value " local" UserPropPut ./sacli --user "openvpn" --new_pass= SetLocalPassword ./sacli start
如果帐户需要,请禁用拒绝登录标志并重置 MFA:
./sacli --user "openvpn" --key "prop_deny" --value "false" UserPropPut ./sacli --user "openvpn" --key "prop_google_auth" UserPropDel ./sacli --user "openvpn" --lock 0 GoogleAuthRegen ./sacli start
重置密码锁定策略以防万一它被触发:
./sacli --key "vpn.server.lockout_policy.reset_time" --value "1" ConfigPut ./sacli start sleep 2 ./sacli --key "vpn.server.lockout_policy.reset_time" ConfigDel ./sacli start
尝试使用openvpn和您指定的密码再次登录到 Admin Web UI 。