С помощью iptables
Я пытаюсь отклонить пакеты (хочу вернуть ICMP-сообщение).
iptables -A FORWARD [...] -j REJECT --reject-with icmp-port-unreach
Пакеты отброшены, но с использованием tcpdump
Я не вижу ICMP
. Что дает ? Я делаю что-то неправильно ? Мне нужно перевернуть sysctl
или что-нибудь ?
Ядро это: 2.6.32-5-openvz-686
пожалуйста не предлагайте "использовать DROP
вместо того REJECT
".
Вы уверены, что попали в цепочку FORWARD? Вы можете добавить правило для регистрации всех совпадающих пакетов.
iptables -I FORWARD [...] -j LOG --log-prefix "FORWARDED"
Если после добавления этого правила вы ничего не видите в / var / log / messages, вероятно, вы используете неправильную цепочку (INPUT вместо FORWARD?) Или неправильные условия.
Вы уверены, что рассматриваемые пакеты соответствуют вашему правилу отклонения? Вы видите, что счетчик, связанный с этим правилом, увеличивается, когда вы смотрите на подробный вывод (iptables --list --verbose
)?
Вы пытались отключить все остальные правила iptables, кроме этого, чтобы убедиться, что никакие другие правила не мешают?