注意:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于您的云环境的值。
使用 NAT 网关允许 Oracle Cloud Infrastructure 实例访问 Internet
简介
默认情况下,RFC1918 IPv4 地址无法路由到 Internet,要访问 Internet,需要将专用 RFC1918 地址转换为公共 IP 地址。在 Oracle Cloud Infrastructure (OCI) 中,我们可以使用相应虚拟云网络 (Virtual Cloud Network,VCN) 中的网络地址转换 (Network Address Translation,NAT) 网关执行此操作。本教程将说明如何使用专用 RFC1918 IPv4 地址从连接到子网的实例提供 Internet 访问。
我们将创建一个连接到专用子网的新计算实例。默认情况下,连接到专用子网的实例无法访问互联网,因此我们将创建 NAT 网关并将所有流量路由到该 NAT 网关,以便计算实例可以访问互联网。
目标
-
使用 NAT 网关允许 Oracle Cloud Infrastructure 实例访问互联网。
- 任务 1:创建新 VCN。
- 任务 2:在 VCN 中创建专用子网。
- 任务 3:创建新实例。
- 任务 4:创建专用网络定义。
- 任务 5:验证实例上的 Internet 连接。
- 任务 6:创建 NAT 网关并将互联网流量路由到 NAT 网关。
任务 1:创建新 VCN
注:如果已有 VCN,您可以跳过此任务并继续执行任务 2。
-
单击“Hamburger(汉堡)”菜单。
-
单击虚拟云网络。
- 选择要使用的区间。如果尚未设置区间,请使用根区间。
- 单击创建 VCN 。
-
在创建虚拟云网络中,输入以下信息。
- 输入 VCN 名称。
- 选择要在此 VCN 中使用的 IPv4 CIDR。在本教程中,我们使用了 /16 CIDR,因为 IPv4 子网(通常为 /24)将从此 CIDR 块中雕刻出来。
- 向下滚动。
保留所有默认值并向下滚动。
-
单击创建 VCN 。
任务 2:在 VCN 中创建专用子网
-
要创建专用子网,请执行以下操作。
- 验证 VCN 是否可用。
- 单击创建子网。
-
在创建子网中,输入以下信息。
- 输入子网的名称。
- 对于子网类型,我们将选择区域。
- 输入 IPv4 子网,该子网将从我们在 VCN 中分配的 CIDR 块中切除。确保新的 /24 CIDR 块位于 VCN 中确定的 /16 内。
- 向下滚动。
- 选择 VCN 的默认路由表。
- 使子网成为专用子网,以便我们获得专用 (RFC1918) IP 地址。
- 向下滚动。
- 选择VCN 的默认 DHCP 选项。
- 选择VCN 的默认安全列表。
- 单击创建子网。
-
请注意,新创建的子网的状态为预配。
- 几分钟后,新子网的状态将变为可用。
- 单击左上角的汉堡菜单。
任务 3:创建新实例
-
从“固定”部分中单击实例。
-
单击创建实例。
-
在创建计算实例中,输入以下信息。
- 输入实例的名称。
- 向下滚动。
保留所有默认值并向下滚动。
- 在 Primary network(主网络)中,选择 Select existing virtual cloud network(选择现有虚拟云网络)。
- 选择在任务 1 中创建的 VCN。
- 对于子网,选择选择现有子网。
- 选择在任务 2 中创建的子网。
- 向下滚动。
- 在 Private IPv4 address(专用 IPv4 地址)中,选择 Automatically assign private IPv4 address(自动分配专用 IPv4 地址)。
- 向下滚动。
- 为了访问和管理 Linux 实例,我们需要使用 SSH 密钥。对于本教程,我们将让 OCI 生成新的 SSH 密钥对。
- 下载本地计算机上的私钥和公钥,以便我们可以在创建后使用这些密钥访问和管理此 Linux 实例。
-
确保您将私钥和公钥下载到本地计算机上,以便我们可以在创建后使用这些密钥访问和管理此 Linux 实例。
- 向下滚动。
- 单击创建创建 Linux 实例。
-
几秒钟后,我们会看到一些信息被填充,我们需要访问实例,如 IP 地址和用户名。
- 最终,实例状态将为 RUNNING ,我们可以开始登录实例以执行某些管理任务并开始安装应用程序。
- 从 OCI 控制台的右上角,打开 OCI Cloud Shell。
任务 4:创建专用网络定义
创建专用网络定义,以便使用 OCI Cloud Shell 登录到实例。
-
单击 Cloud Shell 。
-
Cloud Shell 不包含私钥。要上载私钥,请单击右上角的轮盘。
-
选择 Upload(上传)。
- 单击从计算机中选择。
- 单击上传。
- 从本地计算机选择私钥。
- 单击打开。
- 验证您选择的私有密钥。
- 单击上传。
- 单击隐藏。
-
运行
ls-l
命令以验证私钥。- 使用 SSH 命令连接到实例,在其中指定私钥。
- 请注意,连接超时。
-
为了使用专用 IP 地址连接到 Linux 实例,Cloud Shell 必须能够访问 Linux 实例连接到的同一子网。
为此,我们可以将 Cloud Shell 插入到包含 Linux 实例的同一 VCN 和子网中。默认情况下,网络设置为 Public ,但我们将通过实时创建新的专用网络来更改此设置。
- 单击 Network 。
- 选择专用网络定义列表。
-
单击创建专用网络定义。
-
在创建专用网络定义中,输入以下信息。
- 输入名称。
- 选择与 Linux 实例对应的 VCN 。
- 选择包含 Linux 实例的子网。
- 选择使用活动网络可立即激活专用网络。
- 单击创建。
- 请注意,通过连接,网络的状态将更改为新创建的专用网络。这将需要几秒的时间才能完成。
- 请注意以下消息:当 Cloud Shell 连接到新网络时,无法创建专用网络定义。
- 几分钟后,将连接专用网络。
- 请注意,还列出了专用网络。
- 单击关闭可关闭专用网络定义列表。
- 使用 SSH 命令连接到实例,在其中指定私钥。
- 输入 yes(是)。
- 限制私钥的权限,并确保在使用前限制访问。
- 使用 SSH 命令连接到实例,在其中指定私钥。
- 输入 clear 以清除终端。
任务 5:验证实例上的 Internet 连接
-
要检查连接,请按照步骤操作。
- 为了验证与互联网的连接,我们将对 Google 的 DNS 服务器进行简单的 ping。
- 请注意 ping 无法正常工作,包丢失率为 100%。
- 单击 Cloud Shell 终端的最小化图标。
-
单击左上角的汉堡菜单。
任务 6:创建 NAT 网关并将互联网流量路由到 NAT 网关
-
单击虚拟云网络。
-
向下滚动。
-
我们可以看到没有 NAT 网关可用。单击 NAT 网关。
-
单击创建 NAT 网关。
-
在创建 NAT 网关中,输入以下信息。
- 输入 NAT 网关的名称。
- 选择 Ephemeral Public IP address 。
- 单击创建 NAT 网关。
- 请注意,NAT 网关的状态为 Available 。
- 单击路由表。
-
将流量从专用子网路由到 NAT 网关,以便可以访问互联网并创建静态路由。单击 Default Route Table 。
-
单击添加路由规则。
- 选择目标类型作为 NAT 网关。
- 输入 Destination CIDR Block(目标 CIDR 块)作为
0.0.0.0/0
(所有网络通信)。 - 选择在任务 5 中创建的目标 NAT 网关。
- 单击添加路由规则。
- 请注意,已创建新路由规则。
- 单击还原以还原 Cloud Shell 终端。
- 为了验证与互联网的连接,我们将对 Google 的 DNS 服务器进行简单的 ping。
- 请注意 ping 正在运行,包丢失率为 0%。
现在,我们可以使用连接到具有 RFC1981 IPv4 地址的专用子网的实例访问互联网。
确认
- 作者 - Iwan Hoogendoorn(OCI 网络专家)
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Use NAT Gateway to allow Oracle Cloud Infrastructure Instances to Access the Internet
F93991-01
March 2024
Copyright © 2024, Oracle and/or its affiliates.