Print

NQA链路探测失败,但是可以Ping通

3小时前 发表

组网及说明


设备的1口和3口均做了EASY IP

问题描述

现场配置了两个NQA探测,

nqa entry admin HHHH 

type icmp-echo 

destination ip 1.1.1.2

 frequency 100 

 history-record enable 

 next-hop ip 1.1.1.2 

 reaction 1 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only 

 source interface GigabitEthernet1/0/1 

 # 

nqa entry admin ZZZZ 

 type icmp-echo 

 destination ip 2.2.2.2 

 frequency 100 

 history-record enable 

 next-hop ip 2.2.2.2 

 reaction 3 checked-element probe-fail threshold-type consecutive 3 action-type trigger-only 

 source interface GigabitEthernet1/0/3 

#

ip route-static 0.0.0.0 0 1.1.1.2 track 1 preference 2 

ip route-static 0.0.0.0 0 2.2.2.2 track 2 preference 2 

故障时候显示:

ping -a 1.1.1.1 1.1.1.2 可以通

但是

[F5010]dis nqa history 

Index      Response      Status                    Time

 31             3000        Timeout            2021-02-02 18:09:16.0

过程分析

在设备上ping -a 1.1.1.1 1.1.1.2 发现会话:

[F5010-10.10.10.1]dis session table ipv4 protocol icmp source-ip 1.1.1.1 destination-ip 1.1.1.2 v

Slot 1:

Initiator:

  Source      IP/port: 1.1.1.1/17834

  Destination IP/port: 1.1.1.2/2048

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: InLoopBack0

  Source security zone: Local

Responder:

  Source      IP/port: 1.1.1.2/17834

  Destination IP/port: 1.1.1.1/0

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: GigabitEthernet1/0/1

  Source security zone: Untrust

State: ICMP_REPLY

Application: ICMP

Rule ID: 0

Rule name: any

Start time: 2021-02-02 19:03:57  TTL: 25s

Initiator->Responder:            5 packets        420 bytes

Responder->Initiator:            5 packets        420 bytes

 

Initiator:

  Source      IP/port: 1.1.1.1/533

  Destination IP/port: 1.1.1.2/2048

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: InLoopBack0

  Source security zone: Local

Responder:

  Source      IP/port: 1.1.1.2/1

  Destination IP/port: 2.2.2.1/0

  DS-Lite tunnel peer: -

  VPN instance/VLAN ID/Inline ID: -/-/-

  Protocol: ICMP(1)

  Inbound interface: GigabitEthernet1/0/3

  Source security zone: Untrust

State: ICMP_REQUEST

Application: ICMP

Rule ID: 0

Rule name: any

Start time: 2021-01-29 07:53:30  TTL: 59s

Initiator->Responder:       123874 packets   15855872 bytes

Responder->Initiator:            0 packets          0 bytes

 

Total sessions found: 2

发现有一个建立连接很久的会话一直由1.1.1.1 到1.1.1.2,但是回包中,是由1.1.1.2 回到了3口2.2.2.1

从会话上来看,本地1.1到1.2一直有发包,但是一直没有回包

检查路由发现,有一条ip route-static 0.0.0.0 0 2.2.2.2 track 2 preference 2 路由,

由此断定,NQA HHHH在链路中断以后,本地HHHH的探测报文匹配路由表项外发,track 1 down以后,track 2让路由2.2.2.2生效

于是乎,NQA的1.1到1.2的探测报文要从3口发出,出3口以后,NAT实现转换,源地址转换成2.2.2.1访问1.1.1.2,但是由于网路不可达,外网无法回包。

NQA的1.1到1.2的探测报文在3口建立会话后,后续本地要发出的报文一直会匹配本会话,导致会话刷新,一直不会老化, 所以探测显示time out。

但是ping -a 1.1.1.1 1.1.1.2可以通的原因是,设备学到1.2的ARP是从1口学到的,ping报文是从1口发出。

解决方法

1、在1链路正常的情况下,清除3口的会话,让NQA HHHH的探测报文从1口建立发出;

2、为了避免1链路出现down以后,上面的现象复现,建议现场把NQA探测报文中source interface GigabitEthernet1/0/1 改成out interface GigabitEthernet1/0/1 ,让探测的报文只能从1口出去,出不去就显示链路不可达。

out interface命令用来指定探测报文的出接口。

undo out interface命令用来恢复缺省情况。

【命令】

out interface interface-type interface-number

undo out interface

【缺省情况】

未指定探测报文的出接口。

【视图】

ICMP-echo测试类型视图

DHCP测试类型视图

UDP-tracert测试类型视图

UDP-jitter测试类型视图

DNS/ICMP/TCP Half Open类型的NQA模板视图

【缺省用户角色】

network-admin

context-admin

【参数】

interface-type interface-number:探测报文出接口的接口类型和接口编号。

【使用指导】

该命令指定的接口必须处于UP状态,否则NQA探测过程将会失败。

对于TCP Half Open类型的NQA模板,该命令指定的接口不能为Dialer接口,否则NQA探测过程将会失败。

对于ICMP-echo测试类型和DNS/ICMP/TCP Half Open类型的NQA模板,如果配置next-hop命令,此配置不生效。

【举例】

# ICMP-echo测试类型下配置接口GigabitEthernet1/0/1作为ICMP-echo探测报文出接口。

<Sysname> system-view

[Sysname] nqa entry admin test

[Sysname-nqa-admin-test] type icmp-echo

[Sysname-nqa-admin-test-icmp-echo] out interface gigabitethernet 1/0/1