LinuxForum.Fans
Тема

Отбрасывание пакетов по определенному алгоритму в iptables

Автор: Username 9 сообщений 3730 просмотров
#90275

Здравствуйте.

Можно ли в iptables реализовать, чтобы считать количество проходящих пакетов с определенным портом источника и/или портом получателя, и/или определенным адресом источника/получателя и отбрасывать, к примеру, каждый десятый пакет? Если да, то подскажите, пожалуйста, как или в каком направлении вести поиски. К сожалению, не имею времени просматривать всю возможную документацию по iptables.

Заранее благодарю за помощь.

#91195

Спасибо! Там полусается можно задать четкую закономерность, а нет ли способа рандомизировать отброс пакетов (нужно для проведения опыта)?

#91210

Username, в хорошо заданном вопросе содержится ответ. (См. «Срабатывание критерия с заданной вероятностью»).
UPDATE: Соответствие random, оказывается, было в старых версиях iptables. Сейчас вместо него — statistic:
[console]
man iptables
...
statistic
This module matches packets based on some statistic condition. It supports two distinct modes settable with the --mode option.

Supported options:

--mode mode
Set the matching mode of the matching rule, supported modes are random and nth.

--probability p
Set the probability from 0 to 1 for a packet to be randomly matched. It works only with the random mode.

--every n
Match one packet every nth packet. It works only with the nth mode (see also the --packet option).

--packet p
Set the initial counter value (0 <= p <= n-1, default 0) for the nth mode.
[/console]

#91902

О, это уже очень интересно, особенно с вероятностью. Спасибо! )) Пока буду в этом направлении рассматривать.

З.Ы. А можно ли в iptables как нибудь вносить изменения в проходящие пакеты (не меняя сам код программы)? Можно ли написать какой-нибудь скрипт в самом iptables, который бы динамически менял правила или что-то делал с пакетами?

#91903
Username написал:
З.Ы. А можно ли в iptables как нибудь вносить изменения в проходящие пакеты (не меняя сам код программы)? Можно ли написать какой-нибудь скрипт в самом iptables, который бы динамически менял правила или что-то делал с пакетами?

Поясните, пожалуйста, что должно получиться в итоге.

#92709
Lupo Alberto написал:

Поясните, пожалуйста, что должно получиться в итоге.

Я полагаю, что топик-стартер делает некую модель "плохой" сети передачи данных, где теряются пакеты и где высока вероятность их не только полной потери, но и искажения любого бита. Ну и потом будет смотреть, как будут работать отдельные программы на такой "сети". Не совсем понимаю, зачем это нужно моделировать, когда всё это прекрасно рассчитывается по не самым сложным алгоритмам для сети любой сложности. Просчитать свертку по алгоритму БПФ, или даже её тупо проинтегрировать - это не самая сложная задача. Но изящная...

#95542

Cruiser78 верно понял задачу:), смоделировать "плохую" сеть, но нужно именно на реальной сети, а не математически. Рассчеты некоторые уже сделаны, но нужно показать на примере, так сказать.

#95561

Username, вы не рассматривали вариант использования Ostinato?

Войдите или зарегистрируйтесь, чтобы ответить.