状态防火墙

状态防火墙

我是防火墙新手,正在尝试使用状态防火墙规则。我确实知道,使用状态规则时,第一个数据包会根据规则进行检查,但属于同一连接的后续数据包无需任何检查即可通过。

但我真的不理解 NEW ESTABLISHED RELATED 状态。例如,如果我想要一个有状态的防火墙,我应该在规则中包含哪些状态?

-A INPUT -m conntract --ctstate ESTABLISHED,NEW -j ACCEPT

上述规则在这些州的背景下将起到什么作用?

答案1

状态 NEW 代表第一个数据包(TCP Sync),通常指定允许通过的条件(例如 IP 或端口)。ESTABLISHED 代表同一连接的所有序列数据包(IP 和端口反转),通常不需要指定任何条件,因为它基于 NEW 数据包。RELATED 代表特定协议的返回数据包(例如 ICMP echo reply)。

因此,典型的 iptables 条目如下所示。可能有许多 NEW 条目,但通常一个 RELATED,ESTABLISHED 条目就足够了。

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

相关内容