在 Google Compute Engine 上从没有公共 IP 的计算机路由到互联网

2023-11-29

在 Google Compute Engine 上,我们有没有公共 IP 的机器(因为配额限制了可以拥有公共 IP 地址的机器数量)。我们需要这些非公共 IP 机器来访问 Google 存储桶中的数据,这似乎意味着我们必须路由到互联网。但我们无法从这些非公共 IP 机器访问网络之外的任何内容。所有数据包都会丢失。

我们找到了一些文档https://developers.google.com/compute/docs/networking#routing描述了如何设置从没有公共 IP 地址的计算机到有公共 IP 地址的计算机的路由。

我们尝试创建一个机器“代理”,它打开了 ip 转发并具有允许 http 和 https 的防火墙规则(我认为这个细节并不重要,但我们做到了)。我们创建了一个网络“nat”,它具有 0.0.0.0/0 转发到“代理”规则。我们希望来自“nat”网络上的非公共 IP 机器的数据将其数据包转发到“代理”,然后“代理”将以某种方式充当互联网的网关,但这不起作用。

我怀疑我们必须在“代理”上执行某种我们没有执行的路由指令,告诉代理转发到 Google 互联网网关,但我不确定这应该是什么。也许是 iptables 中的规则?或者某种 NAT 程序?


您也许可以使用 iptables NAT 来使其正常工作。在代理实例上(作为 root):

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Google Compute Engine 上从没有公共 IP 的计算机路由到互联网 的相关文章

  • 在 python 中使用 oauth2 服务帐户向 Google API 进行身份验证

    我已按照以下说明进行操作https developers google com accounts docs OAuth2ServiceAccount https developers google com accounts docs OAu
  • 我想获取 GCP VM 实例的操作系统

    我想要获取 GCP VM 实例的操作系统 目前我只能看到创建实例的图像 有办法得到吗 我看到操作系统库存管理需要在虚拟机上设置一些元数据https cloud google com compute docs instances view o
  • 计算引擎上的 google cloudML 的 Docker 容器 - 验证安装桶

    我一直在与谷歌的机器学习平台合作 cloudML 大图 我正在尝试找出最干净的方法来获取他们的码头工人环境 https stackoverflow com questions 41605801 authenticate google clo
  • 在 Google 计算引擎上动态部署 Jenkins Slave 以进行 github 提交

    这是一个整合的问题 我想在 Google Compute Engine 上运行 Jenkins 我可以做到这一点 但如果我让 8 核虚拟机始终运行 我很快就会超出预算 作为一种解决方案 我认为我可以留下一个内存量较低的微实例 并始终充当詹金
  • GCE Kubernetes 会话持久化

    我正在 GCE Kubernetes 上运行一个 wordpress woocommerce 网站 但由于会话持久性而在扩展时遇到问题 LoadBalancer GCE Ingress 将所有流量发送到反向代理 然后反向代理将流量发送到我设
  • 如何在谷歌计算引擎上打开端口

    在谷歌计算引擎上 我可以通过 localhost 访问服务器上的端口 但我无法使用来自同一服务器或外部客户端计算机的 IP 地址访问同一端口 我尝试在Web控制台页面上创建新的防火墙规则 并且可以从Linux命令中看到它 但端口8888仍然
  • 使用 Google Cloud 添加计费方式会导致“意外错误”

    我一直在尝试向我的谷歌计算引擎添加计费方法 但没有任何运气 输入我的 Visa 卡详细信息并单击提交按钮后 我总是收到以下消息 发生意外的错误 请稍后再试 我正在尝试创建一个谷歌计算引擎实例 但如果没有启用计费 这是不可能的 我已经尝试通过
  • 用于托管 MySQL 数据库的 Cloud SQL 或虚拟机实例

    我有一个网站 但我很困惑在哪里托管其数据库 Google Cloud SQL D1 层具有 0 5 GB RAM 其费用为每天 1 46 美元 GCE n1 standard 2 有 7 5 GB RAM 其成本为每天 1 68 我将当前的
  • 执行“docker Push”时 gcloud ping 尝试失败

    我运行了以下命令 gcloud preview docker push gcr io project name an image 我收到以下错误 有谁知道我如何解决这个问题或者这意味着什么 我所做的只是遵循标准示例只是为了了解它是如何工作的
  • VM实例无法访问您请求的项目不可用

    刚刚登录免费的 Google 云帐户 300 美元积分 看看它是否支持以 OVF 格式导出虚拟机 创建了一个新项目 然后单击 计算 gt 计算引擎 gt VM 实例 我看到以下错误消息 您请求的项目无法提供 屏幕上没有提供额外的信息 Goo
  • 无法通过 SSH 连接到曾经正常工作的 GCP 虚拟机实例

    我昨天创建了几个 GCP 虚拟机实例 所有实例都使用相同的配置 但运行不同的任务 我可以通过 GCP 控制台通过 SSH 连接到这些实例 它们都工作正常 今天我想检查任务是否已完成 但我无法再通过浏览器 SSH 到任何这些实例 错误消息如下
  • 如何请求增加 Google Cloud 中的 GPU 配额

    我一直在尝试请求增加 Compute Engine 的 GPU 配额 因为当我尝试启动实例时 Google Cloud 说我的 GPU 配额为 0 我升级了帐户 但我似乎不知道需要做什么来增加配额 我看过很多教程 但自从这些教程发布以来 云
  • 如何在 Google Compute Engine 中使用快照恢复实例?

    我通过云控制台创建了虚拟机实例的快照 我想知道如何使用快照恢复实例 计算引擎的文档不是很有帮助 该实例在 Ubuntu 上运行 谢谢 要从快照恢复实例而不删除 重新创建实例 关闭实例并分离启动磁盘 gcloud beta compute i
  • 还有人在初始化 Cloud Engine 时遇到“未知错误”吗?

    我正在尝试使用他们最近发布的 启动器 在 Google 云平台上启动 Discourse 实例 https cloud google com launcher details bitnami launchpad discourse q di
  • 在 Google Compute Engine 虚拟机之间共享永久性磁盘

    来自谷歌的文档 可以将永久磁盘附加到多个实例 但是 如果您将永久磁盘附加到多个实例 则所有实例都必须以只读模式附加永久磁盘 无法以读写模式将永久磁盘附加到多个实例 如果您以读写模式附加永久磁盘 然后尝试将该磁盘附加到后续实例 Google
  • 启动脚本似乎不起作用

    我最近开始在我的一些项目中使用 Google 的计算引擎 问题是我的启动脚本似乎不起作用 由于某种原因我的脚本不起作用 虚拟机具有启动脚本元数据并且工作正常当我手动运行它时 sudo google metadata script runne
  • 如何在 Google Dataproc 集群中安装 python 包

    创建并运行集群后 是否可以在 Google Dataproc 集群中安装 python 包 我尝试使用 pip install xxxxxxx 在主命令行中 但它似乎不起作用 Google的Dataproc文档没有提及这种情况 创建集群后
  • 使用 TensorFlow 2.1 的 Cloud TPU v3 Pod 的 TPUClusterResolver 出现错误

    我正在尝试在带有 TensorFlow 2 1 的 Google Cloud Compute Engine VM 上使用我的 抢占式 Cloud TPU v3 256 但它似乎无法正常工作TPUClusterResolver抛出一个Coul
  • 在 Google App Engine 上连接 Mongoose

    我已在 Google App Engine 上成功部署了自定义 Node js 应用程序 但是 我在启动应用程序时遇到问题 因为猫鼬在尝试连接时超时 令人沮丧的是 猫鼬在我的本地计算机上以完全相同的参数连接得很好 我的 MongoDb UR
  • GCE Windows 启动脚本

    我面临一个奇怪的问题 我的windows startup script ps1没有在启动时运行官方链接 https cloud google com compute docs startupscript providing a startu

随机推荐

  • 通过错误组处理 goroutine 终止和错误处理?

    我试图以这种方式并行读取多个文件 以便每个读取文件的 go 例程将其数据写入该通道 然后有一个 go 例程监听该通道并将数据添加到映射中 这是我的play 下面是剧中的例子 package main import fmt sync func
  • 为什么调用 JFrame.pack() 会添加额外的空间?

    最初 我使用的代码工作正常 但有点复杂 将方法的某些部分移入 JFrame 的构造函数后 一切正常 除了使用 pack 使框架具有适当的尺寸之外的一切 这是原始代码 public class BaseGameFrame extends JF
  • 处理 Spring @RequestParam 的重复值

    我有一个 Spring 3 2 控制器 具有基本的请求映射 例如 RequestMapping action public String action RequestParam param String param do stuff ret
  • HERE API 从不运行批处理作业,始终返回接受状态

    由于某种原因 我的应用程序今天早上停止工作 提交作业后 请求其状态时 仅返回accepted 这是我用来创建和运行作业的代码 url https batch geocoder api here com 6 2 jobs action run
  • 重写原型上内置方法的类型

    默认类型为hasOwnProperty is hasOwnProperty v PropertyKey boolean 然而 这阻止我做这样的事情 const obj a 1 function foo str string if obj h
  • 如何将函数应用于类的所有元素

    我有一个函数 我想将其应用于同一类的多个元素 这是一个滚动页面函数 我只需要它执行一次 所以我把它放在包装纸里 它有效 但我希望能够向元素添加一个类并让它作用于该元素 我尝试迭代元素并使用 addClass 添加一个唯一的类 并将各自的索引
  • 使用 hibernate 进行复杂查询(例如每组前 N 个)的最佳方法

    我现在正在开发一个报告应用程序一段时间 我使用 hibernate 来定义我的查询 然而 我越来越觉得对于报告用例来说这不是最好的方法 查询仅产生部分列 因此不是类型对象 除非你在java中转换所有字段 如果不直接使用 sql 或 总部 我
  • 转换 int -> unsigned long long 是否由标准定义

    我找不到具体的说明int值转换为unsigned long long在标准中 指定了各种类似的转换 如int gt unsigned unsigned gt int 负数则为UB unsigned long long gt int等 例如海
  • Mod_security 有时会阻止我的 ajax 脚本 - 我怎样才能找出原因?

    我使用 php 和 mysql 构建了某种 CMS 应用程序 一切在本地主机上都运行得很好 所以我把它移到了网络上 现在 当有人添加新文章时 我遇到了奇怪的问题 有时它只是正常添加 有时用户会收到此错误 不可接受 所请求资源的适当表示 在此
  • 是否可以从 PropertyGrid 隐藏枚举值?

    我正在与PropertyGrid控制和使用SelectedObject属性来显示数据PropertyGrid 我的网格中的一些属性是枚举类型 我想要做的是向用户隐藏枚举中的一些选择 以下面的示例为例 我想向用户隐藏 Error 的枚举 有没
  • 我们可以通过android中的模拟器发送短信吗?

    我想检查通过模拟器发送到手机的短信 我们可以这样做吗 我不知道是否可以将短信从模拟器发送到设备 但可以将短信从一个模拟器实例发送到另一个模拟器实例 使用模拟器端口号作为接收者电话号码 即 如果模拟器在端口 5444 上运行 则必须使用 54
  • 需要 Handlebars.js 来渲染对象数据而不是“[Object object]”

    我正在使用 Handlebars 模板 并且 JSON 数据已在 Object object 中表示 如何在 Handlebars 之外解析此数据 例如 我尝试通过句柄标签填充页面上的 JavaScript 变量 但这不起作用 有什么建议么
  • 如何以编程方式将 WPF TreeView 绑定到 List

    因此 我对 WPF 非常陌生 并尝试将 Drink 值列表绑定或分配给 wpf 树视图 但不知道如何执行此操作 并且发现很难在网上找到任何不使用 xaml 只显示内容的内容 struct Drink public string Name g
  • PHP Oauth 签名_无效

    我无法理解为什么这不起作用 我真的认为它应该是这样 请帮忙 这是我得到的错误 signature invalid base string GET https 3A 2F 2Fwww google com 2Faccounts 2FOAuth
  • 无法在 R 中初始化 CoreNLP

    我无法访问coreNLP在运行 High Sierra 的 Mac 上用 R 编写 我不确定问题是什么 但似乎每次我再次尝试获取coreNLP工作时 我面临着不同的错误 我有 JDK 9 0 4 请参阅下面的代码 了解我正在尝试执行的操作以
  • CLR 存储过程中的多线程代码?

    多线程 CLR 存储过程可能吗 我有一项数据密集型任务 具有很大的并行化潜力 CLR 存储过程非常适合消除将数据移出进程的开销 但我担心我必须放弃并行计算 我有什么选择 注意 我们使用的是 SQL Server 2005 计划在 4 个月内
  • 如何将 UIView、UIImageView 或 CALayer 动画旋转 360°?

    你如何旋转UIView UIImageView or CALayer不使用 OpenGL ES 进行 360 度动画 import
  • ASP.NET 和 STA COM 对象

    想要在这里解决争论 我读过的关于使用 VB 中从 ASP NET 页面创建的 COM 对象的所有内容都围绕着 警告 请确保安装了 ASPCOMPAT 否则它将无法工作 然而 我已经设置好了 你猜怎么着 没问题 现在 我读到了这个 http
  • PHP 和 XML。使用 PHP 循环 XML 文件

    我现在正陷入 foreach 炼狱中 试图想出一种用 PHP 遵循 XML 文件内容 遍历这个 XML 文件 下面的实际 XML 文本 的方法 我想做的是 获取所有文件夹元素名称 如果文件夹元素的子文件夹属性为 yes 则向下移动一级并获取
  • 在 Google Compute Engine 上从没有公共 IP 的计算机路由到互联网

    在 Google Compute Engine 上 我们有没有公共 IP 的机器 因为配额限制了可以拥有公共 IP 地址的机器数量 我们需要这些非公共 IP 机器来访问 Google 存储桶中的数据 这似乎意味着我们必须路由到互联网 但我们