我正在使用需要 HTTP 代理的网络。Internet 运行正常。
$ wget google.com
--2017-10-18 21:52:48-- http://google.com/
Connecting to xxx.xx.xx.xx:8080... connected.
Proxy request sent, awaiting response... 302 Moved Temporarily
Location: http://www.google.co.in/?gfe_rd=cr&dcr=0&ei=tX_nWcnwLq6A8Qenx4zICw [following]
--2017-10-18 21:52:48-- http://www.google.co.in/?gfe_rd=cr&dcr=0&ei=tX_nWcnwLq6A8Qenx4zICw
Reusing existing connection to xxx.xx.xx.xx:8080.
Proxy request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘index.html’
index.html [ <=> ] 14.20K --.-KB/s in 0.06s
2017-10-18 21:52:48 (241 KB/s) - ‘index.html’ saved [14537]
但我无法 ping 通。
$ ping google.com
PING google.com (216.58.197.46) 56(84) bytes of data.
^C
--- google.com ping statistics ---
14 packets transmitted, 0 received, 100% packet loss, time 13315ms
追踪路径
$ tracepath google.com
1?: [LOCALHOST] pmtu 1500
1: 192.168.xx.x 0.621ms
1: 192.168.xx.x 0.593ms
2: no reply
3: no reply
4: no reply
5: no reply
.
.
如果我使用 VPN,那么一切都正常。
答案1
这是因为代理和 VPN 是不同的服务。
VPN 会创建一个虚拟网卡,允许您使用 TCP、UDP、ICMP、SSH、FTP 和任何其他协议。它有自己的 IP 地址和自己的路由。
另一方面,代理服务器充当中继。有一种特定的代理协议来处理 HTTP - 因此它被称为 HTTP 代理。还有一种 SOCKS 代理,它可以代理任何基于 TCP/IP 的服务(HTTP/HTTPS、SSH、FTP...)。
Ping 和 traceroute 是使用 ICMP 协议的服务,因此您的代理将无法通过隧道连接它们。