curl ip.me --proxy 127.0.0.1:8888
异常错误 : no route to host
PHP
程序下 curl
使用代理访问
errNo : 7 errMsg : Failed to connect to 127.0.0.1 port 8888: No route to host
知乎上找到一些答案, 防火墙还是有原因的
这种情况一般是数据包命中了iptables
的--reject-with icmp-host-prohibited
规则。iptables
对进入的数据包有三种处理链INPUT
,OUTPUT
,FORWARD
。从iptables
的第一条规则开始执行,如果都没命中,一般在最后会有一条 -A INPUT -j REJECT --reject-with icmp-host-prohibited
。这时客户端会显示 No route to host
,tcpdump
抓包显示服务端返回的icmp
包中,Type
是3:目的不可达,Code
是10:目的主机被强制禁止。