问题标签 [trafficshaping]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache - 如何根据 cookie 限制文件下载带宽
我想在我的 wordpress 网站上创建高级会员计划,例如黄金用户可以无限制地下载文件,但普通用户必须以最大 200KB/s 的速度下载文件。
用户登录 wordpress 时保存 cookie 很简单(setcookie()
根据this使用功能),因此实现我的目标的最佳方法似乎是根据 cookie 过滤用户。
我搜索并找到了mod_qos
apache 模块,它可以限制带宽并具有特权用户选项,但我不知道如何使用它来排除高级用户的限制。提供的文档不够详细。
还有其他模块,例如mod_cband
andmod_ratelimit
和其他,但它们都不能根据 cookie 过滤用户(或者至少我想不出办法这样做)
其他解决方法是根据 IP 和使用过滤用户tc
并iptables
限制带宽(就像这里为 open vpn 所做的那样)。但这似乎很困难,因为您必须为每个用户登录执行 shell 命令并将用户 IP 添加到高带宽组。
注意:我有两台单独的服务器,一台是带有 cpanel 的 web 主机,我的 wordpress 网站在其上运行,另一台是我托管文件的 vps。
请原谅我的英语或用词不好,这是我在 stackoverflow 中的第一个问题。提前致谢。
m3u8 - M3U8 和 Linux tc 中定义的 BANDWIDTH
我有以下 m3u8 文件
我想运行一个 Linux tc 命令来调整前一个文件中每个定义的带宽的带宽,但我不确定带宽值是 bps 还是 kbps。
例如,我想为以下运行一个 tc 命令
哪个命令是正确的
或者
python - Python Twisted:如何通过 UDP 协议使用 HTB 速率限制
我有一个 DNS 服务器,我想在其上添加一些速率限制,因为我收到了一些突发的查询。
我通读了https://github.com/racker/python-twisted-core/blob/master/doc/examples/shaper.py并根据我的需要进行了调整:
但我得到以下异常:
甚至可以将twisted.protocols.htb与 UDP 协议一起使用吗?
linux - 是否可以对 iproute tc 命令进行逆向工程?
我的 QOS 在 VyOS 中运行良好,但需要迁移到 TinyCoreLinux,因为我将将此 VM 共享为实验室路由器。VyOS 是 400MB,而 TCL 是 10MB。
使用 VyOS 中的“set”命令,它会生成 tc 输出,如下所示:
有没有办法对其进行逆向工程以获得原始命令?
我尝试过查看生成 tc 命令的 VyOS perl 代码,但它到处都是,没有任何注释,而且我的 perl 知识也不是很好。
我还尝试将 /sbin/tc 重命名为 /sbin/tc_ 并创建了一个 /sbin/tc 脚本来尝试记录命令,但由于某种原因效果不佳。
trafficshaping - 无法使用其句柄删除 Linux 流量控制 qdisc
我是 Linux TC 的初学者。我无法弄清楚为什么我添加到接口根目录的某个qdisc不能通过指定其句柄来删除。
是的,我知道root
如果它附加到接口的根目录,我可以使用说明符删除它,但我也应该能够通过handle删除它。
在上面的示例中,添加了一个netem
qdisc,它的句柄显示为 8005。我尝试通过指定该句柄来删除它。这行不通。但显然,指定root
为句柄是有效的。
为什么?
youtube - 使用 iptables 阻止 YouTube 视频
我正在尝试找到一种方法来阻止在我孩子的 Ubuntu 计算机上播放 YouTube 视频。我创建了一个 shell 脚本来获取 Youtube IP 并将它们添加到 iptables 以丢弃传入的数据包。为此,我使用whois -h whois.radb.net -- '-i origin AS15169'
问题是我不仅获得了 YouTube IP,还获得了所有 Google IP。因此,阻止它们也会阻止访问其他谷歌服务,其中包括谷歌搜索、谷歌云端硬盘、谷歌邮件等。
我还添加了一些例外,包括域白名单,但这还不够。
这是shell脚本:
我正在尝试找到另一种基于 iptables 的强大解决方案(例如,我的孩子足够聪明,可以绕过主机阻塞)。
我虽然关于 mDPI netfilter 但它似乎不再作为 Ubuntu 20.04 中的 iptables 模块提供。
任何想法?
linux - 如何检查我的交通控制规则的运行情况?
我对网络流量控制有点陌生。我一直在修改 linux 中的 tc 命令和 iptables,并且一直在用不太方便的方法测试它们,例如,为了防止拥塞,上传多个重文件。有没有办法可以根据我设置的规则来计算网络性能的结果?如果它看起来有点模糊,请原谅我。
docker - 如何在 docker 容器上设置网络优先级?
我想在特定的 docker 容器上设置较低的优先级,这样它就不会让其他容器的网络容量不足。我正在寻找的模型是这样的:
我想我想在启动 docker 容器时设置它,以便所有退出该容器虚拟接口的数据包都被标记为较低的优先级(较高的数字)。期望的结果是:如果没有拥塞,一切正常。队列备份的那一刻,来自目标容器的流量被取消优先级。
我看到了添加延迟、设置带宽上限或损坏的示例,但没有设置优先级。
另外,我是否需要在 docker bridge/nat 接口上启用队列以便读取 TOS 优先级?
默认情况下,虚拟设备在没有附加 qdisc 的情况下运行(出于性能原因)
tcp - 如何在 TCP 连接上将数据限制为给定的数据速率
有多个传入 TCP 连接,您需要构建一个系统,该系统将以特定数据速率写入传出 TCP 连接。你如何以编程方式实现这一点。来自不同线程的数据包的顺序并不重要,可以对此做出假设。
这只是一个限速算法吗?或者是否有可以利用的与 TCP 相关的协议特性?
被拒绝的答案:使用队列和计时器通过漏桶方法实现这一点(这是一个面试问题)
linux-kernel - Network Output Buffering
How can I hold the packets generated from a server until an external signal is delievered. On receiving the signal the host hosting the server should release the packets?
I think it can be done with qdisc
module in kernel but i don't know how to use it specifically for this case. a simple working example is required.
Any other way is also fine.