В настоящее время моя цепочка OUTPUT установлена на DROP. Я хотел бы изменить его на REJECT, чтобы у меня была подсказка, что именно мой брандмауэр мешает мне получить что-то, а не проблему с какой-либо службой, к которой я пытаюсь получить доступ (немедленное отклонение вместо истечения времени ожидания). Однако iptables, похоже, не заботится об этом. Если я вручную отредактировал сохраненный файл правил и попытался восстановить его, я получил, iptables-restore v1.4.15: Can't set policy 'REJECT' on 'OUTPUT' line 22: Bad policy name
и он отказался загружать правила. Если я пытаюсь установить это вручную ( iptables -P OUTPUT REJECT
), я получаю, iptables: Bad policy name. Run 'dmesg' for more information.
но в dmesg нет вывода.
Я подтвердил, что соответствующее правило скомпилировано в ядро, и я перезагрузился, чтобы убедиться, что оно загружено:
# CONFIG_IP_NF_MATCH_TTL is not set
CONFIG_IP_NF_FILTER=y
***
CONFIG_IP_NF_TARGET_REJECT=y
***
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_TARGET_ULOG=y
(Звездочки добавлены, чтобы выделить применимое правило)
Все, что я могу найти, говорит о том, что REJECT является допустимой политикой / целью (в целом), но я не могу найти ничего, что говорит о том, что это недопустимо для цепочек INPUT, FORWARD или OUTPUT. Мой гугл-фу не помогает. Я на Gentoo, если это что-то меняет. Кто-нибудь здесь есть какое-то понимание?
iptables
правило (ы) в вопросе?