【问题标题】:How to assign an external ip to linux server at gcloud?如何在 gcloud 上为 linux 服务器分配外部 ip?
【发布时间】:2025-12-29 21:40:16
【问题描述】:

过去几天我一直在努力解决一个问题。

我在 gcloud 上有两个实例(ubuntu 服务器),我想为它们分配外部 IP。

我可以 ping 和 ssh 到我的实例,但是当我尝试执行 telnet 时,它没有执行。

在 gcloud 上,所有实例都有一个内部 IP 和一个外部 IP。

而且他们不知道他们的 IP。我从 gcloud 控制台获取它。

我怎么能把它分配给他们?

我也试过sudo ifconfig eth0:0 130.211.95.1 up

【问题讨论】:

  • “分配他们的外部 IP”是什么意思?为什么机器上需要这个?
  • @ZacharyNewman 我发现一个用例是试图在机器上运行 bind 并让它监听外部 IP。它拒绝绑定到未分配给任何本地接口的 IP。

标签: linux google-compute-engine google-cloud-platform gcloud


【解决方案1】:

已在GCE public issue tracker 上提交了对此的功能请求,但尚未实施。如果线程上发布了任何更新,您可以对其加注星标以获取通知。

您还可以提及您的用例吗?所以我可能可以为您提供解决方法。

【讨论】:

  • 好的。我有两个实例,我想创建一个 cassandra 集群。两个 IP 需要每个 cassandra 实例。一种对外交流,一种对内交流。当我启动集群并从我的客户端连接到一个节点时,我连接到的 cassandra 节点应该响应我其他节点的外部 IP。但他们不认识他们。而且我的客户只有一个可以连接的节点。
  • 查看这个 Python Cassandra 驱动程序。有一些示例显示了如何通过为客户端中的节点指定 IP 地址列表来连接到多节点集群。如果您要远程连接,此 IP 地址应该是外部 IP 地址:datastax.github.io/python-driver/getting_started.html
【解决方案2】:

您可以执行以下操作将外部 IP 添加到本地接口:

ip addr add 130.211.95.1/32 dev eth0 label eth0:shortlabel

使用 'del' 替换 'add' 以在完成后将其删除。

shortlabel 可以是不超过某个(短)长度的任何字符串。

更新:有关相关信息,另请参阅此GCE support issue

【讨论】:

    最近更新 更多