在此页面上
PPTP ALG
点到点隧道协议 (PPTP) ALG 是基于 TCP 的 ALG。PPTP 允许通过 IP 网络通过点到点协议 (PPP) 建立隧道。PPTP 定义了客户端-服务器架构、PPTP 网络服务器和 PPTP 访问集中器。PPTP ALG 需要一个控制连接和数据通道。控制连接使用 TCP 建立和断开 PPP 会话,在端口 1723 上运行。数据通道在通过 IP 传输的通用路由封装 (GRE) 数据包中承载 PPP 信息流。
了解 PPTP ALG
点到点隧道协议 (PPTP) ALG 可用于通过 IP 网络对点到点协议 (PPP) 数据包进行隧道传输。PPTP ALG 通常用于实施客户端/服务器架构、PPTP 网络服务器和 PPTP 访问集中器。
PPTP ALG 处理 PPTP 数据包,执行 网络地址转换 (NAT) 操作,为客户端与服务器之间的新数据连接开孔,在客户端与位于 瞻博网络 设备两侧的服务器之间传输数据。
了解 PPTP ALG 的 IPv6 支持
PPTP ALG 使用 TCP 端口 1723 连接和断开客户端和服务器。PPTP ALG 支持 IPv6 数据包。
支持 IPv6 的 PPTP ALG 会解析 IPv4 和 IPv6 PPTP 数据包,执行 NAT,然后为数据隧道打开针孔。
具有 IPv6 支持的 PPTP ALG 不支持 NAT-PT 和 NAT64,因为在隧道建立之后,PPP 数据包使用 Microsoft 点到点加密 (MPPE) 协议进行压缩;因此无法处理 PPP 包中 IP 报头的转换。
支持 IPv6 的 PPTP ALG 存在以下限制:
由于 PPP 数据包在设置隧道之后使用 Microsoft 点到点加密 (MPPE) 协议进行压缩,因此无法处理 PPP 包中 IP 报头的转换;因此,要确保 PPTP 连接工作正常,PPTP 客户端必须能够在双堆栈模式下工作。这样 IPv6 PPTP 客户端就可以接受用于 PPP 隧道接口的 IPv4 地址,通过它可与 IPv4 PPTP 服务器通信,无需为 PPP 数据包转换 IP 地址。
流模块支持 IPv6 解析 GRE 数据包,并使用 GRE 调用 ID 作为伪端口信息来搜索会话表和门表。
PPTP ALG 可以在不需要在 PPP 包中转换 IP 报头的特定情景中支持 NAT64,也就是说,如果 PPTP 客户端在 IPv4 网络的 IPv6 网络和服务器中采用双堆栈模式工作。
示例:配置 PPTP ALG
PPTP ALG 处理 PPTP 数据包,执行NAT操作,为客户端与服务器之间的新数据连接开孔。
此示例展示如何在路由或路由模式下配置 PPTP ALG NAT模式。此配置允许 PPTP 信息流通过设备,在客户端与位于设备两侧的服务器瞻博网络数据。
要求
此示例具有以下硬件和软件组件:
SRX 系列设备
两个 PC(客户端和服务器)
开始之前:
了解 ALG 背后的概念。请参阅 ALG 概述。
了解 PPTP ALG 的基础知识。请参阅 了解 PPTP ALG。
概述
此示例将首先在设备上配置网络接口,创建安全区域并将接口分配给区域,然后配置策略以允许 PPTP 流量通过 SRX 系列设备。
然后创建静态 NAT 规则集 rs1,规则 rs1 与目标地址 30.5.2.120/32 匹配,然后创建地址 10.5.1.120/32 的静态 NAT 前缀。
接下来,您将使用NAT集 src-rs1 创建一个源规则池 src-p1,将数据包从区域信任关系转换为不信任区域。为匹配数据包,源地址将转换为 src-p1 池中的 IP 地址。
然后创建一个目标 NAT 池 des-p1,其目标规则集 des-rs1 用于将数据包从区域信任关系转换为目标地址 30.5.1.120/32。为匹配数据包,目标地址将转换为 des-p1 池中的 IP 地址。最后,配置 PPTP ALG 追踪选项。
配置
要配置 PPTP ALG,请执行以下任务:
配置路由模式
CLI快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit]
commit
set interfaces ge-0/0/1 unit 0 family inet address 20.20.20.1/8 set interfaces fe-0/0/2 unit 0 family inet address 10.10.10.1/8 set security zones security-zone trust interfaces ge-0/0/1 host-inbound-traffic system-services all set security zones security-zone trust interfaces ge-0/0/1 host-inbound-traffic protocols all set security zones security-zone untrust interfaces fe-0/0/2 host-inbound-traffic system-services all set security zones security-zone untrust interfaces fe-0/0/2 host-inbound-traffic protocols all set security policies from-zone trust to-zone untrust policy pptp match source-address any set security policies from-zone trust to-zone untrust policy pptp match destination-address any set security policies from-zone trust to-zone untrust policy pptp match application junos-pptp set security policies from-zone trust to-zone untrust policy pptp then permit
逐步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 CLI用户指南 中的 在配置模式下CLI编辑器 。
要配置路由模式:
配置接口。
[edit interfaces] user@host#set ge-0/0/1 unit 0 family inet address 20.20.20.1/8 user@host#set fe-0/0/2 unit 0 family inet address 10.10.10.1/8
配置区域并将接口分配给区域。
[edit security zones security-zone trust] user@host#set interfaces ge-0/0/1 host-inbound-traffic system-services all user@host#set interfaces ge-0/0/1 host-inbound-traffic protocols all [edit security zones security-zone untrust] user@host#set interfaces fe-0/0/2 host-inbound-traffic system-services all user@host#set interfaces fe-0/0/2 host-inbound-traffic protocols all
配置 PPTP 策略,允许从信任区域到不信任区域 PPTP 流量。
[edit security policies from-zone trust to-zone untrust] user@host#set policy pptp match source-address any user@host#set policy pptp match destination-address any user@host#set policy pptp match application junos-pptp user@host#set policy pptp then permit
结果
在配置模式下,输入 、 和 show interfaces
命令 show security zones
以确认您的 show security policies
配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
为简洁起见, show
此输出仅包含与此示例相关的配置。系统上的其他任何配置已替换为椭圆 (...)。
[edit] user@host# show interfaces ... ge-0/0/1 { unit 0 { family inet { address 20.20.20.1/8; } } } fe-0/0/2 { unit 0 { family inet { address 10.10.10.1/8; } } } ...
[edit] user@host# show security zones security-zone trust { .... interfaces { ge-0/0/1 { host-inbound-traffic { system-services { all; } protocols { all; } } } } } ... security-zone untrust { interfaces { fe-0/0/2 { host-inbound-traffic { system-services { all; } protocols { all; } } } } }
[edit] user@host# show security policies from-zone trust to-zone untrust { policy pptp { match { source-address any; destination-address any; application junos-pptp; } then { permit; } } }
如果完成设备配置,请从配置 commit
模式输入 。
配置静态NAT规则集
CLI快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit]
commit
set security nat static rule-set rs1 from zone trust set security nat static rule-set rs1 rule r1 match destination-address 30.5.2.120/32 set security nat static rule-set rs1 rule r1 then static-nat prefix 10.5.1.120/32
逐步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 CLI用户指南 中的 在配置模式下CLI编辑器 。
要配置静态规则NAT集:
创建静态规则NAT集。
[edit security nat static rule-set rs1] user@host#set from zone trust
定义要与目标地址匹配的规则。
[edit security nat static rule-set rs1] user@host# set rule r1 match destination-address 30.5.2.120/32
定义设备的NAT前缀。
[edit security nat static rule-set rs1] user@host# set rule r1 then static-nat prefix 10.5.1.120/32
结果
在配置模式下,输入 命令以确认 show security nat
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit] user@host# show security nat static { rule-set rs1 { from zone trust; rule r1 { match { destination-address 30.5.2.120/32; } then { static-nat { prefix { 10.5.1.120/32; } } } } } }
如果完成设备配置,请从配置 commit
模式输入 。
配置源NAT池和规则集
CLI快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit]
commit
set security nat source pool src-p1 address 30.5.1.120/32 set security nat source rule-set src-rs1 from zone trust set security nat source rule-set src-rs1 to zone untrust set security nat source rule-set src-rs1 rule src-r1 match source-address 20.5.1.120/32 set security nat source rule-set src-rs1 rule src-r1 match destination-address 10.5.2.120/32 set security nat source rule-set src-rs1 rule src-r1 then source-nat pool src-p1
逐步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 CLI用户指南 中的 在配置模式下CLI编辑器 。
要配置源NAT池和规则集:
创建源NAT池。
[edit security nat source] user@host#set pool src-p1 address 30.5.1.120/32
创建一个NAT规则集。
[edit security nat source ] user@host# set rule-set src-rs1 from zone trust user@host# set rule-set src-rs1 to zone untrust
配置匹配数据包且将源地址转换至源池地址的规则。
[edit security nat source] user@host# set rule-set src-rs1 rule src-r1 match source-address 20.5.1.120/32
配置匹配数据包且将目标地址转换为源池地址的规则。
[edit security nat source] user@host# set rule-set src-rs1 rule src-r1 match destination-address 10.5.2.120/32
在规则NAT配置源池。
[edit security nat source] user@host# set rule-set src-rs1 rule src-r1 then source-nat pool src-p1
结果
在配置模式下,输入 命令以确认 show security nat
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit] user@host# show security nat source { pool src-p1 { address { 30.5.1.120/32; } } rule-set src-rs1 { from zone trust; to zone untrust; rule src-r1 { match { source-address 20.5.1.120/32; destination-address 10.5.2.120/32; } then { source-nat { pool { src-p1; } } } } }
如果完成设备配置,请从配置 commit
模式输入 。
配置目标NAT池和规则集
CLI快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit]
commit
set security nat destination pool des-p1 address 10.5.1.120/32 set security nat destination rule-set des-rs1 from zone trust set security nat destination rule-set des-rs1 rule des-r1 match source-address 20.5.1.120/32 set security nat destination rule-set des-rs1 rule des-r1 match destination-address 30.5.1.120/32 set security nat destination rule-set des-rs1 rule des-r1 then destination-nat pool des-p1
逐步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 CLI用户指南 中的 在配置模式下CLI编辑器 。
要配置目标NAT池和规则集:
创建目标NAT池。
[edit security nat destination] user@host#set pool des-p1 address 10.5.1.120/32
创建一个NAT规则集。
[edit security nat destination] user@host# set rule-set des-rs1 from zone trust
配置匹配数据包且将源地址转换到池内地址的规则。
[edit security nat destination] user@host# set rule-set des-rs1 rule des-r1 match source-address 20.5.1.120/32
配置匹配数据包且将目标地址转换到池内地址的规则。
[edit security nat destination] user@host# set rule-set des-rs1 rule des-r1 match destination-address 30.5.1.120/32
在规则NAT一个源池。
[edit security nat destination] user@host# set rule-set des-rs1 rule des-r1 then destination-nat pool des-p1
结果
在配置模式下,输入 命令以确认 show security nat
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit] user@host# show security nat destination { pool des-p1 { address { 10.5.1.120/32; } } rule-set des-rs1 { from zone trust; rule des-r1 { match { source-address 20.5.1.120/32; destination-address 30.5.1.120/32; } then { destination-nat { pool { des-p1; } } } } } }
如果完成设备配置,请从配置 commit
模式输入 。
配置 PPTP ALG 追踪选项
CLI快速配置
要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以匹配网络配置,将命令复制并粘贴到 层次结构级别的 CLI 中,然后从配置模式进入 。 [edit]
commit
set security alg pptp traceoptions flag all set security alg traceoptions file trace set security alg traceoptions file size 1g set security alg traceoptions level verbose
逐步过程
以下示例要求您在配置层次结构中导航各个级别。有关如何操作的说明,请参阅 CLI用户指南 中的 在配置模式下CLI编辑器 。
要配置 PPTP ALG 追踪选项,
启用 PPTP ALG 追踪选项。
[edit security alg] user@host#set pptp traceoptions flag all
配置文件名,以从追踪操作接收输出。
[edit security alg] user@host#set traceoptions file trace
指定最大追踪文件大小。
[edit security alg] user@host#set traceoptions file size 1g
指定追踪输出级别。
[edit security alg] user@host#set traceoptions level verbose
结果
在配置模式下,输入 命令以确认 show security alg
您的配置。如果输出未显示预期的配置,请重复此示例中的配置说明进行更正。
[edit] user@host# show security alg traceoptions { file trace size 1g; level verbose; } pptp traceoptions flag all;
如果完成设备配置,请从配置 commit
模式输入 。
验证
确认配置工作正常。
验证 PPTP ALG 控制会话
目的
验证是否创建了 PPTP 控制会话以及创建了所有 PPTP 控制和数据会话。
行动
在操作模式下,输入 show security flow session
命令。
user@host>show security flow session SSession ID: 57, Policy name: pptp, Timeout: 1787 Resource information : PPTP ALG, 1, 0 In: 20.20.20.32/3905 --> 10.10.10.32/1723;tcp, If: ge-0/0/1.0 Pkts: 6, Bytes: 584 Out: 10.10.10.32/1723 --> 20.20.20.32/3905;tcp, If: fe-0/0/2.0 Pkts: 4, Bytes: 352 Session ID: 58, Policy name: pptp, Timeout: 1799 In: 20.20.20.32/0 --> 10.10.10.32/256;gre, If: ge-0/0/1.0 Out: 10.10.10.32/256 --> 20.20.20.32/65001;gre, If: fe-0/0/2.0 Session ID: 59, Policy name: pptp, Timeout: 1787 In: .10.10.10.32/0 --> 20.20.20.32/260;gre, If: ge-0/0/1.0 Out: 20.20.20.32/260 --> 10.10.10.32/65000;gre, If: fe-0/0/2.0
意义
Session ID—标识会话的编号。使用此 ID 获取有关会话详细信息,例如策略名称或输入和退出的数据包数。
Policy name—允许流量的策略名称。
In—传入流(源和目标 IP 地址,以及各自的源端口号和目标端口号,会话为 TCP,此会话的源接口为 ge-0/0/1.0)。
Out—反向流(源和目标 IP 地址及其相应的源端口号和目标端口号,会话为 TCP,此会话的目标接口为 fe-0/0/2.0)。
验证 PPTP ALG 流门信息
目的
验证流门是否为 TCP 数据通道连接打开。
行动
在操作模式下,输入 show security flow gate
命令。
user@host>show security flow gate Hole: 20.0.172.24-20.0.172.24/0-0->21.0.172.38-21.0.172.38/25750-25750 Translated: 2015::172:24/65000->2005::172:108/360 Protocol: gre Application: PPTP ALG/69 Age: 118 seconds Flags: 0x0080 Zone: trust Reference count: 1 Resource: 12-1-1 Hole: 2005::172:108-0-0->2015::172:24-2432-2432 Translated: 21.0.172.38/65001->20.0.172.24/2432 Protocol: gre Application: PPTP ALG/69 Age: 120 seconds Flags: 0x8080 Zone: untrust Reference count: 1 Resource: 12-1-2 Valid gates: 2 Pending gates: 0 Invalidated gates: 0 Gates in other states: 0 Total gates: 2
验证 PPTP ALG
目的
验证 PPTP ALG 是否已启用。
行动
在操作模式下,输入 show security alg status
命令。
user@host>show security alg status ALG Status : PPTP : Enabled RSH : Disabled RTSP : Enabled SCCP : Enabled SIP : Enabled TALK : Enabled TFTP : Enabled IKE-ESP : Disabled
意义
输出显示 PPTP ALG 状态,如下所示:
启用 - 显示已启用 PPTP ALG。
禁用 - 显示 PPTP ALG 已禁用。
验证 PPTP 资源管理器组
目的
验证 PPTP ALG 使用的资源管理器组和活动组总数。
行动
在操作模式下,输入 show security resource-manager group active
命令。
user@host>show security resource-manager group active Group ID 1: Application - PPTP ALG Total groups 19763, active groups 1
验证 PPTP 资源信息
目的
验证 PPTP ALG 使用的资源和活动资源总数。
行动
在操作模式下,输入 show security resource-manager resource active
命令。
user@host>show security resource-manager resource active Resource ID 2: Group ID - 1, Application - PPTP ALG Resource ID 1: Group ID - 1, Application - PPTP ALG Total Resources 93286, active resources 2