oracle-cloud-infrastructure - 没有公共IP的Oracle实例无法连接到互联网
问题描述
我有一个具有公共 IP 的实例。这很好用。我在同一网络中启动了另一个没有公共 IP 的实例。
现在,没有公共 ip 的第二个实例只能从第一个使用其私有 ip 的 VM 访问。还行吧。我的问题是,第二个实例根本无法连接到互联网(从这个实例到互联网的传出连接失败)。
但是,第二个实例能够连接到第一个实例的端口 22。如果没有对 Internet 的直接出站访问,则很难在第二个实例上安装任何东西。我没有看到任何明显的防火墙规则阻止了这一点。
我错过了什么?
ubuntu@instance-20190928-0654:~$ ping www.yahoo.com
PING atsv2-fp-shed.wg1.b.yahoo.com (87.248.98.8) 56(84) bytes of data.
^C
--- atsv2-fp-shed.wg1.b.yahoo.com ping statistics ---
14 packets transmitted, 0 received, 100% packet loss, time 13307ms
解决方案
您有多种选择:
将公共 IP 添加到私有实例 - 这是最简单的方法,但可能不是您想要做的。
通过本地网络隧道出站请求。请参阅https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/managingIPsec.htm
设置 NAT 网关。请参阅https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/NATgateway.htm
设置辅助 VNIC。请参阅https://docs.cloud.oracle.com/iaas/Content/Network/Tasks/managingVNICs.htm
推荐阅读
- c# - 使用 .NET 进行 Redis 优化,以及如何从哈希中存储和获取元素的具体示例
- python - 在 Matplotlib 中使用子图时如何控制颜色条位置
- css - 单击导航菜单时如何激活状态?
- mysql - 在 where 子句中使用参数的超集 sql 查询编辑器
- python - 当我绘制超过 2 个值时,为什么 Timer 会破坏我的数据?
- sql - 在 sql server 2016 中创建内存表时的桶计数帮助
- azure - 按每个事件组的时间戳显示第一个条目
- python - 将字符串 numpy.ndarray 转换为浮点数 numpy.ndarray
- django - 更改数据库后重新启动 Django 服务器
- c# - 如何实现 Android ISO 并将其加载到 C# WinForm 应用程序中?