在 M Series、MX 系列或 T Series 路由器上启用被动流监控
如果您在 M Series、MX 系列或 T Series 路由器中安装了以下组件,则可以监控来自其他路由器的 IPv4 流量:
监视服务、自适应服务或多服务 PIC,以执行服务处理
SONET/SDH、快速以太网或千兆以太网 PIC 作为中转接口
在 SONET/SDH 接口上,您可以通过在 [edit interfaces so-//port unit logical-unit-number] 层次结构级别包含passive-monitor-mode语句来启用pic被动流监控:fpc
[edit interfaces so-fpc/pic/port unit logical-unit-number] passive-monitor-mode;
在异步传输模式 (ATM)、快速以太网或千兆以太网接口上,您可以通过在[edit interfaces interface-name]层次结构级别包含passive-monitor-mode语句来启用被动流监控:
[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
4 端口 10 千兆以太网 LAN/WAN PIC,支持 XFP(在 WAN-PHY 和 LAN-PHY 模式下支持 IPv4 和 IPv6 地址)
具有 SFP 的千兆以太网 PIC
带 XENPAK 的 10 千兆以太网 PIC(T1600 系列路由器)
SONET/SDH OC192/STM64 PIC(T1600 系列路由器)
带 XFP 的 SONET/SDH OC192/STM64 PIC(T1600 系列路由器)
带 SFP 的 SONET/SDH OC48c/STM16 PIC(T1600 系列路由器)
SONET/SDH OC48/STM16(多速率)
带 SFP 的 SONET/SDH OC12/STM4(多速率)PIC
类型 1 SONET/SDH OC3/STM1(多速率)PIC,带 SFP
要配置端口镜像,请在[edit forwarding-options]层次结构级别包含port-mirroring语句。
在被动监控模式下配置接口时,数据包转发引擎会以静默方式丢弃来自该接口并发往路由器本身的数据包。被动监控模式还会阻止路由引擎从该接口传输任何数据包。从受监控接口收到的数据包可转发至监控接口。如果在配置中包含语 passive-monitor-mode 句:
ATM 接口始终开启,并且该接口不接收或传输传入控制数据包,例如作、管理和维护 (OAM) 和临时本地管理接口 (ILMI) 信元。
SONET/SDH 接口不会发送激活或告警,也不会主动介入网络。
千兆和快速以太网接口可以支持每端口的被动监控和每 VLAN 的被动监控。以太网接口接收端口上的目标 MAC 过滤器已禁用。
不允许使用以太网封装选项。
在被动监控模式下,以太网接口不支持 IPv4 和 IPv6 数据包的
stacked-vlan-tagging语句。
在监控服务接口上,您可以通过在[edit interfaces interface-name unit logical-unit-number]层次结构级别包含family语句并指定inet选项来启用被动流监控:
[edit interfaces interface-name unit logical-unit-number] family inet;
对于监控服务接口,您可以配置多服务物理接口属性。有关更多信息,请参阅 配置流监控接口。
为了符合 cflowd 记录结构,必须在层次结构级别包含 receive-options-packets 和 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 数据包配置默认标签值,请在[edit protocols mpls interface interface-name label-map]层次结构级别包含语default-route句:
[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 标签。
您可以通过在[edit interfaces interface-name (atm-options | fastether-options | gigether-options | sonet-options) mpls]层次结构级别包含语句来从传入数据包中移除 pop-all-labels 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该语句对带有一个或两个标签的传入数据包生效。您可以通过在[edit interfaces interface-name (atm-options | fastether-options | gigether-options | sonet-options) mpls pop-all-labels]层次结构级别包含required-depth语句来指定传入数据包必须具有的 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 库。
具有 MPLS 标签移除功能的接口不支持以下 ATM 封装类型:
atm-ccc-cell-relayatm-ccc-vc-muxatm-mlppp-llcatm-tcc-snapatm-tcc-vc-muxether-over-atm-llcether-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;
}
}
}