在訪問國外網站時,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