Я провожу некоторое тестирование приложения, над которым я работаю, и мне нужно уметь в течение короткого периода времени беззвучно отбрасывать исходящие UDP-пакеты для репликации режима возможного сбоя.
Есть какой-либо способ сделать это?
Примечание: iptables
DROP
не молчит для исходящих сообщений! Когда send()
вызываемый или аналогичный вызов сбрасывается iptables
, он возвращается EPERM
по какой-то причудливой причине (см. Здесь . К сожалению, я не могу использовать этот ответ, так как мой пункт назначения находится на расстоянии одного шага).
xtables-addons
Раньше у меня был STEAL
глагол , но его удалили несколько лет назад, и я не могу его найти.
Сейчас я попытался использовать фиктивные маршруты в таблице маршрутизации, и, к сожалению, это нарушает оба направления трафика.
Для теста, который мне нужно сделать, я должен разрешить входящий UDP-трафик, и как только я устанавливаю фиктивный маршрут, потоковые входящие пакеты немедленно останавливаются, хотя источник все еще отправляет их.
источник
Ответы:
Как насчет добавления фиктивного интерфейса и установки маршрута к этому интерфейсу?
Он всегда отправляет пакеты для любых (соседних или удаленных) адресов
dummy0
.источник
Добавление маршрута нарушает входящий трафик из-за фильтрации обратного пути. Простое решение: отключите фильтрацию обратного пути на интерфейсе:
(используйте ваш входящий интерфейс вместо
eth0
вышеупомянутого).Вы также можете использовать
REDIRECT
цель (отправить пакет, например, прослушивающему Netcatnc -l -u -p 1234 > /dev/null
). Более сложная версия будет NFQUEUE.источник