注意:
- 本教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure 免费套餐。
- 它对 Oracle Cloud Infrastructure 身份证明、租户和区间使用示例值。完成实验室后,请使用特定于云环境的那些值替换这些值。
使用 Oracle Cloud Infrastructure DNS 解析本机域
简介
OraStage 是一家能源领域的领先公司,专注于可再生能源解决方案和创新电力技术,该公司宣布了一项战略性决定,将工作负载迁移到 Oracle Cloud Infrastructure (OCI),以提高性能、可扩展性和安全性。
考虑到 OraStage 概述的具体需求和条件,该公司需要云端的混合域名系统 (DNS) 解决方案,此处的混合意味着除了 OCI DNS 服务之外,还使用自己的 Berkeley Internet Name Domain version 9 (BIND9) DNS 系统,他们希望构建的最终体系结构显示在以下映像中。
OraStage DNS 要求:
-
该公司拥有多个内部域和子域,所有这些域都应通过其在 OCI 中的 BIND9 DNS 进行解析,其中 OraStage 将管理所有相关区域和记录。其中一个域是
orastage.com
,我们将在本教程中使用它。因此,对orastage.com
的任何查询都必须转发到其 BIND9。 -
在某些情况下,他们仍然需要解析 OCI 本机域(
oraclevcn.com
、oraclecloud.com
等),而这可以通过使用 OCI 专用 DNS 组件来实现:专用视图、转发端点和规则以及监听端点。 -
所有查询都必须通过 pfSense 防火墙实例进行检查。
-
为了避免单点故障,OraStage 计划使用另一台 DNS 服务器,并利用 OCI 负载平衡器在主 DNS 和辅助 DNS 之间分配查询。
本教程系列将逐步指导您实现上述概述的要求,从头开始构建整个解决方案。您可以从以下列表中轻松导航到每个教程:
-
教程 1:在 OCI 中配置 BIND9 DNS 。了解如何在计算实例上安装和配置 BIND9,使其成为 OCI 中两个测试环境的本地 DNS 服务器。这些环境将包括“前端”和“后端”服务器,每个服务器都托管在单独的分支网络中。BIND9 服务器将处理定向到
orastage.com
的所有 DNS 查询。 -
教程 2:在 OCI 中的 BIND9 DNS 方案上实施高可用性。本教程重点介绍添加辅助 BIND9 服务器以及配置网络负载平衡器 (Network Load Balancer,NLB) 以在两台服务器之间分配 DNS 流量。对
orastage.com
的 DNS 查询将定向到 NLB IP,这将平衡主 BIND9 服务器和辅助 BIND9 服务器之间的负载。如果一台服务器不可用,DNS 解析将继续,不会中断服务。 -
教程 3:使用 OCI DNS 解析本机域。仅关注特定用例,在需要解析
oraclevcn.com
和oraclecloud.com
等原生域的情况下,我们在 OCI 中使用原生 DNS 组件。BIND9 本教程中未使用 DNS。 -
教程 4:使用 pfSense 防火墙向 DNS 体系结构添加安全性。侧重于在 OCI 中的中心 VCN 中安装 pfSense 防火墙,并执行所需的网络配置以通过要检查的防火墙路由所有东西流量,包括 DNS 查询(在过去的教程中完成)。
概述
在本教程中,我们将重点处理 OCI 本机域,例如 oraclevcn.com
和 oraclecloud.com
。在本节中,我们将不再使用 BIND9 解析定制域(如 orastage.com
),而是探索 OCI 内置 DNS 功能。
我们将深入了解 OCI Private DNS 的组件以及查询处理中涉及的关键要素,这些要素在管理 OCI 专用网络中的 DNS 流量方面发挥着关键作用。您会注意到,我们在教程 1 和教程 2 的某些部分已经使用了它们。这些组件是:
-
专用 DNS 区域:包含只能从 VCN 内访问的 DNS 数据,如专用 IP 地址。专用 DNS 区域具有与 Internet DNS 区域类似的功能,但仅为可以通过 VCN 访问的客户端提供响应。每个区域都属于一个视图。
-
专用 DNS 视图:一组专用区域,每个视图可以与解析程序关联,以控制 DNS 查询的解析方式。多个解析器可以利用单个视图,从而在不同的 VCN 之间共享专用 DNS 数据。每个区域只能是一个视图的一部分。
例如,您创建了两个新 VCN:VCN-A 和 VCN-B。默认情况下,VCN-A 中的资源可以在不进行其他配置的情况下相互解析,因为其记录存储在 VCN-A 专用视图中的同一专用区域中。VCN-B 也是如此。但是,如果希望 VCN-A 中的资源解析 VCN-B 中的资源,则必须将 VCN-B 的专用视图与 VCN-A 解析程序关联。如果您希望 VCN-B 中的资源解析 VCN-A 中的资源,则必须将 VCN-A 的专用视图与 VCN-B 解析程序关联。
-
专用 DNS 解析程序:VCN 专用专用 DNS 解析程序按以下顺序提供对 DNS 查询的响应:首先,它将检查连接的专用视图中的区域,然后在默认视图中检查区域,然后检查转发规则,最后使用 Internet DNS。基本上,它是搜索实例查询答案的引擎。
例如,以下图像屏幕截图显示了一个 VCN 解析程序页,解析来自此 VCN 中实例的查询时遵循的顺序如下:
-
转发端点和规则:转发端点用作 OCI VCN 与外部 DNS 解析器或其他 DNS 区域之间的连接器。通过使用转发规则,您可以将特定 DNS 查询定向到其他 VCN 解析器中的指定外部服务器或监听程序,从而实现混合云 DNS 架构或多区域解析。
-
监听端点:这些端点用于从外部源接收 DNS 查询。它们允许您的 OCI DNS 基础设施监听和响应传入的 DNS 请求,增强您跨各种网络配置管理 DNS 查询的能力。
这些组件共同提供了强大的工具来管理和定制 OCI 环境中的 DNS。
在本教程结束时,您将深入了解如何使用这些 OCI DNS 组件高效地管理和解决云环境中的查询。
目标
- 本教程的主要目标是使 FE-VM 客户机 (
fe-vm.feprivatesubnet.frontendvcn.oraclevcn.com
) 可以查询 BE-VM (be-vm.beprivatesubnet.backendvcn.oraclevcn.com
),反之亦然,监听程序 LSN 可以回答所有这些查询。
最终架构
注:
初次创建 VCN 和子网时,您可以为每个子网指定 DNS 标签,然后启动计算实例,您可以为其分配主机名。最后,实例的全限定域名 (Fully Qualified Domain Name,FQDN) 将如下所示:
<VM-HOSTNAME>.<SUBNET-DNS-Label>.<VCN-DNS-Label>.oraclevcn.com
。指定这些标签是可选的,如果将这些标签留空,则会为其提供从资源名称中获取的随机名称,就像本教程中的 FE-VM 和 BE-VM 一样。如果仅需要 OCI 资源来相互解析,则此处不需要监听程序,因为这只能通过使用“Overview(概览)”部分中提到的专用视图来完成。但是,选择在此处使用监听程序的原因还在于处理来自任何其他环境(例如内部部署和其他云)的 DNS 解析,并将所有专用视图添加到此监听程序的解析程序就足够了。此设置可解决您可能需要其他环境(内部部署或其他云环境)来解析 OCI 资源的特定用例。但是,本教程中未包括此内容。
所有
oraclevcn.com
和oraclecloud.com
查询都应转发到同一监听程序,无论查询来自 OCI、内部部署网络或其他云提供商网络,因为 LSN-VCN 的解析程序将处理来自专用视图的所有这些查询。在本教程中,我们不会测试来自本地部署或 Microsoft Azure 的查询,而是仅测试来自 OCI 实例的查询。因此,下图仅用于说明目的。
先决条件
-
访问 OCI 租户以及管理所需网络和计算服务的权限。
-
基本了解 OCI 网络路由和安全及其功能:虚拟云网络 (VCN)、路由表、动态路由网关 (DRG)、安全列表、堡垒和 OCI 网络负载平衡器。
-
基本了解 DNS。
-
确保完成前两个教程:
-
一个 VCN 必须包含一个专用子网,然后才能将其连接到现有 DRG。有关更多信息,请参见 Task 1.3:Attach VCNs to the DRG 。
- LSN-VCN:这将托管监听程序。请注意,监听程序不必位于专用 VCN 中,但为了将其与其他资源隔离,我们更愿意在本教程中执行此操作。
-
根据先决条件,您应该已经构建了以下体系结构。
任务 1:设置路由和安全等网络组件
任务 1.1:创建虚拟云网络 (LSN-VCN)
确保已创建 LSN-VCN (10.3.0.0/16
),其中包含 LSN-Private-Subnet (10.3.0.0/24
)。
-
单击左上角的汉堡菜单(≡)。
- 单击 Networking 。
- 单击虚拟云网络。
-
我们可以看到相应 VCN 实施。目前,它只有一个专用子网,并且附加了默认路由表和安全列表。
任务 1.2:为 LSN-VCN 配置路由和安全
-
这必须在子网级别执行。导航到“VCN”页并单击 LSN-VCN 。
-
单击专用子网。
-
单击 Route Table(路由表),这是一个分配的路由表。
-
添加以下规则。
10.0.0.0/16
— DRG:将发往 DNS-VCN 的流量路由到 DRG。10.1.0.0/16
— DRG:将发往前端 VCN 的流量路由到 DRG。10.2.0.0/16
— DRG:将发往后端 VCN 的流量路由到 DRG。
-
让我们现在做安全。转到 Subnet Details(子网详细信息)页面,然后单击分配的安全列表。
-
允许入站流量:来自 DNS-VCN 、前端 VCN 和后端 VCN 的 DNS 流量(TCP/端口 53 和 UDP/端口 53)。
-
允许所有出站流量。
任务 1.3:为 DNS-VCN 配置路由和安全
-
导航到“VCN”页并单击 DNS-VCN 。
-
单击专用子网。
-
单击 Route Table(路由表),这是一个分配的路由表。
-
添加以下规则。
10.3.0.0/16
— DRG:将发往 LSN-VCN 的流量路由到 DRG。
-
已添加所需的安全规则。有关详细信息,请参阅教程 1:任务 1.4 - 配置 DNS-VCN 的路由和安全。
任务 1.4:为前端 VCN 配置路由和安全
- 重复前端 VCN 的任务 1.3 中完成的步骤。
任务 1.5:为后端 VCN 配置路由和安全
- 重复在后端 VCN 的任务 1.3 中完成的步骤。
任务 2:配置 OCI 专用 DNS 组件
任务 2.1:向 LSN-VCN 解析程序添加专用视图
-
导航到 LSN-VCN ,然后单击 DNS 解析程序。
- 向下滚动并单击关联的专用视图。
- 单击管理专用视图。
- 选择 DNS-VCN 、 Frontend-VCN 和 Backend-VCN 的专用视图。
- 单击保存更改。
- 已成功添加专用视图。
目前, LSN-VCN 解析器可以看到在其他专用区域中创建的所有 DNS 记录。因此,当监听程序收到对 FE-VM 和 BE-VM FQDN 的任何查询时,它将使用关联的专用视图直接解析。
任务 2.2:在 LSN-VCN 解析程序中配置监听端点
-
转到 OCI 控制台。
- 在同一解析程序中,单击端点。
- 单击创建端点。
- 名称:输入端点的名称。
- 子网:选择 LSN-VCN 的专用子网。
- 端点类型:选择监听。
- 侦听 IP 地址:输入
10.3.0.6
。 - 单击创建端点。
- 已成功创建监听端点。
任务 2.3:在前端 VCN 解析程序中配置转发规则
-
单击左上角的汉堡菜单(≡)。
- 单击 Networking 。
- 单击虚拟云网络。
-
单击 Frontend-VCN 。
- 单击 VCN 的 DNS 解析程序。
-
向下滚动。
- 单击规则。
- 单击管理规则。
- 添加另一个包含以下信息的规则,如屏幕截图中所示。
- 单击保存更改。
- 已成功创建转发规则。
任务 2.4:在后端 VCN 解析程序中配置转发规则
-
单击左上角的汉堡菜单(≡)。
- 单击 Networking 。
- 单击虚拟云网络。
-
单击 Backend-VCN 。
-
单击 VCN 的 DNS 解析程序。
-
向下滚动。
- 单击规则。
- 单击管理规则。
- 添加另一个包含以下信息的规则,如屏幕截图中所示。
- 单击保存更改。
- 已成功创建转发规则。
-
架构应该看起来像这样。
任务 3:测试和验证
测试场景 1:用于查询 BE-VM 本机域的监听程序的 FE-VM
-
FE-VM 客户机应该能够解析
be-vm.beprivatesubnet.backendvcn.oraclevcn.com
。下图展示了我们想要实现的测试场景。 -
转到 OCI 控制台,导航到 BE-VM 实例并复制内部 FQDN 以在测试中使用它。
-
访问 FE-VM ,并使用 OCI 堡垒服务执行查询测试,与教程 2:测试方案 1 - 当辅助 DNS 关闭时,主 DNS 响应 FE-VM 查询相同。连接后,运行从 FE-VM 到
be-vm.beprivatesubnet.backendvcn.oraclevcn.com
的oraclevcn.com
查询并验证配置。您可以使用各种方法来验证设置是否正常工作。- 运行
host
命令。 - 运行
ping
命令。 - 运行
dig
命令。
- 运行
如测试方案中所示,我们可以检索 BE-VM 本机域的 IP 地址,并且 ping 正在使用 FQDN,这意味着测试成功。
测试场景 2:BE-VM 查询 FE-VM 本机域的监听程序
-
BE-VM 客户机应该能够解析
fe-vm.feprivatesubnet.frontendvcn.oraclevcn.com
。下图展示了我们想要实现的测试场景。 -
转到 OCI 控制台,导航到 FE-VM 实例并复制内部 FQDN 以在测试中使用它。
-
访问 BE-VM 并使用 OCI 堡垒服务执行查询测试。连接后,运行从 BE-VM 到
fe-vm.feprivatesubnet.frontendvcn.oraclevcn.com
的oraclevcn.com
查询并验证配置。您可以使用各种方法来验证设置是否正常工作。- 运行
host
命令。 - 运行
ping
命令。 - 运行
dig
命令。
- 运行
如测试方案中所示,我们可以检索 BE-VM 本机域的 IP 地址,并且 ping 正在使用 FQDN,这意味着测试成功。
后续步骤
在本教程中,我们使用了 OCI 专用视图、转发端点和规则和监听端点,它们可以在虚拟云网络中提供灵活而强大的 DNS 管理。总之,这些组件可简化 DNS 操作,确保在 OCI 环境中高效、可扩展的名称解析,尤其适用于包含集成多云和内部部署环境的混合 DNS 方案。
在本系列的下一个和最后一个教程(使用 pfSense 防火墙将安全性添加到 DNS 架构)中,我们将通过配置 pfSense 防火墙来检查和控制所有 DNS 查询来增强 DNS 基础设施的安全性,其中包括对内部 OCI 域(oraclevcn.com
和 oraclecloud.com
)以及 BIND9 中管理的定制域(例如 orastage.com
)的监视和筛选请求。
确认
- 作者 — Anas abdallah(云网络专家)
更多学习资源
浏览 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 渠道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Use Oracle Cloud Infrastructure DNS to Resolve Native Domains
G16589-02
Copyright ©2025, Oracle and/or its affiliates.