这两者之间有什么区别或它们基本上是一回事?
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
解决方法
第一个规则接受从$EXTERNALNET转发到目的端口22 / tcp的$INTERNALNET的流量.
第二个规则接受从$INTERNALNET转发到带有源端口22 / tcp的$EXTERNALNET的流量.
在像iptables这样的状态防火墙的正确配置中,应该不需要允许基于源端口的流量的规则,因为允许有效建立的TCP流的两个方向.否则可能会导致安全漏洞 – 在这种情况下,只要源端口为22 / tcp,就允许所有出站流量.
对于非有状态配置,给出的示例可能是可以实现的最佳.