我正在尝试为 ubuntu 10.04 配置 iptables,但在目标或源地址不是 localhost 或其他位置的行上,iptables -L 出现滞后问题。以下条目将导致其行滞后:
iptables -A INPUT -p tcp --dport 111 -s 192.168.1.14 -j ACCEPT
iptables -A INPUT -p tcp --dport 90 -d 192.168.1.14 -j ACCEPT
但这不行:
iptables -A INPUT -p tcp --dport localhost -s 192.168.1.14 -j ACCEPT
iptables -A INPUT -p tcp --dport localhost -d 192.168.1.14 -j ACCEPT
我觉得这可能是由于 iptables 检查 IP 是否可访问所致。如果不可访问,原因是什么?如果可访问,我该如何禁用它?
答案1
首先,--dport localhost
似乎不正确;“localhost”是一个地址,而不是端口说明符。
但是,iptables 输出的延迟通常是由于地址解析造成的。iptables 正在尝试查询其打印出的 IP 地址的名称,这可能需要一些时间,尤其是在没有匹配项的情况下。您可以通过向-n
iptables 提供以下标志来避免这种情况:
iptables -Lvn