目录

简介

先决条件

要求

使用的组件

背景信息

有用的工具

如何在IOS XE路由器上配置捕获

使用数据包捕获分析隧道建立

NAT处于中间状态时的事务处理

常见控制平面问题

配置不匹配

重新传输

简介

本文档介绍在协商Cisco IOS® XE路由器上的站点到站点VPN时，数据包捕获、其他工具如何帮助解决控制平面问题。

先决条件

要求

Cisco 建议您了解以下主题：

- Cisco IOS® CLI配置的基本知识。

- IKEv2和IPsec的基础知识。

使用的组件

本文档中的信息基于以下软件版本：

- CSR1000V — 运行版本16.12.0的Cisco IOS XE软件。

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

数据包捕获是一个强大的工具，可帮助您验证数据包是否在VPN对等设备之间发送/接收。它们还确认IPsec调试中看到的行为是否与捕获上收集的输出一致，因为调试是一种逻辑解释，而捕获表示对等体之间的物理交互。因此，您可以确认或丢弃连接问题。

有用的工具

有一些有用的工具可帮助您配置捕获、提取输出并进一步分析输出。其中包括：

- Wireshark：这是一款广为人知且使用的开源数据包分析器。

- 监控器捕获：路由器上的Cisco IOS XE功能，可帮助您收集捕获，并提供流量外观、收集的协议及其时间戳的简单输出。

如何在IOS XE路由器上配置捕获

捕获使用扩展访问列表(ACL)，定义要收集的流量类型以及VPN对等体或相关流量段的源地址和目标地址。如果沿路径启用NAT-T，则隧道协商使用UDP端口500和端口4500。一旦协商完成并建立了隧道，如果启用NAT-T，相关流量将使用IP协议50(ESP)或UDP 4500。

为了排除与控制平面相关的问题，必须使用VPN对等体IP地址捕获如何协商隧道。

config terminal

ip access-list extended <ACL name>

permit udp host <local address> host <peer address>

permit udp host <peer address> host <source address>

exit

exit

配置的ACL用于缩小捕获的流量，并放置在用于协商隧道的接口上。

monitor capture <capture name> access-list <ACL name> buffer size <custom buffer size in MB> interface <source interface of teh router> both

配置捕获后，可以通过操作将其停止、清除或提取使用以下命令收集的流量：

- 检查常规捕获信息：show monitor capture

- 开始/停止捕获：监控捕获上限开始/停止

- 验证捕获正在收集数据包：show monitor capture cap buffer

- 请参阅流量的简要输出:show monitor capture cap buffer brief

- 清除捕获：monitor capture cap clear

- 提取捕获输出：

- monitor cap cap buff dump

- monitor capture cap export bootflash:capture.pcap

使用数据包捕获分析隧道建立

如前所述，要协商IPSec隧道，如果启用了NAT-T，数据包将通过UDP与端口500和端口4500发送。通过捕获，可以看到来自这些数据包的更多信息，例如正在协商的阶段（阶段1或阶段2）、每个设备的角色（发起方或响应方），或者刚刚创建的SPI值。

显示路由器捕获的简要输出，可以看到对等体之间的交互，发送UDP数据包。

提取转储并从路由器导出pcap文件后，可以使用wireshark查看数据包的更多信息。

在发送的第一个IKE_SA_INIT Exchange数据包的Internet Protocol部分上，找到UDP数据包的源地址和目的地址。在用户数据报协议(User Datagram Protocol)部分中，显示使用的端口、互联网安全关联和密钥管理协议(Internet Security Association and Key Management Protocol)部分显示协议的版本、所交换的消息类型、设备的角色以及创建的SPI。收集IKEv2调试时，调试日志中会显示相同的信息。

发生IKE_AUTH交换协商时，会加密负载，但可以看到一些有关协商的信息，例如以前创建的SPI和正在进行的事务类型。

收到最后一个IKE_AUTH Exchange数据包后，隧道协商完成。

NAT处于中间状态时的事务处理

Nat-transversal是进行隧道协商时可以看到的另一项功能。如果中间设备选择用于隧道的一个或两个地址，则在协商第2阶段（IKE_AUTH交换）时，设备会将UDP端口从500更改为4500。

捕获在A侧：

捕获在B侧：

常见控制平面问题

可能会有影响隧道协商的本地或外部因素，也可以通过捕获进行识别。以下场景最为常见。

配置不匹配

此场景可以通过查看每个设备阶段1和阶段2配置来解决。但是，可能会出现无法访问远程端的情况。通过确定第1阶段或第2阶段数据包中发送了NO_PROPOSAL_CHOSEN的设备，捕获帮助。该响应表示配置可能存在问题，需要调整哪个阶段。

重新传输

IPSec隧道协商可能会失败，因为协商数据包在终端设备之间的路径上被丢弃。丢弃的数据包可以是第1阶段或第2阶段数据包。在这种情况下，预期收到响应数据包的设备将重新传输最后一个数据包，如果尝试了5次后没有响应，则隧道会结束并从开始处重新启动。

通过识别可能阻止流量的内容以及流量受影响的方向，在隧道每一端进行捕获会有所帮助。