示例:在具有增强型 IIIFPC 的路由器M120 FlowTapLite 的 IPv6 支持
此示例介绍如何在具有增强型 IIIFPC 的路由器M120 FlowTapLite 的 IPv6 支持。FlowTapLite 的配置在带增强型 III M320的 MX 系列路由器上与此类似。但是,由于 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-Port
、Dest-Address
Source-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 或更高版本
M120通道 (
vt
) 接口的路由器
在路由器上配置 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
对于安装设备,配置使用
ftap
唯一标识符 (UID) 调用的用户:[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