如何在几个虚拟接口上使用具有不同参数的“tc”?

如何在几个虚拟接口上使用具有不同参数的“tc”?

我需要模拟大约1000台主机的网络连接不良的网络环境。

(与 netem)可以tc与虚拟网络接口(如 eth0:0、eth0:1)一起使用吗?

当我尝试在具有不同参数的许多虚拟接口上使用时tc- 似乎所有虚拟接口都有一种tc配置。

我的问题与此类似:

https://stackoverflow.com/questions/31186010/netem-and-virtual-interfaces

答案1

tc与虚拟网络接口一起使用

是的。

(如 eth0:0、eth0:1)?

不。

这些不是虚拟网络接口。它们是网络接口的别名。有很大的不同。

这是一种为每个接口指定多个地址的老式方法,而不是现代方法ip address add/change/replace/del $ip dev $interface

https://www.kernel.org/doc/Documentation/networking/alias.txt

IP 别名是过时的管理每个接口多个 IP 地址/掩码的方法。

这几乎就是它们的全部用途。最好根本不要使用它们。别名会让您认为它们是具有所有花哨功能的虚拟设备,但事实并非如此。别名只是名义上的——它们没有任何作用。

如果您需要真正的虚拟网络设备,您可以查看bridge devices(虚拟化)或tun/tap devices(openvpn)。具体来说tc,您可能还感兴趣IMQ / IFB

如果只想按IP地址过滤,可以指定tc filter或标记它们iptables,然后按标记过滤。

相关内容