networking - IP-Aliases 如何在 Google 云计算实例上工作?

标签 networking google-cloud-platform ip alias

通过 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 routeifconfig,具体取决于平台)

要查看 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/

相关文章:

android - 使用电话作为接入点的设备的 IP 地址

ssl - DNS - 将 A 记录指向 SSL 证书的新 IP

java - 如何让此代码等待线程池中的线程可用?

javascript - 获取文档后从 Firestore 获取文档 ID

android - 为我的项目启用 Google Cloud Build API 时出错?

ip - 如何在不破坏 header 的情况下更改 ip header 中的 tos 位

android - 更改网络时接收 NETWORK_STATE_CHANGED_ACTION 已连接

Java 服务器/客户端应用程序仅在按 Enter 键时显示消息

google-cloud-platform - 如何在 Apache Beam 中提取 Google PubSub 发布时间

c - 为什么 IP header 变量声明根据字节顺序交换