![Iptables -C(--check)不起作用](https://linux22.com/image/772188/Iptables%20-C%EF%BC%88--check%EF%BC%89%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我有以下 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 中可能存在一些错误吗?
答案1
尝试添加一个-t nat
,以便您选择 NAT 表,或者也许-t mangle
。很确定它会默认查看过滤表,该表没有 PREROUTING 链。您需要指定要查看哪个表。
sh# iptables -C PREROUTING -t nat -p udp -m udp --dport 5060 -j CT --helper sip