Как сознательно ввести задержку для входящих пакетов UDP

7958
Vi.

Я хочу, чтобы каждый пакет (который соответствует правилу iptables) был задержан на некоторый фиксированный интервал времени. Как к этому?

Preudocode: iptables -A INPUT -p udp <more conditions> -j DELAY --delay 50000 # delay UDP packets for 50 milliseconds

Обновление: @related Имитация сетевого подключения с низкой пропускной способностью и высокой задержкой в ​​Linux

6
Зачем? Цели тестирования? Shinrai 14 лет назад 0
Да, тестирование / отладка. На самом деле `tc qdisc add dev eth1 root netem delay 250ms` помогло. Vi. 14 лет назад 0

1 ответ на вопрос

6
Vi.

tc qdisc add dev eth1 root netem delay 250msХак позволяет делать это глобально для данного интерфейса. Включает пакеты UDP.

Это задерживает только исходящие пакеты. Для входящих пакетов вы можете маршрутизировать пакеты через виртуальный маршрутизатор (созданный в отдельном сетевом пространстве имен и vethс netemподключенным к правой стороне канала).