我需要模拟大约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
,然后按标记过滤。