RHEL 文档中 cobbler 的 iptables 命令在 RHEL 7 中失败

RHEL 文档中 cobbler 的 iptables 命令在 RHEL 7 中失败

这似乎是一个非常简单的问题。但我在网上没有看到太多关于它的信息。命令来自RHEL 文档本身,所以我期望它能工作……但它却失败了。有什么见解吗?

命令:

/sbin/iptables -A INPUT -m state --state NEW -m tcp -p udp --dport 25150 -j ACCEPT

输出:

iptables: Invalid argument. Run `dmesg' for more information.

dmesg 日志:

[ 1719.334534] x_tables: ip_tables: tcp match: only valid for protocol 6

答案1

恭喜,您在 RHEL 文档中发现了一个错误。

此处显示的 iptables 规则使用tcp匹配器,但随后尝试指定udp协议。这不起作用;tcp匹配器只能与协议 6 一起使用,而协议 6 恰好是tcp。因此您收到错误。

要纠正规则,您必须首先找出哪个错误,匹配器还是协议。不幸的是,这个错误已经在整个互联网上传播,因此通过互联网搜索很难找出它,甚至 Cobbler 文档也没有明确提及它。

您可以通过检查 的输出轻松解决此问题ss -nl,您会发现 cobbler 监听的是 TCP 端口 25150,而不是 UDP。因此,您将其替换udptcp,然后将文档错误报告给 Red Hat。

相关内容