我的配置如下:
my linux laptop ---eth---> openbsd_fw ---usb---> 4g_modem ----> internet
如果我运行 MTR 到 8.8.8.8,它会给我以下结果:
Host Loss% Snt Last Avg Best Wrst StDev
1. _gateway 0.0% 18 22.4 24.7 22.3 28.6 1.8
2. 192.168.86.33 0.0% 18 218.0 85.9 42.7 247.9 71.0
3. 192.168.86.33 0.0% 17 145.9 223.4 145.9 255.3 40.0
4. (waiting for reply)
5. 192.168.83.30 0.0% 17 43.7 46.9 41.1 61.9 4.7
6. (waiting for reply)
7. 10.178.86.145 0.0% 17 58.4 56.6 51.8 71.1 4.5
8. 83.224.40.198 0.0% 17 56.7 57.4 51.8 62.8 3.4
9. 83.224.40.197 0.0% 17 54.5 56.3 51.1 59.9 2.5
10. 83.224.40.217 0.0% 17 62.5 62.3 56.7 68.3 3.7
11. 185.210.48.1 0.0% 17 60.6 63.0 58.5 68.7 3.1
12. 72.14.238.234 0.0% 17 59.4 63.9 56.8 71.8 3.8
13. 216.239.50.221 0.0% 17 61.6 61.0 57.8 66.7 2.2
14. dns.google 0.0% 17 60.5 62.6 58.3 70.7 3.8
如您所见,第二跳和第三跳在私有网络 192.168.86 上具有相同的 IP。第五跳是另一个 C 类私有网络,第七跳在 10.x 下。如果我连接到该机器,它们看起来像代理,因为我收到以下错误:
Tunnel Connection Failed
和
Connection refused
因为端口 80 已打开并且正在监听。
我的问题是:
- 为什么我的提供商在其网络中使用如此多的私有 IP?
- 为什么第二跳和第三跳有相同的 IP?
- 为什么会有代理或隧道软件监听跳数?我觉得很奇怪,因为我知道 https 是不可缓存的。
答案1
所有 IP 地址 1 - 7 可能仅存在于您的笔记本电脑和 4G 调制解调器之间。由于整个路径都是有线的,因此无法在两者之间设置 MITM;除非有其他方法可以访问您的防火墙。4G 调制解调器需要连接到服务提供商,并且它只会连接到提供 SIM 卡的提供商,因此调制解调器和服务提供商之间发生 MITM 的可能性也极小。
在这种情况下,隧道与缓存无关,它们只是一种以特定方式路由流量的方式。引用维基百科:
IP 隧道是两个网络之间的 Internet 协议 (IP) 网络通信通道。它用于通过封装数据包来传输另一种网络协议。
通常使用隧道是因为它能以某种方式简化路由。在这种情况下,某些东西可能在内部配置为使用隧道,例如将调制解调器连接到防火墙的以太网-over-USB 接口。如果不了解更多设置、硬件和配置,就不能说更多了。
连接被拒绝与端口 80 无关,只意味着您的客户端无权连接到该隧道。
答案2
您的运营商可以自由地在其网络中使用任何 rfc1918(即私有空间)来分配您不需要访问的部分 - 事实上,这样做可以节省实际 IP 空间。您尚未指出您的全球可路由或 CGN IP 的定义位置,这样做可能有助于您理解这些是如何结合在一起的。
还要注意,跟踪路由中报告的 IP 地址仅用于指导目的,完全有可能存在干扰 ICMP(或等效)数据包 TTL 的情况,从而导致重复掩盖真实 IP 地址 - 但如果您担心这些问题,则需要与您的 ISP 沟通。
HTTPS 是可缓存的 - 尽管“可缓存”这个词含义模糊。相关大型内容提供商通常会向 ISP 部署设备来分发和缓存内容。通常,内容提供商会提供设备进行缓存,包括适当的证书,以使 https 不会失败,并与 ISP 合作,确保流量适当地路由到 ISP 网络中的缓存 bix。