У меня следующая версия Iptables:
sh# iptables --version
iptables v1.4.21
Страница справки содержит эту строку:
--check -C chain Check for the existence of a rule
У меня есть такое правило вiptables-save
:
-A PREROUTING -p udp -m udp --dport 5060 -j CT --helper sip
Но когда я пытаюсь проверить(-C
)его, я вижу такой вывод:
sh# iptables -C PREROUTING -p udp -m udp --dport 5060 -j CT --helper sip
iptables: Bad rule (does a matching rule exist in that chain?).
В чем причина? Может ли быть какая-то ошибка в Iptables?
Попробуйте добавить -t nat
, чтобы выбрать таблицу NAT, или, возможно, -t mangle
. Почти уверен, что по умолчанию он просматривает таблицу фильтров, в которой не будет цепочки PREROUTING. Вам нужно указать, какую таблицу вы просматриваете.
sh# iptables -C PREROUTING -t nat -p udp -m udp --dport 5060 -j CT --helper sip