在访问国外网站时,F12 看 console,下面两种错误很常见:bash
(1),Failed to load resource: net::ERR_CONNECTION_REFUSED
(2),Failed to load resource: net::ERR_CONNECTION_TIMEOUT
不考虑网络情况的状况下,通常是不一样的 iptables 策略致使的。
本文简单分析不一样 iptables 策略下不一样的现象。服务器
Linux 服务器配置防火墙策略时,对一些不但愿对外开放的端口,通常会用 iptables 过滤掉。
例如服务器上使用 nc 命令监听以下端口(选择一个未使用的 5568 端口做为对比):网络
nc -l 4444 nc -l 5555 nc -l 5566 # 未使用的 5568 端口做为参照
而后用 iptables 过滤掉这些端口:tcp
iptables -A INPUT -p tcp -m tcp --dport 4444 -j DROP iptables -A INPUT -p tcp -m tcp --dport 5555 -j REJECT --reject-with icmp-port-unreachable iptables -A INPUT -p tcp -m tcp --dport 5566 -j REJECT --reject-with tcp-reset # 未被使用的 5568 端口做为参照
使用 nmap 分别扫描上面的 4 个端口,结果以下所示:网站
使用下面命令发起 TCP 链接请求(nc 或者 telnet):spa
nc 127.0.0.1 4444 nc 127.0.0.1 5555 nc 127.0.0.1 5566 nc 127.0.0.1 5568
tcpdump 抓包结果以下:3d
REJECT –reject-with tcp-reset 比 DROP 好,干脆利落,节约时间,节约带宽。code