我正在学习 iptables 但找不到关于这两条规则之间区别的解释:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
“NEW” 状态是什么意思?如果有“NEW”状态,那么是否有“OLD”状态?
答案1
NEW 是首次建立连接时的状态。通常在 iptables 规则的早期阶段接受所有 ESTABLISHED、RELATED 连接,以减少处理负载。后续规则根据端口号等确定允许哪些 NEW 连接。对于上述两个规则,第一个规则将允许端口 80 上的所有流量,而第二个规则将仅允许初始握手。如果默认规则是丢弃数据包,则仅第二个规则不足以允许端口 80 上的通信。