在,IPTables,这两个规则有什么区别?

Aar*_*ron 4 linux iptables

这两者之间有什么区别,或者它们本质上是一样的吗?

iptables -t filter -A FORWARD -s $EXTERNALNET -d $INTERNALNET -p tcp --dport 22 -j ACCEPT
iptables -t filter -A FORWARD -s $INTERNALNET -d $EXTERNALNET -p tcp --sport 22 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

bon*_*ing 6

第一规则接受流量被转发$EXTERNALNET$INTERNALNET目的地端口22 / TCP。

第二条规则接受流量被转发$INTERNALNET$EXTERNALNET端口22 / TCP。

在像 iptables 这样的有状态防火墙的正确配置中,应该不需要规则来允许基于源端口的流量,因为有效建立的 TCP 流的两个方向都是允许的。否则会导致安全漏洞——在这种情况下,只要源端口为 22/tcp,就允许所有出站流量。

对于无状态配置,给出的示例可能是可以实现的最佳示例。

  • 是的,但是不习惯设置 iptables 的人怎么知道“正确配置”是什么? (3认同)
  • 请注意,iptables 不会隐式允许相关流量,这是通过显式添加“-m state --state ESTABLISHED,RELATED -j ACCEPT”规则来配置的。只有当你这样配置它时,它才会变成有状态的。 (2认同)