对于 Google 计算虚拟机,我想阻止 SSH 进入世界(简单),但仍允许控制台 Web SSH 进入虚拟机。
有人知道 Web SSH 的 IP 范围吗?我尝试过各种已发布的范围,但似乎无法获得 Web 控制台 SSH 的正确范围。
答案1
出于安全原因,目前无法获取 IP 信息。此外,IP 地址是动态的,因此会发生变化。
一个解决方法是在 Google 网络块中列出 IP,这些 IP 块将用于从浏览器进行 ssh。
$ dig -t txt _cloud-netblocks.googleusercontent.com
每当添加或删除 IP 范围时,网络块都会更新,因此,您今天获得的结果可能与您在接下来的几天获得的结果不同。
有类似的功能请求开放于GCP 问题追踪器,具体可以参考一下。
答案2
Google 维护着一个全球基础设施,该基础设施会动态增长以适应不断增长的需求。因此,Google 服务器使用大量 IP 地址,并且这些地址经常更改。查找当前 Google IP 地址范围的最有效方法是查询 Google 的 SPF 记录。
要为您的域名创建 SPF 记录,您只需让记录引用当前 IP 地址列表的 Google SPF 记录即可:
v=spf1 include:_spf.google.com ~all
使用此方法,您的域名会自动继承 Google IP 地址的更改。
当您需要 Google 服务器的实际 IP 地址时,首先使用常见的 DNS 查找命令之一(nslookup、dig、host)来检索域 _spf.google.com 的 SPF 记录,如下所示:
nslookup -q=TXT _spf.google.com 8.8.8.8
这将返回 Google SPF 记录中包含的域名列表,例如:_netblocks.google.com、_netblocks2.google.com、_netblocks3.google.com
现在逐个查找与这些域关联的 DNS 记录,如下所示:
nslookup -q=TXT _netblocks.google.com 8.8.8.8
nslookup -q=TXT _netblocks2.google.com 8.8.8.8
nslookup -q=TXT _netblocks3.google.com 8.8.8.8
这些命令的结果包含当前的地址范围。
正如 Digil 的回答中所提到的,这个 IP 范围会随着时间而改变。
您可以查看此文档的主题:https://support.google.com/a/answer/60764?hl=en