我希望这很容易
up.sh
当我以 root 身份从命令行运行以下脚本时,它可以完美运行。
但是,不是每次新用户连接到 OpenVPN 时手动调用此脚本以通过 tc (qdisc) 单独限制每个新用户(User1、User2、User3 到无穷大)的带宽、延迟等,我希望脚本能够每次新用户连接到 OpenVPN 时都会调用,并且当新用户连接时能够单独调整新用户的带宽、延迟等,而不会影响当前用户的带宽、延迟等(可能是 100 或1000 个)
我尝试将脚本移动到以下文件夹,/etc/network/if-up.d
以便在新用户连接到 OpenVPN 时执行它,但是由于某种原因,该脚本没有被调用(它没有对 qdisc 进行任何更改),但它是完全相同的脚本并且运行良好当我从命令行执行它时。
我还尝试将脚本重命名为learn-address.sh
并将其放置在以下文件夹中,/etc/openvpn/netem/learn-address.sh
以便在 OpenVPN 学习新地址时自动调用,但这也不起作用
我也更新了 server.conf 文件如下
脚本安全 3
学习地址 /etc/openvpn/netem/learn-address.sh
和
脚本安全 3
up /etc/network/if-up.d/up.sh
但它也没有奏效
最后,我还尝试更新/etc/sudoers.tmp
文件以授予脚本权限,但这似乎也无济于事(参见帖子末尾)
我正在运行 Ubuntu 14.04
非常感谢您的帮助
这是我从命令行调用 up.sh 的脚本:
#!/bin/bash
# Full path to tc binary
TC=$(which tc)
#
# NETWORK CONFIGURATION
# interface - name of your interface device
# interface_speed - speed in …
Run Code Online (Sandbox Code Playgroud) 这个问题涉及到另外一个问题有很大的答案,脚本从@Oliver。
目标:我想修改/扩展此答案中提供的脚本 以满足我的要求,如下所示:
我有大量客户(最多 1000 个)。应根据其 CN(通用名称)为每个客户端分配一个订阅类别和相应的最大数据速率。这些速率限制应在客户端连接时应用,并在断开连接时移除:
bronze
: 1 兆位silver
: 10 兆比特gold
: 100 兆比特我想在客户端连接到 OpenVPN 服务器时动态调整每个客户端的订阅类和相应的活动数据速率限制。客户端不必重新连接到 OpenVPN 服务器。这是可能的,还是我们必须断开每个客户端并将其重新连接到 OpenVPN 以导致再次调用脚本来更改tc
配置?
不是tc
使用 shell 手动修改配置,我们如何从另一台计算机或应用程序(即通过 PHP)动态更新客户端订阅类和相应的活动数据速率限制?
非常感谢