当我尝试运行时,iptables -A control_in -p tcp --dport 22 -j ACCEPT
我收到错误消息iptables v1.4.20: unknown option "--dport"
。我在互联网上发现的所有与此消息相关的服务器故障都是由于人们没有指定协议造成的。但是我正在这样做(-p tcp
)。我也试过用多个--verbose
选项运行它,但我没有得到更多信息。
编辑:迈克尔汉普顿的回答让我得到了正确的答案。这是一个损坏的 iptables 安装,它缺少 /usr/lib/xtables 中的一些库。--match
如果给 iptables-p
参数,则该参数是多余的,除非它只在给定的情况下抱怨缺少的库--match
。
--dport
是tcp
匹配的一部分,即-m
或--match
。
这会起作用:
iptables -A control_in -p tcp -m tcp --dport 22 -j ACCEPT
就我而言,这给了我以下错误:
iptables v1.8.7 (legacy): Couldn't load match
tcp':No such file or directory`以上语法适用
iptables v1.8.4 (legacy)
于 Ubu 20.04。iptables TCP 模块/usr/lib/x86_64-linux-gnu/xtables/libxt_tcp.so
归 iptables 包所有。也许你丢失了一些文件?