![iptable localhost 连接报告被阻止,但工作正常](https://linux22.com/image/603029/iptable%20localhost%20%E8%BF%9E%E6%8E%A5%E6%8A%A5%E5%91%8A%E8%A2%AB%E9%98%BB%E6%AD%A2%EF%BC%8C%E4%BD%86%E5%B7%A5%E4%BD%9C%E6%AD%A3%E5%B8%B8.png)
我正在使用 fwbuilder 并尝试设置允许lo
接口和源 ip的规则127.0.0.1
,如下所示:
$IPTABLES -A INPUT -i lo -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -o lo -m state --state NEW -j ACCEPT
...
$IPTABLES -A INPUT -s 127.0.0.1 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -s 127.0.0.1 -m state --state NEW -j ACCEPT
连接似乎工作正常,但为什么我会看到几个这样的错误呢/var/log/syslog
?
RULE 4 -- DENY IN= OUT=lo SRC=127.0.0.1 DST=127.0.0.1 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=43254 DF PROTO=TCP SPT=47654 DPT=4949 WINDOW=256 RES=0x00 ACK PSH FIN URGP=0
答案1
你能展示所有规则吗?要解决你的问题,只需制定规则:
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
答案2
您仅允许-m state --state NEW
。假设您RELATED, ESTABLISHED
在某处也有规则,您将看到一些像上面一样的数据包被拒绝,带有ACK PSH FIN
或一些其他非新标志,内核状态跟踪器无法将其识别为已建立或相关连接的一部分。通常,这种情况发生在您重新启动 iptables 并重新加载连接跟踪模块后不久。
答案3
您在环回接口上拒绝了无效和未跟踪的数据包。
这可能会导致 icmp 数据包和其他数据包被丢弃。
查看 http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#STATEMACHINE和 man iptables