Preciso simular ambiente de rede com conexões de rede ruins para cerca de 1000 hosts.
Pode tc
(com netem) ser usado com interfaces de rede virtual (como eth0:0, eth0:1)?
Quando tento usar tc
em muitas interfaces virtuais com parâmetros diferentes - parece que todas as interfaces virtuais têm uma tc
configuração.
Meu problema é parecido com este:
https://stackoverflow.com/questions/31186010/netem-and-virtual-interfaces
Sim.
Não.
Essas não são interfaces de rede virtual. Eles são aliases para interfaces de rede. Há uma enorme diferença.
É uma maneira antiquada de especificar mais de um endereço por interface, em vez da abordagem moderna de
ip address add/change/replace/del $ip dev $interface
.https://www.kernel.org/doc/Documentation/networking/alias.txt
E isso é praticamente tudo o que você pode usá-los. Melhor não usá-los em tudo. Os aliases fazem você pensar que são dispositivos virtuais com todos os sinos e assobios, mas não são. Os aliases existem apenas no nome - eles não fazem nada.
Se você precisar de um dispositivo de rede virtual genuíno, poderá dar uma olhada em dispositivos de ponte (virtualização) ou dispositivos tun/tap (openvpn). Para
tc
especificamente, você também pode estar interessado em IMQ/IFB .Se você deseja apenas filtrar por endereço IP, pode especificá-los
tc filter
ou marcá-losiptables
e, em seguida, filtrar por marca.