Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

SQLNET ALG

Oracle SQL Server 使用 SQLNET 协议从客户端执行 SQL 命令,包括负载平衡和应用程序特定的服务。对于有状态防火墙和NAT服务,您必须为 TCP 端口 1521 配置 SQLNET ALG。ALG 将监控控制数据包,为数据流量动态开放流量,并执行NAT地址和端口重写。

了解 SQLNET ALG

SQLNET 应用层网关 (ALG) 处理透明网络底层网络 (TNS) 用于 IP 地址和端口信息的重定向数据包。SQLNET ALG 对 TNS 重定向数据包的有效负载执行 网络地址转换 (NAT),为从客户端到服务器的新连接打开一个针孔,以及向位于 瞻博网络 设备两侧的客户端和服务器之间传输数据。

SQLNET ALG 支持以下类型的数据传输模式:

  • 重定向模式 — 连接重定向类型

  • 交错模式 — 连接接受类型

  • 负载平衡 — 连接-重定向-连接-重定向类型

SQLNET 允许应用程序与 Oracle 数据库之间或多个 Oracle 数据库之间远程访问远程数据。SQLNET 主要建立并维护客户端应用程序与 Oracle 数据库服务器之间的连接。SQLNET 具有多个通信层,使客户端和数据库服务器能够共享、修改和操控数据。

Oracle SQL 服务器使用 SQLNET 协议从客户端执行 SQL 命令,包括负载平衡和应用程序特定的服务。SQLNET 协议将 TNS 用作其网络架构,并且所有 SQLNET 流量均封装为 TNS 数据包格式。

SQLNET ALG 可监控控制数据包,打开数据流量的针孔,并执行NAT重写。为 TCP 端口 1521 NAT SQLNET ALG 需要支持状态防火墙和多服务。

示例:配置 SQLNET ALG

SQLNET ALG 处理 TNS 重定向数据包,执行NAT操作,并开启从客户端到服务器的新连接的针孔。

此示例展示如何在路由或 NAT 模式下配置 SQLNET ALG、允许 SQLNET 流量通过设备,以及如何在客户端与位于 瞻博网络 设备另一侧的服务器之间传输数据。

要求

此示例具有以下硬件和软件组件:

  • SRX 系列设备

  • 两个 PC(客户端和服务器)

开始之前:

概述

此示例将首先在设备上配置网络接口。创建安全区域并将接口分配给区域,并配置策略以允许 SQLNET 流量通过 SRX 系列设备。

然后创建静态 NAT 规则集 rs1,规则 rs1 与目标地址 40.0.172.10/32 匹配,然后创建地址为 40.0.172.45/32 的静态 NAT 前缀。

接下来,您将创建一个源 NAT 池 src-p1,其源规则集 src-rs1 用于将数据包从接口 fe-3/0/0.0 转换至接口 fe-3/0/1.0。为匹配数据包,源地址将转换为 src-p1 池中的 IP 地址。

然后创建一个目标 NAT 池 des-p1,其目标规则集 des-rs1 用于将数据包从区域信任关系转换为目标地址 40.0.172.10/32。为匹配数据包,目标地址将转换为 des-p1 池中的 IP 地址。最后,启用 SQLNET ALG 追踪选项。

拓扑

图 1 显示了 SQLNET ALG 拓扑。

图 1:SQLNET ALG 拓扑 SQLNET ALG Topology

配置

要配置 SQLNET ALG,请执行以下任务:

配置路由模式

CLI快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit] commit

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 CLI 用户指南 中的 在配置模式下CLI编辑器 。

要配置路由模式:

  1. 配置接口。

  2. 配置区域并将接口分配给区域。

  3. 配置一个 SQL 策略,允许 SQL 流量从信任区域到不信任区域。

结果

在配置模式下,输入 、 和 show interfaces 命令 show security zones 以确认您的 show security policies 配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

为简洁起见, show 此输出仅包含与此示例相关的配置。系统上的其他任何配置已替换为椭圆 (...)。

如果完成设备配置,请从配置 commit 模式输入 。

配置静态规则NAT集

CLI快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit] commit

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 CLI 用户指南 中的 在配置模式下CLI编辑器 。

要配置静态规则NAT集:

  1. 创建静态规则NAT集。

  2. 定义与目标地址匹配的规则。

  3. 为设备NAT静态路由前缀。

结果

在配置模式下,输入 命令以确认 show security nat 您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

如果完成设备配置,请从配置 commit 模式输入 。

配置源NAT池和规则集

CLI快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit] commit

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 CLI用户指南 中的 在配置模式下CLI编辑器 。

要配置源NAT池和规则集:

  1. 创建源NAT池。

  2. 创建一个NAT规则集。

  3. 配置匹配数据包且将源地址转换至源池地址的规则。

  4. 配置匹配数据包且将目标地址转换为源池地址的规则。

  5. 在规则NAT配置源池。

结果

在配置模式下,输入 命令以确认 show security nat 您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

如果完成设备配置,请从配置 commit 模式输入 。

配置目标NAT池和规则集

CLI快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit] commit

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 CLI用户指南 中的 在配置模式下CLI编辑器 。

要配置目标NAT池和规则集:

  1. 创建目标NAT池。

  2. 创建一个NAT集。

  3. 配置匹配数据包且将源地址转换到池内地址的规则。

  4. 配置匹配数据包且将目标地址转换到池内地址的规则。

  5. 在规则NAT一个源池。

结果

在配置模式下,输入 命令以确认 show security nat 您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

如果完成设备配置,请从配置 commit 模式输入 。

支持 SQLNET ALG

CLI快速配置
注意:

从 Junos OS 版15.1X49-D10 Junos OS版本17.3R1,SQLNET 应用程序层网关默认启用。

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit] commit

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 CLI用户指南 中的 在配置模式下CLI编辑器 。

要启用 SQLNET ALG:

  1. 启用 SQLNET ALG。

启用 SQLNET ALG 追踪选项

CLI快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit] commit

逐步过程

以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 CLI 用户指南 中的 在配置模式下CLI编辑器 。

要启用 SQLNET ALG 追踪选项,

  1. 启用 SQLNET ALG 追踪选项。

  2. 配置文件名,以从追踪操作接收输出。

  3. 指定最大追踪文件大小。

  4. 指定追踪输出级别。

结果

在配置模式下,输入 命令以确认 show security alg 您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。

如果完成设备配置,请从配置 commit 模式输入 。

验证

确认配置工作正常。

验证 SQLNET ALG 控制会话

目的

验证 SQL 命令是否执行且创建了所有 SQL 控制和数据会话。

行动

在操作模式下,输入 show security flow session 命令。

意义
  • Session ID—标识会话的编号。使用此 ID 获取有关会话详细信息,如策略名称、输入和退出的数据包数。

  • Policy name—允许流量的策略名称。

  • In—传入流(源和目标 IP 地址,以及各自的源端口号和目标端口号,会话为 TCP,此会话的源接口为 fe-3/0/0.0)。

  • Out—反向流(源和目标 IP 地址,以及各自的源端口号和目标端口号,会话为 TCP,此会话的目标接口为 fe-3/0/1.0)。

验证 SQLNET ALG

目的

验证 SQLNET ALG 是否已启用。

行动

在操作模式下,输入 show security alg status 命令。

意义

输出显示 SQLNET ALG 状态,如下所示:

  • 启用 — 显示启用了 SQLNET ALG

  • 禁用 - 显示 SQLNET ALG 已禁用。

验证 SQLNET ALG 资源管理器组

目的

验证 SQLNET ALG 使用的资源管理器组和活动组总数。

行动

在操作模式下,输入 show security resource-manager group active 命令。

验证 SQLNET ALG 资源信息

目的

验证 SQLNET ALG 使用的资源和活动资源总数。

行动

在操作模式下,输入 show security resource-manager resource active 命令。

版本历史记录表
释放
描述
15.1X49-D10
从 Junos OS 15.1X49-D10和Junos OS版本17.3R1开始,SQLNET 应用程序层网关默认启用。