Рейтинг:0

Формирование трафика и искусственная задержка для каждого IP-адреса в сети LAN с использованием tc/netem

флаг za

последние несколько дней я пытался настроить формирование трафика и искусственную задержку в локальной сети. В настоящее время у меня есть ПК с Ubuntu 20.04 с двумя сетевыми картами, одна из которых подключена к сети компании, а другая использует соединение с произвольным количеством клиентов (все со статическими IP-адресами) через коммутатор. В настоящее время я успешно делюсь соединением с клиентами, вводя задержку и формируя скорость загрузки с помощью netem. Здесь возникает проблема, я не могу формировать трафик загрузки так же, как трафик загрузки. Что я пробовал до сих пор:

  • sudo tc qdisc добавить корневой дескриптор dev enp4s0 1: prio
  • sudo tc filter добавить dev enp4s0 протокол ip parent 1: prio 1 u32 match ip dst {CLIENT IP} flowid 1:2 (вниз)
  • sudo tc filter добавить dev enp4s0 протокол ip parent 1: prio 1 u32 match ip src {CLIENT IP} flowid 1:2(вверх, кажется, не работает)
  • sudo tc qdisc add dev enp4s0 parent 1:2 handle 20: задержка netem 50 мс, скорость 100 Мбит

Кроме того, пока я искал решения, я нашел здесь что количество полос по умолчанию равно 3, поэтому это означает, что по умолчанию у меня может быть 3 qdisc netem для формирования трафика. Видимо, если я изменю количество полос в первой строке с помощью аргумента полосы Х Мне тоже нужно отредактировать приомап, но после этого вроде бы все работает так же, как и раньше. К сожалению, я не могу найти ответ, почему это так работает.

Верен ли мой подход к проблеме? Будет ли это масштабируемо? Я не думаю, что мне когда-либо понадобится учитывать более 20 клиентов одновременно, поэтому я предполагаю, что позже это можно будет довольно хорошо автоматизировать с помощью некоторых сценариев. С другой стороны, есть ли лучший способ добиться того, что мне нужно, о котором я не знаю. Я очень новичок в этой теме, поэтому любые советы приветствуются, спасибо заранее.

A.B avatar
флаг cl
A.B
проверьте этот UL SE Q/A: https://unix.stackexchange.com/questions/421462/simulation-of-packet-loss-on-bridged-interface-using-netem.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.