Linux 如何对某个 IP 进行上传与下载的限速。

1 天前
 Shadowxxx

如题,linux 如何对某个 IP 进行上传与下载的限速。

773 次点击
所在节点    Linux
12 条回复
Yien
1 天前
TC
tool2dx
1 天前
if (ip == block_ip) then drop_package_random();

UDP 不好限速,只能随机掉包。
Shadowxxx
1 天前
@Yien 我知道 tc ,具体点。
GeekGao
1 天前
Yien
1 天前
tc qdisc add dev eth0 root handle 1: htb default 30
tc class add dev eth0 parent 1: classid 1:1 htb rate 2Mbps ceil 2Mbps
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 2Mbps ceil 2Mbps
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.100 flowid 1:10
Shadowxxx
1 天前
@Yien 上传和下载都能限制?
wangyzj
1 天前
@Yien #1 正解
Shadowxxx
1 天前
@wangyzj 没法限制下载的。
Shadowxxx
16 小时 39 分钟前
谁能指导下怎么限制下行速度
PTLin
7 小时 46 分钟前
这问题挺感兴趣特意查了下。
一般只能对发送队列进行整形,对接收方向的整形没意义,所以想要限制下载速度需要模拟一个虚拟的发送设备,对这个发送设备限流,然后进行重定向。
具体做法首先就是要有 ifb 功能,可以 build 在内核中或者编译成模块,然后使用以下命令。
modprobe ifb
ip link add dev ifb0 up type ifb
tc qdisc add dev eth0 handle ffff: ingress
tc filter add dev eth0 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0
tc qdisc add dev ifb0 root handle 1: htb default 10
tc class add dev ifb0 parent 1: classid 1:1 htb rate 1000mbit
tc class add dev ifb0 parent 1:1 classid 1:10 htb rate 10mbit ceil 10mbit
piero66
7 小时 15 分钟前
tc + ifb
Shadowxxx
4 小时 21 分钟前
@PTLin 我都试过了,效果并不好。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1100780

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX