Gcloud SSH 隧道代理始终通过美国,甚至来自其他地区
Posted
技术标签:
【中文标题】Gcloud SSH 隧道代理始终通过美国,甚至来自其他地区【英文标题】:Gcloud SSH Tunnel Proxy always through USA, even from other regions 【发布时间】:2020-03-12 00:25:36 【问题描述】:当我在荷兰创建一个实例时:
gcloud compute instances create p --zone europe-west4-c --machine-type=n1-standard-2
然后像这样做 SSH 隧道:
gcloud compute ssh --zone europe-west4-c p -- -N -p 22 -D localhost:5000
或者在我将我的 SSH 密钥添加到实例并执行以下操作之后:
ssh user@55.66.77.88 -D localhost:5000
(其中 55.66.77.88 是我的 Gcloud 实例的公共 IP)
然后像 https://www.whatismyip.com/ 这样的页面仍然显示我的位置是 Mountain View, CA US 并且我的 ISP 是 Google LLC 在我正确设置了 socks 代理之后。 p>
如果我使用 DigitalOcean 并做同样的事情,情况就不是这样了。
这是否意味着来自美国以外任何其他地区的 Gcloud 实例的所有传出请求仍通过美国路由?
【问题讨论】:
Stack Overflow 是一个编程和开发问题的网站。对于这个问题,您可能应该使用Stack Exchange network 上的另一个站点。另请参阅帮助中心的What topics can I ask about here。 【参考方案1】:IP 地址是一个全局地址空间; 没有与 IP 地址关联的固有(或固定)位置。
有多种方法可以推断 IP 地址的位置,并且该计算的一部分可能涉及识别 IP 地址的所有者。您应该查找由 Google 和 Digital Ocean 提供的 IP 的所有者。您提到了 whatismyip,它提供了一个 whois service。此功能由多个提供者提供(您可以通过与其中几个检查形成共识)。
Google 拥有 GCE 实例 IP 地址(除非这是客户拥有的 IP [link]),而且 Google 位于加利福尼亚州山景城,因此很可能这就是与该地址关联的位置的原因.
Google 可能会根据需求和一些可预测的机制将 IP 地址分配给区域,这些机制会使 IP 与位置相关联,从而将 IP 与您在欧洲的位置相关联,但更有可能(更灵活)它不这样做,而且 IP根据需要与全球各地的机器相关联。
当您寻址到 Google 拥有(或管理)的 IP 时,您的本地网络提供商会将您快速连接到 Google 的全球网络。此过程通常(并非总是 [link])以最佳方式路由流量。
那么为什么 Digital Ocean IP 指的是您的位置?几种可能:
该位置最近被推断为您; IP 的 Digital Ocean 分配对位置具有粘性(因此推断为在您附近); IP 并非归 Digital Ocean 所有,而是归本地提供商所有(因此推断在您附近)。【讨论】:
以上是关于Gcloud SSH 隧道代理始终通过美国,甚至来自其他地区的主要内容,如果未能解决你的问题,请参考以下文章
Spring boot Resttemplate通过ssh隧道的动态代理设置连接不识别远程DNS