• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

中低端防火墙点到多点GRE over IPsec模式下Tunnel口无法ping通对端问题

  • 0关注
  • 0收藏 466浏览
粉丝:35人 关注:3人

组网及说明

点到多点GRE over IPsec,类似于下面。总部对接多个分支:


告警信息

不涉及


问题描述

现场分支需求如下:

分支防火墙DNS解析的流量需要走GRE over IPsec隧道到总部防火墙处DNS服务器解析,但是域名解析均是失败的。


进一步测试发现Tunnel口互ping均不通。

 


过程分析

针对此类问题,先看两边是否有对应的IPsec SA和IKE SA。现场均是存在的。如果隧道成功建立的话问题排查相对简单。

分支ping总部的情况下,分支会话有发无收,总部会话收发正常;总部ping分支的话,总部会话有发无收,分支会话无。

 

基于以上简单的小测试,怀疑问题可能出现在总部,可能是总部没有将封装后的ESP报文发送出去。

于是两边一起抓包对比,需要注意的是,GRE over IPsec的场景下,Tunnel口互ping的流量经过封装后,源目地址变为两边的IPsec网关地址。因此抓包的acl需要书写正确。此外,经过IPsec封装后,ESP报文是加密的并非明文显示,需要我们在ping的时候固定ICMP报文的字节大小与数量,方便在海量的ESP报文里定位到我们需要的报文。

 

测试条件为:分支ping总部,ping 1000字节,5个报文。

分支侧抓包并过滤如下:

 

看起来并不好查看那个是ICMP报文封装后的ESP报文,本地发出TTL一般是255,封装后字节大小加上100多也差不多,于是锁定ip.length == 1104并进行过滤如下:


可以看出,分支(文件名fenzhi.pcap)发出5个ESP报文,总部(文件名zongbu.pcap)收到5个。因此问题确认出现在总部没有回应。

于是对总部的内层流量debug分析,可以参考案例:某局点IPsec中心模板方式运行中故障典型分析

 

debug没有发现丢包,且报文已经送往Tunnel口:

[20240220_16:50:38]*Feb 20 16:50:30:620 2024 BJ-ZY-A3-2F-FW-01&02 IPFW/7/IPFW_PACKET: -COntext=1-Slot=1; 

[20240220_16:50:38]Sending, interface = Tunnel0

[20240220_16:50:38]version = 4, headlen = 20, tos = 0

[20240220_16:50:38]pktlen = 84, pktid = 31405, offset = 0, ttl = 255, protocol = 1

[20240220_16:50:38]checksum = 30029, s = 10.3.91.214, d = 10.3.91.210

[20240220_16:50:38]channelID = 0, vpn-InstanceIn = 0, vpn-InstanceOut = 0.

[20240220_16:50:38]VsysID = 1

[20240220_16:50:38]prompt: Sending IP packet from local at interface Tunnel0.

[20240220_16:50:38]Payload: ICMP

[20240220_16:50:38]  type = 0, code = 0, checksum = 0x9967.

 

排查到这,问题陷入僵局。总部为何没有封装报文并发出呢?

和现场了解到其他分支也存在同样情况,一线展示了下分支带接口地址可以ping通总部。感觉还是和现场配置有关。

 


解决方法

后续查看总部配置发现GRE P2MP隧道的映射表项只有对应接口网段,不包含dns服务器以及Tunnel口映射的表项。

添加DNS服务器地址到映射表项后,问题解决。

对应命令:

map命令用来配置GRE P2MP隧道的映射表项。

undo map命令用来删除GRE P2MP隧道的映射表项。

【命令】

map [ vpn-instance vpn-instance-name ] branch-network-address branch-network-address { mask | mask-length } tunnel-destination tunnel-dest-address [ checksum-fill checksum-value ]

undo map [ vpn-instance vpn-instance-name ] branch-network-address branch-network-address { mask | mask-length } tunnel-destination tunnel-dest-address ]

【缺省情况】

未配置GRE P2MP隧道的映射表项。

【视图】

GRE P2MP隧道模板视图

【缺省用户角色】

network-admin

mdc-admin

【参数】

vpn-instance vpn-instance-name:分支网络所属的VPN实例。vpn-instance-name表示MPLS L3VPNVPN实例名称,为131个字符的字符串,区分大小写。如果未指定本参数,则表示该分支网络属于公网。

branch-network-address branch-network-address:分支网络的IPv4地址。

mask:分支内网络IPv4地址的掩码,为点分十进制格式。

mask-length:分支内网IPv4地址的掩码长度,取值范围为032

tunnel-destination tunnel-dest-addressGRE P2MP隧道的目的IPv4地址。

checksum-fill checksum-value:填充的IPv4地址,为点分十进制格式。当指定本参数时,在GRE头中的checksum字段中携带该值,如果未指定本参数,则不对GRE头中的checksum字段进行填充。

【使用指导】

非缺省vSystem不支持本命令。

一个GRE P2MP隧道模板视图下可以配置多个GRE P2MP隧道的映射表项,每个表项定义了一个分支网络地址及其所属的VPN与所属隧道目的地址的对应关系,该对应关系是唯一的,即同一个分支网络地址不能对应不同的隧道目的地址。

如果分支网络地址为私网地址,则需要指定私网地址所属的VPN

在某些特殊应用场景,分支网络中存在虚拟机,并且虚拟机下挂多个用户,为保证数据报文能够发送到用户,需要通过配置的checksum-fill参数填充IPv4地址至checksum字段中,当分支网络接收到GRE报文后,会再根据checksum字段中的IPv4地址将数据报文转发到指定的虚拟主机上。因此,请结合实际组网要求准确使用checksum-fill参数,不当使用会导致GRE报文校验失败。

【举例】

GRE P2MP隧道模板aa视图下,配置一条映射表项,分支网络地址为192.168.0.11,掩码长度为32,隧道目的地址为10.108.113.71,填充的IPv4地址为192.168.20.1

<Sysname> system-view

[Sysname] gre p2mp-template aa

[Sysname-p2mp-template-aa] map branch-network-address 192.168.0.11 32 tunnel-destination 10.108.113.71 checksum-fill 192.168.20.1

【相关命令】

·              gre p2mp-template(system view)

 


该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作