这个iptables规则中的“-m tcp”是什么意思?

tre*_*boy 15 linux firewall iptables

system-config-firewall 编写的防火墙配置

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

Aar*_*ler 13

根据手册,这是对tcpiptables 模块的一个不寻常但无害的显式调用;该模块在-p tcp指定(TCP 协议)时被隐式调用,并且仅在-p tcp指定时才起作用,但显然编写 system-config-firewall 规则生成器的人相信可靠性理论。


VL-*_*-80 6

从 iptables 手册页:

-m, --match match
Run Code Online (Sandbox Code Playgroud)

指定要使用的匹配项,即测试特定属性的扩展模块。这组匹配构成了调用目标的条件。匹配项按照命令行中的指定从头到尾进行评估,并以短路方式工作,即如果一个扩展产生错误,则评估将停止。

在这种情况下TCP match正在使用。

它能做什么:

TCP匹配

这些匹配项是特定于协议的,仅在处理 TCP 数据包和流时可用。要使用这些匹配项,您需要--protocol tcp在尝试使用它们之前在命令行上指定。请注意,--protocol tcp匹配必须位于协议特定匹配的左侧。这些匹配在某种意义上是隐式加载的,就像 UDP 和 ICMP 匹配是隐式加载一样。在 TCP 匹配部分之后,将在本部分的后续部分中查看其他匹配项。