本节简要说明了通常用于排除 NSX 路由故障的 CLI 命令。

NSX Manager

从 NSX 6.2 开始,以前从 NSX Controller 和其他 NSX 组件中运行以解决 NSX 路由问题的命令现在从 NSX Manager 中直接运行。
  • DLR 实例列表
  • 每个 DLR 实例的 LIF 列表
  • 每个 DLR 实例的路由列表
  • 每个 DLR 桥接实例的 MAC 地址列表
  • 接口
  • 路由和转发表
  • 动态路由协议(OSPF 或 BGP)状态
  • NSX Manager 发送到 DLR 控制虚拟机或 ESG 的配置

DLR 控制虚拟机和 ESG

DLR 控制虚拟机和 ESG 提供在其接口上捕获数据包的功能。数据包捕获可以帮助解决路由协议问题。
  1. 运行 show interfaces 以列出接口名称。
  2. 运行 debug packet [ display | capture ] interface <interface name>
    • 如果使用捕获,数据包将保存在 .pcap 文件中。
  3. 运行 debug show files 以列出保存的捕获文件。
  4. 运行 debug copy [ scp | ftp ] ... 以下载捕获包进行脱机分析。
dlr-01-0> debug packet capture interface vNic_2
tcpdump: listening on vNic_2, link-type EN10MB (Ethernet), capture size 65535 bytes
43 packets captured
48 packets received by filter
0 packets dropped by kernel
dlr-01-0> debug show files
total 4.0K
-rw------- 1 3.6K Mar 30 23:49 tcpdump_vNic_2.0
dlr-01-0> debug copy
  scp  use scp to copy
  ftp  use ftp to copy
dlr-01-0> debug copy scp
  URL  user@<remote-host>:<path-to>

debug packet 命令在后台使用 tcpdump 并且可以接受筛选修饰符,这些修饰符的格式类似于 UNIX 上的 tcpdump 筛选修饰符。唯一需要注意的是,将筛选表达式中的任何空格替换为下划线(“_”)。

例如,以下命令显示通过 vNic_0 的所有流量(SSH 除外),以避免查看属于交互式会话本身的流量。

plr-02-0> debug packet display interface vNic_0 port_not_22
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vNic_0, link-type EN10MB (Ethernet), capture size 65535 bytes
04:10:48.197768 IP 192.168.101.3.179 > 192.168.101.2.25698: Flags [P.], seq 4191398894:4191398913, ack 2824012766, win 913, length 19: BGP, length: 19
04:10:48.199230 IP 192.168.101.2.25698 > 192.168.101.3.179: Flags [.], ack 19, win 2623, length 0
04:10:48.299804 IP 192.168.101.2.25698 > 192.168.101.3.179: Flags [P.], seq 1:20, ack 19, win 2623, length 19: BGP, length: 19
04:10:48.299849 IP 192.168.101.3.179 > 192.168.101.2.25698: Flags [.], ack 20, win 913, length 0
04:10:49.205347 IP 192.168.101.3.179 > 192.168.101.2.25698: Flags [P.], seq 19:38, ack 20, win 913, length 19: BGP, length: 19

ESXi 主机

主机与 NSX 路由密切相关。与解决 NSX 路由问题有关的主机组件 直观地显示了路由子系统涉及的组件以及用于显示相关信息的 NSX Manager CLI 命令:

图 1. 与解决 NSX 路由问题有关的主机组件

在数据路径中捕获的数据包可以帮助找出在数据包转发的各个阶段出现的问题。捕获点和相关的 CLI 命令 涵盖了主要捕获点和使用的相应 CLI 命令。

图 2. 捕获点和相关的 CLI 命令