Yan*_*rez 7 linux traffic-management traffic-shaping
我的互联网连接是这样的:
Internet <-128kbps 链接-> Cisco 路由器(公共 IP)<-LAN-> Linux 路由器/服务器(公共 IP)<-LAN-> 普通 PC(公共 IP)
思科路由器:
Linux路由器
普通 PC(其中 4 台):
我在 Linux 路由器上启用了 iptables 数据包日志记录,有时我发现:
现在,我如何配置 Linux 路由器以通过以下方式调整流量:
我已经为每台 PC 标记了(使用 IP 表 --set-xmark 选项)每个传出数据包:
... 等等。
每个传入的数据包也使用此方案从 16 开始标记。
我很抱歉这个长问题,但我已经放弃使用 tc 命令设置它,关于流量整形的文档太少,我不知道下一步该去哪里。
假设 eth0 是到 Cisco 路由器的 100mbit 以太网连接,它应该是这样的(是 n\xe2\x80\x99t 吗?):
\n\ntc qdisc add dev eth0 root handle 1: htb default 2\n# 100 mbps\ntc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit\n# To LAN traffic\ntc class add dev eth0 parent 1:1 classid 1:2 htb rate 99000kbit ceil 100mbit\n# IN traffic\ntc class add dev eth0 parent 1:1 classid 1:3 htb rate 120kbit\n# OUT traffic\ntc class add dev eth0 parent 1:1 classid 1:4 htb rate 120kbit\n\n# IN \xe2\x80\x9cbands\xe2\x80\x9d (one for each PC)\ntc class add dev eth0 parent 1:3 classid 1:10 htb rate 24kbit ceil 120kbit\ntc class add dev eth0 parent 1:3 classid 1:11 htb rate 24kbit ceil 120kbit\ntc class add dev eth0 parent 1:3 classid 1:12 htb rate 24kbit ceil 120kbit\ntc class add dev eth0 parent 1:3 classid 1:13 htb rate 24kbit ceil 120kbit\ntc class add dev eth0 parent 1:3 classid 1:14 htb rate 24kbit ceil 120kbit\n\n# OUT \xe2\x80\x9cbands\xe2\x80\x9d (one for each PC)\ntc class add dev eth0 parent 1:4 classid 1:15 htb rate 24kbit ceil 120kbit\ntc class add dev eth0 parent 1:4 classid 1:16 htb rate 24kbit ceil 120kbit\ntc class add dev eth0 parent 1:4 classid 1:17 htb rate 24kbit ceil 120kbit\ntc class add dev eth0 parent 1:4 classid 1:18 htb rate 24kbit ceil 120kbit\ntc class add dev eth0 parent 1:4 classid 1:19 htb rate 24kbit ceil 120kbit\nRun Code Online (Sandbox Code Playgroud)\n\n会给我这样的东西:
\n\n+-----------------------------------------------------------+\n| 100 mbits (1:1) |\n+---------+------------------------+------------------------+\n| 99mbits | 120 kbits In (1:3) | 120 kbits Out(1:4) |\n+ (1:2) +----+----+----+----+----+----+----+----+----+----+\n+---------+ PC1| PC2| PC3| PC4| PC5| PC1| PC2| PC3| PC4| PC5|\n |1:10|1:11|1:12|1:13|1:14|1:15|1:16|1:17|1:18|1:19|\n +----+----+----+----+----+----+----+----+----+----+\nRun Code Online (Sandbox Code Playgroud)\n\n对于每个乐队:
\n\n# PC1, IN\ntc qdisc add dev eth0 parent 1:10 handle 20: prio\ntc qdisc add dev eth0 parent 20:1 handle 22: sfq perturb 10\ntc qdisc add dev eth0 parent 20:2 handle 23: sfq perturb 10\ntc qdisc add dev eth0 parent 20:3 handle 24: sfq perturb 10\n\n# PC1, OUT\ntc qdisc add dev eth0 parent 1:15 handle 21: prio\ntc qdisc add dev eth0 parent 21:1 handle 25: sfq perturb 10\ntc qdisc add dev eth0 parent 21:2 handle 26: sfq perturb 10\ntc qdisc add dev eth0 parent 21:3 handle 27: sfq perturb 10\n\n+--------------------++--------------------+\n| PC1 IN || PC1 OUT |\n+--------------------++--------------------+\n| PRIO (20:0) || PRIO (21:0) |\n| | | || | | |\n| Prio | Prio | Prio || Prio | Prio | Prio |\n| 1 | 2 | 3 || 1 | 2 | 3 |\n|(20:1)|(20:2)|(20:3)||(21:1)|(21:2)|(21:3)|\n+------+------+------++------+------+------+\n| SFQ | SFQ | SFQ || SFQ | SFQ | SFQ |\n|(22:0)|(23:0)|(24:0)||(25:0)|(26:0)|(27:0)|\n+------+------+------++------+------+------+\nRun Code Online (Sandbox Code Playgroud)\n\n等等。
\n\n规则应该是这样的
\n\n# PC1, OUT\ntc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 1 fw flowid 21:1\ntc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 2 fw flowid 21:2\ntc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 3 fw flowid 21:3\n\n# PC1, IN\ntc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 16 fw flowid 20:1\ntc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 17 fw flowid 20:2\ntc filter add dev eth0 protocol ip parent 1:0 prio 1 handle 18 fw flowid 20:3\nRun Code Online (Sandbox Code Playgroud)\n\n等等。
\n\n有什么建议、意见等吗?(我没有该领域的经验)
\n