通过 gloud 命令或接口(interface)设置 IP-Alias 时,它可以开箱即用。但是在机器本身中,我没有看到任何配置、ip addr-entries、没有防火墙规则、没有允许机器可 ping 的路由 - 但它是可 ping 的(本地和远程)! (例如 10.31.150.70
,当您设置 10.31.150.64/26
-子网时,您的主 IP 是 10.31.150.1
)
另一方面,机器的主 IP 是/32-网络掩码。例如:10.31.150.1/32
, 网关:10.31.0.1/16
.那么,机器如何到达网关,10.31.0.1
,当网关超出范围时?
通过 ip addr del
删除主 IP 时,别名不再可 ping 通。
最佳答案
Google 在您的实例上运行网络守护程序。它作为 google-network-daemon
运行服务。此代码是开源的,可在 repo 上查看.这个 repo 有一个名为 google_compute_engine
的 Python 模块。它管理 IP 别名等。您可以浏览他们的代码以了解 Google 如何实现此功能(他们使用 ip route
或 ifconfig
,具体取决于平台)
要查看 Google 在 Debian 机器上添加的别名路由(他们在下面使用 ip route
进行别名),请运行以下命令。
ip route ls table local type local dev eth0 scope host proto 66
如果您知道您的 Linux 命令,您可以在停止守护程序后删除适当的路由,然后将别名 IP 地址分配给您的主接口(interface)作为第二个 IP 地址以查看
ifconfig
行动中的方法也是如此。
关于networking - IP-Aliases 如何在 Google 云计算实例上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50918543/