示例:在配备增强型 III FPC 的 M120 路由器上为 FlowTapLite 配置 IPv6 支持
此示例介绍如何在配备增强型 III FPC 的 M120 路由器上为 FlowTapLite 配置 IPv6 支持。在 M320 路由器和配备增强型 III FPC 的 MX 系列路由器上,FlowTapLite 的配置类似。但是,由于 MX 系列路由器不支持隧道服务 PIC,因此您可以将 DPC 和相应的数据包转发引擎配置为在 [edit chassis]
层次结构级别使用隧道服务。
借助 Junos OS 10.1 版,FlowTapLite 服务支持合法拦截 IPv6 数据包:以前只支持拦截 IPv4 数据包。拦截的数据包会发送到内容目标,而原始数据包流到实际目标不受影响。
调解设备通过发送 DTCP 请求,在路由器(或服务器)上安装动态过滤器。这些过滤器包括有关拦截流量的五元信息(源地址、目标地址、源端口、目标端口和协议)以及内容目标的详细信息(IP 地址和端口信息)。
下面是此类过滤器的示例:
ADD DTCP/0.8 Csource-ID: ftap Cdest-ID: cd1 Source-Address: 2001:db8:abcd:ef12:3456:78ab:abc8:1235/112 Dest-Address: 2001:db8:affe::1:1 Source-Port: 1234 Dest-Port: 2345 Protocol: * Priority: 2 X-JTap-Input-Interface: ge-2/0/1 X-JTap-Cdest-Dest-Address: 192.0.2.5 X-JTap-Cdest-Dest-Port: 2300 X-JTap-Cdest-Source-Address: 198.51.100.9 X-JTap-Cdest-Source-Port: 65535 X-JTap-Cdest-TTL: 255 X-JTap-IP-Version: ipv6 Flags: STATIC
以下是动态过滤器中参数的说明:
Csource-ID
- 在 [edit system login user]
层次结构级别的路由器中配置的用户名。Cdest-ID
- 内容目标标识符。Source-Address
、Dest-Address
Source-Port
、Dest-Port
Protocol
— 确定需要拦截哪些数据包流的参数。X-JTap-Input-Interface
- 实际流量进入路由器的接口。根据已安装的过滤器类型,此字段中的值可以包括以下内容:X-JTap-Output-Interface
安装输出接口过滤器;X-JTap-VRF-NAME
安装 VRF 过滤器;安装全局过滤器,不指定任何参数。X-JTap-Cdest-Dest
-以此字符串开始的所有参数都会指定与内容目标关联的不同参数。X-JTap-IP-Version
– 区分 IPv6 和 IPv4 过滤器。
在数据包转发引擎控制台中,您可以验证过滤器已安装且工作正常。
要求
此示例使用以下硬件和软件组件:
Junos OS 10.1 或更高版本
带有隧道 (
vt
) 接口的 M120 路由器
在路由器上配置 IPv6 FlowTapLite 之前,请确保您已:
已启动的隧道 PIC
从路由器到调解设备和内容目标的连接
流量流经路由器
概述和拓扑
图 1 显示了一个 M120 路由器的 FlowTapLite 配置,用于合法拦截数据包。
拓扑

在此示例中,IPv6 数据包进入数据包转发引擎,根据安装的过滤器,为拦截的数据包创建新的流,同时正常转发原始数据包。新流通过隧道 PIC 重新路由回数据包转发引擎进行路由查找,然后重新路由到内容目标。
配置
CLI 快速配置
要快速配置 IPv6 FlowTapLite,请将以下命令复制并粘贴到 CLI 中:
set system login class flowtap permissions flow-tap-operation set system login user ftap uid 2000 set system login user ftap class flowtap set system login user ftap authentication encrypted-password "$ABC123" set system services flow-tap-dtcp ssh set interfaces vt-4/0/0 unit 0 family inet set interfaces vt-4/0/0 unit 0 family inet6 set services flow-tap tunnel-interface vt-4/0/0.0
配置用户证书
逐步过程
此处配置的用户名和密码由调解设备在连接和发送 DTCP 请求时使用。
定义一个名为的
flowtap
登录类:[edit system] user@router# set login class flowtap permissions flow-tap-operation
对于冥想设备,请配置使用唯一标识符 (UID) 调用
ftap
的用户:[edit system] user@router# set login user ftap uid 2000
将
flowtap
类应用于ftap
用户:[edit system] user@router# set login user ftap class flowtap
-
配置调解设备使用的加密密码:
[edit system] user@router# set login user ftap authentication encrypted-password $ABC123
提交配置:
[edit system] user@router# commit
为 FlowTapLite 配置隧道接口
逐步过程
通过在 SSH 层之上启用 DTCP 会话,可以为调解设备和路由器之间的 DTCP 事务添加额外的安全级别。
从
[edit system]
层级配置 SSH:[edit system] user@router# set services flow-tap-dtcp ssh
提交配置:
[edit system] user@router# commit
配置逻辑隧道接口
逐步过程
配置逻辑接口并将其分配给层级的
[edit interfaces]
动态流控制进程 (dfcd):[edit interfaces] user@router# set vt-4/0/0 unit 0 family inet
包括必需
inet6
语句:[edit interfaces] user@router# set vt-4/0/0 unit 0 family inet6
提交配置:
[edit interfaces] user@router# commit
配置 FlowTapLite
逐步过程
在
flow-tap
层次结构级别包括语句和隧道接口[edit services]
:[edit services] user@router# set flow-tap tunnel-interface vt-4/0/0.0
提交配置:
[edit services] user@router# commit
结果
检查配置结果:
[edit] user@router# show system { [...Output Truncated...] login { class flowtap { permissions flow-tap-operation; } user ftap { uid 2000; class flowtap; authentication { encrypted-password "$ABC123"; ## SECRET-DATA } } } services { telnet; flow-tap-dtcp { ssh; } } } interfaces { vt-4/0/0 { unit 0 { family inet; family inet6; } } } [...Output Truncated...] services { flow-tap { tunnel-interface vt-4/0/0.0; } }
验证
要确认配置工作正常,请执行以下任务:
验证路由器是否已收到过滤器请求
目的
调解设备将过滤器发送至路由器后,调解设备必须从路由器接收消息,确认路由器已收到过滤器请求。
行动
检查调解设备是否收到与以下内容类似的消息:
DTCP/0.8 200 OK SEQ: 1 CRITERIA-ID: 1 TIMESTAMP: 2009-09-29 06:12:05.725 AUTHENTICATION-INFO: 55f9dc3debd3c7356951410f165f2a9cc5606063
意义
以上消息是成功接收的过滤器请求的示例。
检查过滤器是否已安装并在路由器上工作
目的
行动
show filter
使用和show filter index
命令检查过滤器是否已安装:
user@router# show filter Program Filters: --------------- Index Dir Cnt Text Bss Name -------- ------ ------ ------ ------ -------- 1 104 0 20 20 __default_bpdu_filter__ 17000 52 0 4 4 __default_arp_policer__ 57007 104 144 16 16 __flowtap_inet__ 65280 52 0 4 4 __auto_policer_template__ 65281 104 0 16 16 __auto_policer_template_1__ 65282 156 0 32 32 __auto_policer_template_2__ 65283 208 0 48 48 __auto_policer_template_3__ 65284 260 0 64 64 __auto_policer_template_4__ 65285 312 0 80 80 __auto_policer_template_5__ 65286 364 0 96 96 __auto_policer_template_6__ 65287 416 0 112 112 __auto_policer_template_7__ 65288 468 0 128 128 __auto_policer_template_8__ 37748736 156 144 80 80 __ftaplite_filter__ifl__70__out__ipv6_ 37748737 156 144 80 80 __ftaplite_filter__vrf__4__in__ipv6_ 37748738 156 144 80 80 __ftaplite_filter__ifl__71__in__ipv6_ 37748739 156 144 80 80 __ftaplite_filter__vrf__0__in__ipv6_ user@router# show filter index 37748738 counters Filter Counters/Policers: Index Packets Bytes Name -------- -------------------- -------------------- -------- 37748738 8851815 601923420 __ftaplite_term_ftap_3___counter
意义
上述命令输出 show filter
中的最后四个过滤器是安装在数据包转发引擎上的过滤器。命令 show filter index
将显示非零的数据包计数,表示数据包已达到过滤器。
发送列表请求
目的
验证数据包转发引擎中是否安装了正确的过滤器。
行动
使用客户端软件向数据包转发引擎发送列表请求。在列表请求中,您可以单独或一起包括以下三个参数: CSource-Id
、 CDest-ID
和 Criteria-ID
。所有请求都必须包含 CSource-Id
。以下是列表请求的示例,其中使用了 CSource-Id
:
LIST DTCP/0.8 Csource-ID: ftap1 Flags: Both
下面是一个响应示例:
DTCP/0.8 200 OK SEQ: 51 TIMESTAMP: 2009-10-04 07:56:43.003 CRITERIA-ID: 1 CSOURCE-ID: ftap1 CDEST-ID: cd1 CSOURCE-ADDRESS: 10.209.152.15 FLAGS: Static AVERAGE-BANDWIDTH: 0 MATCHING-PACKETS: 0 MATCHING-BYTES: 0 NUM-REFRESH: 0 LAST-REFRESH: 2009-10-04 07:54:30.870 X-JTAP-INPUT-INTERFACE: ge-2/1/1.0,ge-2/1/1.1,ge-2/1/1.2 SOURCE-ADDRESS: 203.0.113.1 DEST-ADDRESS: 192.168.0.1/32 SOURCE-PORT: 1000 DEST-PORT: 2000 PROTOCOL: 17 X-JTAP-CDEST-DEST-ADDRESS: 192.168.99.81 X-JTAP-CDEST-DEST-PORT: 8001 X-JTAP-CDEST-SOURCE-ADDRESS: 192.168.208.9 X-JTAP-CDEST-SOURCE-PORT: 34675 X-JTAP-CDEST-TTL: 64 CRITERIA-NUM: 1 CRITERIA-COUNT: 1 AUTHENTICATION-INFO: 0f49ff600a3d8d7d312c5031f74cc17540bc9200
您还可以删除请求。下面是删除请求的示例:
DELETE DTCP/0.8 Csource-ID: ftap CDest-ID: cd1 Flags: STATIC