小编Ser*_*mer的帖子

当新用户连接和带宽塑造连接时自动调用脚本

我希望这很容易

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)

bandwidth openvpn

6
推荐指数
1
解决办法
1万
查看次数

如何使用每个 OpenVPN 客户端的 TC 进行流量整形(速率限制)

这个问题涉及到另外一个问题很大的答案,脚本@Oliver

目标:我想修改/扩展此答案中提供脚本 以满足我的要求,如下所示:

  1. 我有大量客户(最多 1000 个)。应根据其 CN(通用名称)为每个客户端分配一个订阅类别和相应的最大数据速率。这些速率限制应在客户端连接时应用,并在断开连接时移除:

    • bronze: 1 兆位
    • silver: 10 兆比特
    • gold: 100 兆比特
  2. 我想在客户端连接到 OpenVPN 服务器时动态调整每个客户端的订阅类和相应的活动数据速率限制。客户端不必重新连接到 OpenVPN 服务器。这是可能的,还是我们必须断开每个客户端并将其重新连接到 OpenVPN 以导致再次调用脚本来更改tc配置?

  3. 不是tc使用 shell 手动修改配置,我们如何从另一台计算机或应用程序(即通过 PHP)动态更新客户端订阅类和相应的活动数据速率限制?

非常感谢

bandwidth openvpn tc rate-limiting

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

bandwidth ×2

openvpn ×2

rate-limiting ×1

tc ×1