Linux下的流量整形

Sei*_*lam 5 python linux ubuntu trafficshaping

在哪里可以了解如何在Linux下控制/查询网络接口?我想获得特定的应用程序上传/下载速度,并强制执行特定应用程序的速度限制.

我特别喜欢可以帮助我使用Python编写流量整形应用程序的信息.

Jon*_*erg 6

您需要iproute2套件,您可以在其中使用tc命令.tc命令看起来像

tc class add dev eth2 parent 1: classid 1:1 htb rate 100Mbit ceil 100Mbit quantum 1600
Run Code Online (Sandbox Code Playgroud)

这是一个使用iproute2 的现有Python流量整形应用程序.


Nic*_*ood 6

除非应用程序使用您可以匹配的特定IP地址和/或端口,否则使用Linux内核工具实际上很难对每个应用程序进行整形.

假设是这种情况,那么你需要阅读iptables特别是fwmarks.你还需要阅读tc.结合这两个工具可以做你想要的.在Linux的高级路由和流量控制是一个良好的开端.

假设您的应用程序不使用可预测的端口/ IP地址集,那么您将需要使用像Trickle这样的用户空间整形器.这会在应用程序和内核之间插入自己,并在用户空间中为该应用程序的流量进行整形.

我不认为这些工具有任何直接的python绑定,但使用python编写脚本并直接调用可执行文件会很简单.