You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
default via 222.222.222.1 dev eth1
222.222.222.0/24 dev eth1 proto kernel scope link src 222.222.222.222
111.111.111.0/24 dev eth0 proto kernel scope link src 111.111.111.111
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.21.0.0/16 dev br-84ee77784cda proto kernel scope link src 172.21.0.1 linkdown
环境信息
eth0为国内侧、eth1为国外侧
发生场景
专线双独立IP机型,机器具备国内端IP以及国外端IP,并且将默认路由指向了国外端IP
BUG原因猜测
主要原因是backend中tc流控脚本对网卡的识别逻辑场景覆盖不足导致的,当前脚本针对单网卡的机器,工作正常,流控没有什么问题。但是,如果机器具备多张网卡,tc脚本的识别逻辑会把具备默认路由的网卡(也就是外网出口网卡)作为流控策略的目标网卡,进而导致流控无效。
一般来说,双IP机型,会将外网网卡配置为系统的默认流量出口,境内网卡作为入口。我对tc的流控了解不多,只是简单测试过,说下我的猜想吧:由于在入口测的网卡没有流控策略,数据流已经在国内侧入站,经过路由表转至境外侧网卡,因为数据已经入站,所以流控无效。
手动在入口侧网卡添加tc流控策略,可以正常生效,配合ifb网卡,可以正常控制入站与出站速率。
在单网卡机器上配置面板的流控,可以正常生效。
代码位置
https://github.com/Aurora-Admin-Panel/backend/blob/main/ansible/project/files/tc.sh#L6-L7
The text was updated successfully, but these errors were encountered: