6.7. 在命名空间内执行高级 ICMP 测试 (ML2/OVS)

您可以使用 tcpdumpping 命令的组合对 Red Hat Openstack Platform (RHOSP) ML2/OVS 网络进行故障排除。

先决条件

  • RHOSP 部署,使用 ML2/OVS 作为网络服务(neutron)默认机制驱动程序。

流程

  1. 使用 tcpdump 命令捕获 ICMP 流量:

    示例

    # ip netns exec qrouter-62ed467e-abae-4ab4-87f4-13a9937fbd6b tcpdump -qnntpi any icmp

  2. 在一个单独的命令行窗口中,对外部网络执行 ping 测试:

    示例

    # ip netns exec qrouter-62ed467e-abae-4ab4-87f4-13a9937fbd6b ping www.example.com

  3. 在运行 tcpdump 会话的终端中,观察 ping 测试的详细结果。

    输出示例

    tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
    IP (tos 0xc0, ttl 64, id 55447, offset 0, flags [none], proto ICMP (1), length 88)
        172.24.4.228 > 172.24.4.228: ICMP host 192.168.200.20 unreachable, length 68
    	IP (tos 0x0, ttl 64, id 22976, offset 0, flags [DF], proto UDP (17), length 60)
        172.24.4.228.40278 > 192.168.200.21: [bad udp cksum 0xfa7b -> 0xe235!] UDP, length 32

注意

当您对流量执行 tcpdump 分析时,您会看到对路由器接口的响应数据包标题,而不是虚拟机实例。这是预期的行为,因为 qrouter 在返回数据包上执行目标网络地址转换 (DNAT)。