Как я могу симулировать потерю пакетов, используя tc netem? - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь смоделировать 5% -ную потерю пакетов с помощью инструмента tc на порте сервера 1234. Вот мои шаги -

sudo tc qdisc del dev eth0 root
sudo tc qdisc add dev eth0 root handle 1: prio
sudo tc filter add dev eth0 parent 1: protocol ip prio 1 u32 flowid 1:1 match ip dport 1234 0xffff
sudo tc qdisc add dev eth0 parent 1:1 handle 1: netem loss 5%

Во время выполнения вышеупомянутых команд ошибок нет.Но когда я отправляю любой TCP-трафик на этот порт, потери пакетов не наблюдаются.Что я делаю не так в приведенных выше командах?

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 22 марта 2019

См. https://serverfault.com/a/841865/342799 для аналогичного случая.

Команды, которые у меня есть на моем испытательном стенде для сброса 5,5% пакетов:

# tc qdisc add dev eth0 root handle 1: prio priomap 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
# tc qdisc add dev eth0 parent 1:1 handle 10: netem loss 5.5% 25%
# DST_IP=1.2.3.4/32
# tc filter add \
  dev eth0 \
  parent 1: \
  protocol ip \
  prio 1 \
  u32 \
    match ip dst $DST_IP \
  flowid 1:1

Для подтверждения выполните:

# ping -f -c 1000 $DST_IP

до и после этой настройки.

Примечание. Практически все хостинг-провайдеры начинают регулировать трафик, если вы выполняете большое количество флудов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...