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

Tom*_*ler 7 iptables cobbler satellite rhel7

这似乎是一个非常简单的问题。但我在网上看不到任何关于它的信息。该命令来自RHEL 文档本身,所以我希望它可以工作......但它失败了。任何见解?

命令:

/sbin/iptables -A INPUT -m state --state NEW -m tcp -p udp --dport 25150 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

输出:

iptables: Invalid argument. Run `dmesg' for more information.
Run Code Online (Sandbox Code Playgroud)

dmesg 日志:

[ 1719.334534] x_tables: ip_tables: tcp match: only valid for protocol 6
Run Code Online (Sandbox Code Playgroud)

Mic*_*ton 8

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

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

要纠正规则,您必须首先弄清楚哪个是错误的,是匹配器还是协议。不幸的是,此错误已在整个 Internet 上传播,因此从 Internet 搜索中找出来并不容易,甚至 Cobbler 文档也没有明确提及它。

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