解决 Oracle Cloud Infrastructure 中的基本网络问题
简介
在 Oracle Cloud Infrastructure (OCI) 中,诊断网络连接问题需要了解多个组件之间的流量配置和流量。OCI Network Command Center 工具(例如 Network Visualizer、Network Path Analyzer 和 VCN Flow Log)可深入洞察网络资源的布局、路由和流行为。这些工具可以快速识别 OCI 网络环境中虚拟云网络 (Virtual Cloud Network,VCN)、子网和网关中的错误配置、缺少的路由和通信故障。
在本教程中,我们将重点介绍常见连接问题的基本故障排除技术。虽然它展示了如何有效地使用这些工具来简化故障排除并有效地解决问题,但其目标是更广泛地了解如何处理和分析连接挑战,而不仅仅是如何使用这些工具本身。
目标
-
使用网络可视化工具浏览区域、VCN 和子网级别的网络布局。
-
使用网络路径分析器工具分析通信流路径,以了解包如何遍历网络并识别故障。
-
解释 VCN 流日志工具以检查流量流记录并检测连接问题或异常行为。
-
识别网络配置错误、缺少路由和通信故障并对其进行故障排除。
Prerequisites
-
您熟悉基本的 OCI 网络组件,例如 VCN、子网、网关、安全列表和路由表。
-
您可以访问配置了网络资源的 OCI 租户。
-
您的用户账户需要 Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) 策略来管理 VCN 组件,还需要使用 Network Visualizer 、 Network Path Analyzer 和 VCN Flow Logs 。
-
如果您希望跟进一些即将推出的示例,请在测试的 Oracle Linux 虚拟机 (vM) 中运行以下命令来构建简单的 Apache 网站。
sudo dnf install httpd --assumeyes sudo systemctl enable httpd sudo systemctl start httpd sudo firewall-offline-cmd --add-service=http sudo systemctl restart firewalld sudo vi /var/www/html/index.html '<!doctype html><html><body><h1>Test Apache Website.. it's reachable!</h1></body></html>'
任务 1:使用 Network Visualizer 查看网络设置
在您开始深入了解损坏的内容之前,它有助于退后一步并清楚地了解您的网络环境。OCI 中的网络可视化工具提供 VCN 拓扑的图形表示。虽然它不会直接解决问题,但可以在您选择的特定区间中清晰地整合整个网络架构视图。
此可视化上下文显示了如何将所有内容集中在一个位置进行连接(VCN、子网、网关、路由表和安全列表)。这样,您可以更轻松地发现任何脱节的内容,例如缺少的路由或未与动态路由网关 (Dynamic Routing Gateway,DRG) 关联的 VCN。在复杂的设置中,它可以为您节省大量猜测。它并不总是一种修复,但它是一个坚实的第一步,可以在你进入细节之前将你指向正确的方向。
对于本教程,我们在下图中总结了网络可视化工具的工作原理。有关更多信息,请参见 Network Visualizer 。
范例
我们将使用以下体系结构作为示例。
在本例中,环境出现了两个问题。我们将看到网络可视化工具如何帮助识别和解决它们。
- 问题 1:
VM-1
无法 pingVM-2
。 - 问题 2:
VM-2
无法访问 Internet。
让我们使用 OCI 控制台中的 Network Visualizer 快速浏览网络环境,这应该反映架构。
第一层:区域网络拓扑
此拓扑包括 DRG、VCN、CPE 和各种类型的网关。
-
登录到 OCI 控制台。
-
请确保您位于正确的地区。
-
单击左上角的汉堡菜单(≡)。
-
单击 Networking 。
-
单击网络可视化工具。
-
-
这是访问网络可视化工具后将看到的第一个视图。让我们将其分解。
- 选择网络组件所在的区间。如果您不确定您的资源在何处,请选择父区间(或根区间)并选择包括子区间。
- 请注意您拥有的 VCN:
VCN-1
和VCN-2
,以及每个 VCN 的 IPv4 地址块。 - 请注意网络网关,例如:
- 具有多个附加(VCN、RPC 和 IPSec)的 DRG。
VCN-2
中的 NAT 网关。
- 您将看到远程对等连接 (Remote Peering Connect,RPC),该连接将吉达地区的 VCN 连接到另一个区域 (Riyadh)。
- 还可以与内部部署网络建立 IPSec 连接。您可以查看客户的 CPE 设备 (
210.20.x.x
) 的公共 IP 以及将以私密方式与 VCN 进行通信的内部部署网络地址块 (172.16.16.10/32
)。
-
单击
VCN-2
。 -
现在,让我们从路由映射开始,更深入地了解 VCN 拓扑。
第二层:VCN 拓扑
此拓扑包括子网、VLAN 和到其他资源的网关。除了子网使用的安全规则(安全列表或 NSG)外。
- 我们位于 VCN 路由映射视图中。
VCN-2
由一个专用子网组成。- 我们可以在子网的路由表中看到一条规则,该规则将发送到
VCN-1
的流量作为下一个跃点发送到 DRG。
- 切换到 VCN 安全映射视图。
- 我们还可以在此视图中看到
VCN-2
包含一个专用子网。 - 此外,在此模式下,连接到专用子网的安全列表和网络安全组 (NSG) 也可见。
- 单击专用子网。
- 现在,让我们从清单映射开始,更深入地了解子网拓扑。
第三层:子网拓扑
此拓扑显示有关子网中 OCI 计算实例、OCI 负载平衡器、OCI 文件存储服务和 OCI Kubernetes 引擎 (OKE) 集群的资源信息,以及资源使用的安全规则。
- 我们位于子网库存映射视图中。
- 此子网中只有一个计算实例 (
VM-2
),请单击它。 - 您可以查看有关 VM 的某些信息,例如区间、IP 等。
- 切换到子网 Security 映射视图。
- 此子网中只有一个计算实例 (
VM-2
)。 - 我们看到
VM-2
使用的是哪些安全列表和 NSG。
概要:
我们已经探讨了我们的网络环境如何以及涉及的组件,您认为前面提到的问题的根本原因是什么?
-
问题 1:
VM-1
无法 pingVM-2
。在一级:区域网络拓扑中,请注意
VCN-1
未附加到 DRG,因此,要使通信流在VM-1
和VM-2
之间进行,必须附加VCN-1
并添加所需的路由规则以启用通信流。附加
VCN-1
并添加以下路由规则(目标:VCN-2
、下一个跃点:DRG)应解决此问题。这假定已在VCN-2
中正确配置路由,并且允许在两个安全列表中都使用 ICMP 类型 8。 -
问题 2:
VM-2
无法访问 Internet。在第二层:VCN 拓扑中,请注意
VCN-2
的专用子网只有一个到 DRG 的路由,但是没有到 NAT 网关的路由,这会导致VM-2
没有 Internet 连接。添加以下路由规则(目标:
0.0.0.0/0
、下一个跃点: NAT 网关)应解决此问题。假定安全列表中已允许出站流量。网络可视化工具可以帮助您发现配置错误导致的明显问题,正如我们在示例中看到的那样。但是,即使它没有揭示一个明确的问题,它的真正价值在于给你一个全面的环境视图。这个大概的视角可以帮助您验证当前的设置,并在深入研究更复杂的问题之前为您提供一个坚实的起点。
任务 2:验证网络配置
在清楚地了解您的网络环境以及您拥有的组件后,下一个重要步骤是验证实际配置。许多连接问题归结为一些简单的问题;缺少的路由,过于严格的安全规则,或者只是链接到错误的路由表或安全列表的子网。
在进行更深入的故障排除(如检查日志或运行数据包捕获)之前,务必确保按预期配置所有内容。此步骤通常可以提前揭示根本原因,并帮助您避免以后进行不必要的调查。
范例
我们将使用以下体系结构作为示例。
首先,让我们概述在验证配置中发挥核心作用的核心路由和安全组件:
-
工艺路线规则:
-
内部部署:
- RT-0:在 FastConnect 或 IPSec 连接的情况下,本地客户终端设备 (CPE) 设备(或多云)的路由(请参阅供应商:Cisco、Fortinet 等)。
-
OCI VCN 路由表:存在于 VCN 中,用于将流量从 VCN 发送(例如,向互联网、向内部部署网络或对等 VCN 发送)。这些路由表具有类似于您可能已经熟悉的传统网络路由规则的外观和行为规则。
- RT-1-2-3:分配给子网级别的 VCN 路由表,以便对传出通信进行路由。
- RT-2a:分配给 DRG
VCN-2
附加的 VCN 路由表(传输路由方案需要此表),在此示例中,它用作入站路由表,用于将来自 DRG 的流量路由到防火墙进行检查。 - RT-2b:附加到 NAT 网关的 VCN 路由表,在本例中,它用作入站路由表,用于将响应流量从 Internet 路由回防火墙进行检查。
-
OCI DRG 路由表:存在于 DRG 中,用于通过附加路由进入 DRG 的包。
- RT-10-20-30:VCN 附加的 DRG 路由表,用于路由来自 VCN 的流量。
- RT-40-50:用于 RPC 附加的 DRG 路由表,用于路由来自其他区域的通信。
- RT-60:用于 IPSec 附加的 DRG RT,用于路由来自内部部署或多云网络的流量。
-
-
安全规则:
-
内部部署:
- FW-0:在 FastConnect 或 IPSec 连接(请参阅供应商:Cisco、Fortinet 等)的情况下,控制和限制内部部署 CPE 设备(或多云)上与 OCI 的流量流。
-
OCI VCN 安全列表:充当基于 VCN 的资源的虚拟防火墙,以及指定允许进出通信类型的入站和出站规则。安全列表是在子网级别配置的,这意味着子网中的所有 VNIC 都受到同一组安全列表的约束。
- SL-1-2-3:为控制每个子网上的入站和出站流量而分配到子网级别的安全列表。
注: NSG 是 OCI 中提供的另一种虚拟防火墙。它们的功能与安全列表类似,但提供更细粒度的控制,因为它们在资源级别应用。当同一子网中的两个资源需要不同的安全状态时,这非常有用。但是,本教程不使用 NSG。有关详细信息,请参阅安全列表和网络安全组的比较。
-
OCI Network Firewall 或第三方防火墙:充当子网、VCN 和外部网络之间流量的集中有状态检查点,可执行高级安全策略,但超出基本安全列表规则。
- FW-2:在 OCI 网络环境中控制和检查所有南北和西北流量。
-
我们了解如何将路由和安全性应用于整个环境,让我们仔细查看以下示例案例,其中出现了四个问题。通过应用一些常识,我们将找出要检查的配置,以及每个故障排除场景的位置。
注:
- 如果使用 NSG,请查看应用于连接到每个 VM 的每个 VNIC 的配置。
- 在此示例中,
VM-2
充当第三方防火墙 (FortiGate)。它已配置为正确路由流量。
-
问题 1:
VM-1
无法 pingVM-3
(不同的区域,防火墙不应检查流量)。- 路由:
- 请求: RT-1 > RT-10 > RT-40。
- 响应: RT-3 > RT-30 > RT-50。
- 安全:应允许 ICMP 类型 8 成功执行 ping 操作。
- 请求: SL-1(Egress Rules,出站规则)> SL-3(Ingress Rules,入站规则)。
- 响应: SL-3(Egress Rules,出站规则)> SL-1(Ingress Rules,入站规则)。
- 路由:
-
问题 2:
VM-1
无法访问 Internet(VM-2
防火墙应检查流量)。- 路由:
- 请求: RT-1 > RT-10 > RT-2a > FW-2 内部路由 > RT-2。
- 响应: RT-2b > FW-2 路由 > RT-2 > RT-20。
- 安全:
- 请求: SL-1(出站规则)> SL-2(入站和出站规则)> FW-2(入站和出站规则)。
- 响应: SL-2 (Ingress & Egress Rules) > FW-2 (Ingress & Egress Rules) > SL-1 (Ingress Rules)。
- 路由:
-
问题 3:
VM2
无法访问 Internet。- 路由:
- 请求: RT-2。
- 响应:不需要路由。
- 安全:
- 请求: SL-2(出站规则)。
- 响应: SL-2(入站规则)。
- 路由:
-
问题 4:内部部署无法 ping
VM-1
(防火墙应检查流量)。- 路由:
- 请求: RT-0(内部部署 CPE)> RT-60 > RT-2a > FW-2 内部路由 > RT-2 > RT-20。
- 响应: RT-1 > RT-10 > RT-2a > FW-2 内部路由 > RT-2 > RT-20。
- 安全:
- 请求: FW-0 (Egress Rules) > SL-2 (Ingress & Egress Rules) > FW-2 (Ingress & Egress Rules) > SL-1 (Ingress Rules)。
- 响应: SL-1(出站规则)> SL-2(入站和出站规则)> FW-2(入站和出站规则)> FW-0(入站规则)。
- 路由:
了解如何在整个网络中管理和控制流量至关重要。通过跟踪应采取的路径流量,您可以快速确定可能出现问题的位置以及在故障排除时需要查看哪些设置。
任务 3:使用网络路径分析器
您查看了整体网络设置,手动检查了路由和安全规则的配置。但是,问题仍然存在,也许您忽略了一些配置详细信息,那么下一步是什么?
这就是网络路径分析器所在的位置。可以将其视为您的虚拟网络检测器,该检测器旨在实时检查 OCI 网络路由和安全配置。它收集并分析它们,以确定源和目标之间的路径将如何运行或失败。不发送实际流量,而是检查配置并使用该配置来确认可访问性。
通过网络路径分析器,您可以直接在 OCI 控制台中验证通信路径的配置,从而提供更高效的集中式故障排除方法,而无需从单个 VM 或数据库执行 ping 或 telnet 等手动连接测试。
网络路径分析器支持以下方案:
- OCI 到 OCI。
- OCI 到本地部署。
- 从本地部署到 OCI。
- Internet 到 OCI。
- OCI 到 Internet。
示例 1
我们将使用以下体系结构作为示例。
我们遇到了网络问题,我们将使用网络路径分析器来跟踪和解决根本原因。
问题:VM-1
无法访问托管在 VM-2
(OCI 到 OCI)上的网站。
-
登录 OCI 控制台,转至
VM-2
并运行以下命令来检查网站是否在本地运行。curl localhost
-
转到 OCI 控制台,导航到
VM-1
并运行同一命令来测试与VM-2
的连接。curl 192.168.0.20
您将看到请求失败。在接下来的步骤中,我们将使用网络路径分析器来调查原因。
-
转到 OCI 控制台。
- 请确保您位于正确的地区。
- 单击左上角的汉堡菜单(≡)。
- 单击 Networking 。
- 单击 Network Path Analyzer 。
-
单击创建路径分析。
-
现在,让我们配置要测试的网络流的详细信息。
- 输入 Name 作为
test-vm1-to-vm2-port80
。 - 选择 Protocol 作为 TCP 。
- 输入 Name 作为
-
我们将首先填写源信息,在本例中为
VM-1
。- 选择查找 OCI 资源。
- 选择源类型作为计算实例 (VNIC) 。
- 从列表中选择
VM-1
。 - 选择将生成流量的 VNIC (如果 VM 只有一个 VNIC,则该值已自动填充)。
- Select Source IPv4 address
10.0.0.10
(this is also auto-filled if there is only one IPv4 address).
- 单击 Show advanced options 。
- 此处,您可以根据需要指定源端口;对于此示例,请将其设置为使用任何端口。
-
接下来,我们将填写目标信息,在本例中为
VM-2
。- 选择查找 OCI 资源。
- 选择源类型作为计算实例 (VNIC) 。
- 从列表中选择 VM-2 。
- 选择将生成流量的 VNIC (如果 VM 只有一个 VNIC,则该值已自动填充)。
- Select Source IPv4 address as
192.168.0.20
(this is also auto-filled if there is only one IPv4 address). - 输入 Destination port 作为 80 。
- 要分析正向和反向通信,请将方向保持为双向。
- 单击 Run analysis 。
- 在运行分析时将显示连接详细信息。
- 向下滚动以跟踪分析进度,并等待分析完成,这可能需要一两分钟。
-
分析已完成。让我们开始检查 Forward path 结果。
- 分析表明,在两个成功跳跃后,
VM-2
无法访问。 - 该删除发生在 DRG 和
VM-2
之间。 - 有关详细信息,请单击查看图表信息。
- 此表细分了路径中每个步骤的路由流和安全检查。
- 如果放大,您将看到 DRG 与
VM-2
之间的流量被拒绝。
- 展开同一段以了解更多详细信息。
- 请注意,路由已成功转发。
- 但是,由于缺少安全规则,通信被拒绝:
- (3.a) 允许出站流量,此处没有问题。
- (3.b) 入站流量被拒绝,因为没有规则允许它。此时将显示与
VM-2
子网关联的安全列表 ( Default Security List for VCN-2 ),并记下它,我们将在后续步骤中查看它。在这一点上,我们已经确定了问题的根源。
- 未分析返回路径,因为向前路径检查失败。
- 单击 Save analysis 。
- 您可以随时重新访问并重新运行分析。我们将在修复此问题后在本教程的后面部分中再次运行它。
- 导航到目标 VM 所在的
VCN-2
。 - 单击安全。
- 单击 Default Security List for
VCN-2
。
注:安全列表在子网级别运行,这意味着这些规则允许的任何流量都适用于该子网内的所有 VNIC。
- 单击安全规则。
- 此表显示允许的流量。包括 HTTP 在内的其他所有内容默认被拒绝,因为没有规则允许它。这就是为什么
VM-1
无法访问VM-2
上托管的网站。 - 要修复此问题,请单击添加入站规则。
- 在 Source CIDR(源 CIDR)字段中输入
10.0.0.0/16
(这是VCN-1
的 CIDR)。 - 为 IP Protocol 选择 TCP 。
- 将 80 设置为 Destination Port 。
- 单击添加入站规则。
- 分析表明,在两个成功跳跃后,
-
登录到
VM-1
并运行同一命令来测试与VM-2
的连接。curl 192.168.0.20
现在,您应该看到该网站是可访问的。
-
返回分析以执行另一个运行,并验证问题是否已修复。
-
单击分析。
-
等待分析完成。
-
分析已完成。让我们检查 Forward path 结果。
- 该状态现在显示 Reachable(可访问)。
- Hop 3 现在成功了,因为我们添加了一个允许 HTTP 流量的安全规则。
- 单击查看图表信息。
- 您可以看到,跳跃 3 的安全状态现在为允许(以前是已拒绝)。
-
验证返回路径,我们可以看到它也成功了。
示例 2
我们将使用以下体系结构作为示例。
我们遇到了网络问题,我们将使用网络路径分析器来跟踪和解决根本原因。
问题:VM-2
无法安装 telnet 软件包(OCI 到 Internet)。
注: Telnet 是一种网络协议和命令行工具,用于通过网络远程访问和管理设备。它也用于基本网络测试(例如,检查端口是否处于打开状态)。
-
检查我们是否可以在
VM-2
上安装telnet
。-
登录到
VM-2
并运行以下命令来安装telnet
。sudo yum install telnet
-
输入
y
,然后按 Enter 键继续。 -
安装失败。
VM-2
尝试连接到区域 YUM 资料档案库 (yum.me-jeddah-1.oci.oraclecloud.com
),但无法访问该资料档案库。
-
运行以下命令以查找
yum
系统信息库的 IP。dig yum.me-jeddah-1.oci.oraclecloud.com
-
写下 IP 地址。
VM-2
无法访问这些公共 IP,这表示它没有通过 NAT 网关的互联网访问,也没有通过服务网关对 Oracle 服务网络进行专用访问以访问yum
系统信息库,或者传出通信被阻止。为了达到问题的底部,我们将在接下来的步骤中继续进行 NPA 分析。
-
-
转到 OCI 控制台。
- 请确保您位于正确的地区。
- 单击左上角的汉堡菜单(≡)。
- 单击 Networking 。
- 单击 Network Path Analyzer 。
-
单击创建路径分析。
-
现在,让我们配置要测试的网络流的详细信息。
- 输入 Name 作为
test-vm2-to-internet-port443
。 - 选择 Protocol 作为 TCP 。
- 输入 Name 作为
-
我们将首先填写源信息,在本例中为
VM-2
。- 选择查找 OCI 资源。
- 选择源类型作为计算实例 (VNIC) 。
- 从列表中选择
VM-2
。 - 选择将生成流量的 VNIC (如果 VM 只有一个 VNIC,则该值已自动填充)。
- Select Source IPv4 address as
192.168.0.20
(this is also auto-filled if there is only one IPv4 address).
- 单击 Show advanced options 。
- 此处,您可以根据需要指定源端口;对于此示例,请将其设置为使用任何端口。
-
接下来,我们将填充目标信息,在这种情况下是 Internet,特别是
yum
系统信息库的公共 IP(192.29.119.92
和192.29.125.93
),我们将仅使用其中一个进行测试。- 选择 Enter IP address 。
- 输入 Destination IPv4 address
192.29.119.92
。 - 输入 Destination port 作为 443 ,因为对系统信息库的访问是通过 HTTPS 进行。
- 要分析正向和反向通信,请将方向保持为双向。
- 单击 Run analysis 。
- 在运行分析时将显示连接详细信息。
- 向下滚动以跟踪分析进度,并等待分析完成,这可能需要一两分钟。
-
分析已完成。让我们开始检查 Forward path 结果。
- 分析显示
VM-2
无法访问 Internet。 - 此段突出显示阻止流量退出
VCN-2
的缺失配置。 - 有关详细信息,请单击查看图表信息。
- 此表细分了路径中每个步骤的路由流和安全检查。如前所述,流是直接的,因为中间没有中间跃点。
- 如果放大,您将看到为此流量定义了无路由。
- 展开同一段以了解更多信息。
- 没有配置为通过 Internet 发送通信的路由,要修复此问题,我们需要向
VM-2
子网路由表 ( Default Route Table for VCN-2 ) 添加一个规则,并记下它,我们将在接下来的任务中查看它。在这一点上,我们已经确定了问题的根源。 - 请注意,安全性为允许。
- (3.a) 允许出站流量,此处没有问题。
- (3.b) 在此情况下,入站流量不相关,因为方案仅关注出站流量。
- 未分析返回路径,因为向前路径检查失败。
- 单击 Save analysis 。
- 您可以随时重新访问并重新运行分析。我们将在修复此问题后在本教程的后面部分中再次运行它。
- 导航到源 VM 所在的 VCN-2 。
- 单击 Routing 。
- 单击 VCN-2 的默认路由表。
注:路由表在子网级别运行,这意味着表中定义的任何规则都应用于该子网内的所有资源。路由表还可以与特定 VNIC 或 IP 地址关联,以及使用基于资源的路由。但是,这与我们的教程无关。有关详细信息,请参阅按资源路由。
- 单击路由规则。
- 当前,仅配置了一个路由规则,用于将流量路由到
VCN-1
。 - 要启用 Internet 访问,请单击添加路由规则。
- 选择 NAT 网关作为目标类型。
- 在
0.0.0.0/0
中输入 Destination CIDR Block 。 - 选择之前创建的 NAT 网关。
- 单击添加路由规则。
- 分析显示
-
登录到
VM-2
,然后再次尝试安装telnet
。-
运行以下命令。
sudo yum install telnet
-
安装已完成!。
-
-
返回分析以执行另一个运行,并验证问题是否已修复。
-
单击分析。
-
等待分析完成。
-
分析已完成。让我们检查 Forward path 结果。
- 该状态现在显示 Reachable(可访问)。
- 跃点 2 现在成功了,因为我们添加了一个路由规则,将流量发送到 NAT 网关。
- 单击查看图表信息。
- 您可以看到,跃点 2 的路由状态现在为已转发(以前为无路由)。
-
验证返回路径,我们可以看到它也成功了。
任务 4:分析 VCN 流日志
VCN 流日志提供了对流量行为的额外可见性层。通过此服务,您可以向下钻取到击中每个 VNIC 的实际流量,并根据安全列表和 NSG 规则指示该流量是被接受还是被拒绝,从而帮助您排除与安全相关的问题。
除了故障排除之外,VCN 流日志对于监视网络活动、捕获源/目标 IP、端口、协议和时间戳至关重要,并提供了审计和安全调查所需的详细遥测。
范例
我们将使用以下体系结构作为示例。
注:在此示例中,我们仅关注在目标所在的 Y 点进行日志记录。但是,您可以应用相同的步骤来启用和分析 X 点(通信源)的日志,以进一步了解整个通信流。
我们遇到网络问题,将使用 VCN 流日志跟踪和解决根本原因。
问题:VM-1
无法访问 VM-2 上托管的网站。
-
登录到
VM-2
并运行以下命令来检查网站是否在本地运行。curl localhost
-
登录到
VM-1
并运行同一命令来测试与 VM-2 的连接。curl 192.168.0.20
您将看到请求失败。在接下来的步骤中,我们将使用
VCN-2
流日志调查原因。 -
现在,让我们启用日志。我们将首先创建捕获筛选器,这是一个在 OCI 中用于确定应捕获哪些网络通信以记录或镜像到虚拟测试接入点 (VTAP) 的简单规则集。
- 登录 OCI 控制台,确保您位于正确的区域。
- 单击左上角的汉堡菜单(≡)。
- 单击 Networking 。
- 单击捕获筛选器。
-
单击创建捕获筛选器。
- 输入
vcn-2-private-sn-logs
作为名称。 - 选择 Flow log capture filter 作为 Filter type 。
- 将采样率设置为 100% 。这定义了要捕获的网络流百分比,在这种情况下,我们希望记录所有流量。
- 将所有其他设置保留默认值。
- 单击创建捕获筛选器。
- 输入
-
创建捕获筛选器后,单击复制以复制其 OCID,因为在后续步骤中将需要它。
-
现在,我们已准备好启用日志。
- 导航到
VCN-2
。 - 打开 Private Subnet(专用子网),
VM-2
所在的位置。 - 单击 Monitoring 。
- 向下滚动到 Logs(日志)部分。
- 单击 Flow Logs(流日志)类别旁边的三个点(•••)。
- 单击启用日志。
- 选择日志组。如果您还没有日志组,请创建一个新日志组。
- 自动填充日志名称。
- 粘贴先前复制的捕获筛选器 OCID 。
- 单击启用日志。
- 导航到
-
流日志现在处于活动状态。
-
通过在
VM-1
中运行以下命令,重复相同的测试以生成流量。curl 192.168.0.20
-
返回到 Logs(日志)部分,然后单击之前创建的 Log Name(日志名称)。
- 向下滚动,您将看到显示进入或离开网络的通信的日志。
- 单击 Actions 。
- 单击使用日志搜索进行浏览以应用高级筛选器并缩小日志结果范围。
- 应用以下筛选器以匹配我们的测试连接。
- 源 IP (
VM-1
):data.sourceAddress = '10.0.0.10'
。 - 目标 IP (VM-2):
data.destinationAddress = '192.168.0.20'
。 - 目标端口 (HTTP):
data.destinationPort = 80
。
- 源 IP (
- 如果需要,请调整按时间筛选中的时间范围,或者将其保留为默认过去 5 分钟。
- 单击搜索。
- 检查与搜索标准匹配的结果。
- 展开记录详细信息。
-
对于此特定记录,您可以查看有关此通信流的详细信息。需要注意的关键字段包括:
- 时间戳:流量到达子网的确切日期和时间。
- 连接详细信息:例如源 IP 地址、目标 IP 地址和端口号。
- 操作:显示如何处理通信;在这种情况下,它是 REJECT 。这证实了问题的根本原因,没有安全规则允许将 HTTP 流量发送到
VM-2
。
-
为了允许 HTTP 流量到达
VM-2
,有两个选项:- 安全列表:在子网级别应用,这意味着子网中的所有 VNIC 都受同一组安全列表约束。
- NSG:在资源级别(VNIC 级别)应用。
-
此处,我们将从已与
VM-2
子网关联的默认安全列表中允许它。- 导航到目标 VM 所在的
VCN-2
。 - 单击安全。
- 单击 VCN-2 的默认安全列表。
- 单击安全规则。
- 此表显示允许的流量。包括 HTTP 在内的其他所有内容默认被拒绝,因为没有规则允许它。这就是为什么
VM-1
无法访问VM-2
上托管的网站。 - 要修复此问题,请单击添加入站规则。
- 在
10.0.0.0/16
中输入 Source CIDR (这是VCN-1
的 CIDR)。 - 选择 TCP 作为 IP Protocol 。
- 将 80 设置为 Destination Port 。
- 单击添加入站规则。
- 导航到目标 VM 所在的
-
登录到
VM-1
并运行同一命令来测试与VM-2
的连接。curl 192.168.0.20
现在,您应该看到该网站是可访问的。
-
返回到日志并重复执行与之前相同的步骤以执行新搜索。
- 应用以下筛选器以匹配我们的测试连接。
- 源 IP (
VM-1
):data.sourceAddress = '10.0.0.10'
。 - 目标 IP (
VM-2
):data.destinationAddress = '192.168.0.20'
。 - 目标端口 (HTTP):
data.destinationPort = 80
。
- 源 IP (
- 如果需要,调整时间范围,或将其保留为默认值(过去 5 分钟)。
- 单击搜索。
- 检查与搜索标准匹配的结果。
- 展开记录详细信息。
- 应用以下筛选器以匹配我们的测试连接。
-
对于此特定记录,您可以查看有关此通信流的详细信息。需要注意的关键字段包括:
- 时间戳:流量到达子网的确切日期和时间。
- 连接详细信息:例如源 IP、目标 IP 和端口号。
- 操作:显示如何处理通信。解决问题后,您现在应看到通信流量为 ACCEPT 。
后续步骤
我们探讨了如何通过检查架构、路由和安全配置来排除 OCI 中的基本网络问题。这些核心检查有助于解决最常见的连接问题。下一教程将重点介绍高级场景和更多实际用例。
确认
- 作者 — Anas Abdallah(云网络专家),Sachin Sharma(云网络专家)
更多学习资源
通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Troubleshoot Basic Network Issues in Oracle Cloud Infrastructure
G40746-01