在 M 系列、MX 系列或 T 系列路由器上启用被动流监控
如果在 M 系列、MX 系列或 T 系列路由器中安装了以下组件,则可以监控来自其他路由器的 IPv4 流量:
监视服务、自适应服务或多服务 PIC 以执行服务处理
SONET/SDH、快速以太网或千兆以太网 PIC 作为传输接口
在 SONET/SDH 接口上,可以通过在 [编辑接口 so-//port 单元logical-unit-number] 层次结构级别包含passive-monitor-mode
语句来启用pic被动流监控:fpc
[edit interfaces so-fpc/pic/port unit logical-unit-number] passive-monitor-mode;
在异步传输模式 (ATM)、快速以太网或千兆以太网接口上,可以通过在层次结构级别包含 passive-monitor-mode
语句 [edit interfaces interface-name]
来启用被动流监控:
[edit interfaces interface-name] passive-monitor-mode;
监控服务 PIC 不支持 IPv6 被动监控。您必须配置端口镜像,以将数据包从被动监控端口转发到其他接口。在以下 FPC 和 PIC 上配置的接口支持 T640 和 T1600 系列路由器上的 IPv6 被动监控:
增强型扩展 FPC2
增强型扩展 FPC3
增强型 II FPC1
增强型 II FPC2
增强型 II FPC3
增强型扩展 FPC4
增强型扩展 FPC4.1
带 XFP 的 4 端口 10 千兆以太网 LAN/WAN PIC(在 IPv4 和 IPv6 地址的 WAN-PHY 和 LAN-PHY 模式下均受支持)
带 SFP 的千兆以太网 PIC
带 XENPAK 的 10 千兆以太网 PIC(T1600 系列路由器)
SONET/SDH OC192/STM64 PIC(T1600 系列路由器)
带 XFP 的 SONET/SDH OC192/STM64 PIC(T1600 系列路由器)
SONET/SDH OC48c/STM16 PIC 与 SFP(T1600 系列路由器)
SONET/SDH OC48/STM16(多速率)
SONET/SDH OC12/STM4(多速率)PIC 与 SFP
带 SFP 的 1 类 SONET/SDH OC3/STM1(多速率)PIC
要配置端口镜像,请在层次结构级别包含 port-mirroring
语句 [edit forwarding-options]
。
在被动监控模式下配置接口时,数据包转发引擎会静默丢弃来自该接口并发往路由器本身的数据包。被动监控模式还会阻止路由引擎从该接口传输任何数据包。从监控接口接收的数据包可以转发到监控接口。如果在配置中包含语句 passive-monitor-mode
:
ATM 接口始终处于打开状态,并且接口不会接收或传输传入的控制数据包,例如操作、管理和维护 (OAM) 和临时本地管理接口 (ILMI) 单元。
SONET/SDH 接口不发送激活或告警,也不主动介入网络。
千兆位和快速以太网接口可以支持每端口被动监控和每 VLAN 被动监控。以太网接口接收端口上的目标 MAC 过滤器已禁用。
不允许使用以太网封装选项。
以太网接口不支持
stacked-vlan-tagging
被动监控模式下的 IPv4 和 IPv6 数据包的语句。
在监控服务接口上,您可以通过在层次结构级别包含family
[edit interfaces interface-name unit logical-unit-number]
语句并指定inet
选项来启用被动流监控:
[edit interfaces interface-name unit logical-unit-number] family inet;
对于监控服务接口,您可以配置多服务物理接口属性。有关更多信息,请参阅 配置流监控接口。
为了与 cflowd 记录结构保持一致,必须在层次结构级别包含 receive-options-packets
and receive-ttl-exceeded
语句 [edit interfaces interface-name unit logical-unit-number family inet]
:
[edit interfaces interface-name unit logical-unit-number family inet] receive-options-packets; receive-ttl-exceeded;
MPLS 封装数据包的被动流监控
在监控服务接口上,您可以处理尚未分配标签值且路由表中没有 mpls.0
相应条目的 MPLS 数据包。这允许您为未标记的 MPLS 数据包分配默认路由。
要为 MPLS 数据包配置默认标签值,请在层次结构级别包含default-route
[edit protocols mpls interface interface-name label-map]
语句:
[edit protocols mpls interface interface-name label-map] default-route { (next-hop (address | interface-name | address/interface-name)) | (reject | discard); (pop | (swap <out-label>); class-of-service value; preference preference; type type; }
有关静态标签的更多信息,请参阅 MPLS 应用程序用户指南。
从传入数据包中删除 MPLS 标签
Junos OS 只能将 IPv4 数据包转发到监控服务、自适应服务或多服务 PIC。带有 MPLS 标签的 IPv4 和 IPv6 数据包无法转发到监控 PIC。默认情况下,如果将带有 MPLS 标签的数据包转发到监控 PIC,则会丢弃这些数据包。要使用 MPLS 标签监控 IPv4 和 IPv6 数据包,必须在数据包到达接口时移除 MPLS 标签。
您可以通过在层次结构级别包含 pop-all-labels
语句 [edit interfaces interface-name (atm-options | fastether-options | gigether-options | sonet-options) mpls]
来从传入数据包中删除 MPLS 标签:
[edit interfaces interface-name (atm-options | fastether-options | gigether-options | sonet-options) mpls] pop-all-labels { required-depth [ numbers ]; }
对于带有 MPC 的 MX 系列路由器,默认情况下会 pop-all-labels
弹出所有标签,并忽略该 required-depth
语句。
对于其他配置,您最多可以从传入数据包中删除两个 MPLS 标签。默认情况下,该pop-all-labels
语句对具有一个或两个标签的传入数据包生效。您可以通过在层次结构级别包含required-depth
语句[edit interfaces interface-name (atm-options | fastether-options | gigether-options | sonet-options) mpls pop-all-labels]
来指定传入数据包必须具有的 MPLS 标签数量才能使pop-all-labels
语句生效:
[edit interfaces interface-name (atm-options | fastether-options | gigether-options | sonet-options) mpls pop-all-labels] required-depth [ numbers ];
所需的深度可以是 1
、 2
或 [ 1 2 ]
。如果包含该 required-depth 1
语句, pop-all-labels
则该语句仅对具有一个标签的传入数据包生效。如果包含该 required-depth 2
语句, pop-all-labels
则该语句仅对具有两个标签的传入数据包生效。如果包含该 required-depth [ 1 2 ]
语句, pop-all-labels
则该语句将对具有一个或两个标签的传入数据包生效。所需的 [ 1 2 ]
深度等效于语句的默认 pop-all-labels
行为。
从传入数据包中删除 MPLS 标签时,请注意以下事项:
该
pop-all-labels
语句对具有三个或更多 MPLS 标签的 IP 数据包没有影响,但带有 MPC 的 MX 系列路由器除外。启用 MPLS 标签移除时,必须将 PIC 上的所有端口配置为相同的标签弹出模式和所需的深度。
您可以使用该
pop-all-labels
语句启用被动监视应用程序,而不是主动监视应用程序。您无法将 MPLS 过滤器或核算应用于 MPLS 标签,因为数据包到达接口后,标签就会被删除。
在 ATM2 接口上,您必须使用大于 4095 的标签值,因为较低的 MPLS 标签范围是为标签交换接口 (LSI) 和虚拟专用 LAN 服务 (VPLS) 支持保留的。有关详细信息,请参阅 适用于路由设备的 Junos OS VPN 库。
以下 ATM 封装类型在移除 MPLS 标签的接口上不受支持:
atm-ccc-cell-relay
atm-ccc-vc-mux
atm-mlppp-llc
atm-tcc-snap
atm-tcc-vc-mux
ether-over-atm-llc
ether-vpls-over-atm-llc
示例:启用 IPv4 被动流监控
以下示例显示了在以太网接口上启用被动流监控的完整配置。
在此示例中,千兆以太网接口可以接受所有以太网数据包。它盲目去除 VLAN 标记(如果有)和最多两个 MPLS 标记,并将 IPv4 数据包传递到监控接口。使用此配置,它可以监控 IPv4、VLAN+IPv4、VLAN+MPLS+IPv4 和 VLAN+MPLS+MPLS+IPv4 标记的数据包。
快速以太网接口只能接受 VLAN ID 为 100 的数据包。丢弃所有其他数据包。使用此配置,它可以监控 VLAN (ID=100)+IPv4、VLAN (ID=100)+MPLS+IPv4 和 VLAN (ID=100)+MPLS+MPLS+IPv4 标记的数据包。
[edit firewall] family inet { filter input-monitoring-filter { term def { then { count counter; accept; } } } } [edit interfaces] ge-0/0/0 { passive-monitor-mode; gigether-options { mpls { pop-all-labels; } } unit 0 { family inet { filter { input input-monitoring-filter; } } } } fe-0/1/0 { passive-monitor-mode; vlan-tagging; fastether-options { mpls { pop-all-labels required-depth [ 1 2 ]; } } unit 0 { vlan-id 100; family inet { filter { input input-monitoring-filter; } } } } mo-1/0/0 { unit 0 { family inet { receive-options-packets; receive-ttl-exceeded; } } unit 1 { family inet; } } [edit forwarding-options] monitoring mon1 { family inet { output { export-format cflowd-version-5; cflowd 192.0.2.2 port 2055; interface mo-1/0/0.0 { source-address 192.0.2.1; } } } } [edit routing-instances] monitoring-vrf { instance-type vrf; interface ge-0/0/0.0; interface fe-0/1/0.0; interface mo-1/0/0.1; route-distinguisher 68:1; vrf-import monitoring-vrf-import; vrf-export monitoring-vrf-export; routing-options { static { route 0.0.0.0/0 next-hop mo-1/0/0.1; } } } [edit policy-options] policy-statement monitoring-vrf-import { then { reject; } } policy-statement monitoring-vrf-export { then { reject; } }
示例:启用 IPv6 被动流监控
以下示例显示了在以太网接口上启用 IPv6 被动流监控的完整配置。
在此示例中,千兆以太网接口可以接受所有以太网数据包。它盲目去除 VLAN 标记(如果有)和最多两个 MPLS 标记,并将 IPv6 数据包传递到监控接口。使用此配置,千兆以太网接口可以监控 IPv6、VLAN+IPv6、VLAN+MPLS+IPv6 和 VLAN+MPLS+MPLS+IPv6 标记的数据包。
VLAN 标记的千兆以太网接口只能接受 VLAN ID 为 100 的数据包。丢弃所有其他数据包。使用此配置,它可以监控 VLAN (ID=100)+IPv6、VLAN (ID=100)+MPLS+IPv6 和 VLAN (ID=100)+MPLS+MPLS+IPv6 标记的数据包。
[edit interfaces] xe-0/1/0 { passive-monitor-mode; unit 0 { family inet6 { filter { input port-mirror6; } address 2001:db8::1/128; } } } xe-0/1/2 { passive-monitor-mode; vlan-tagging; unit 0 { vlan-id 100; family inet6 { filter { input port-mirror6; } } } } xe-0/1/1 { unit 0 { family inet6 { address 2001:db8::1/128; } } } [edit firewall] family inet6 { filter port-mirror6 { term term2 { then { count count_pm; port-mirror; accept; } } } } [edit forwarding options] port-mirroring { input { rate 1; } family inet6 { output { interface xe-0/1/1.0 { next-hop 2001:db8::3; } no-filter-check; } } }