6.7. 在命名空间中执行高级 ICMP 测试(ML2/OVS)
您可以使用 tcpdump
和 ping
命令的组合对 Red Hat Openstack Platform (RHOSP) ML2/OVS 网络进行故障排除。
先决条件
- RHOSP 部署,使用 ML2/OVS 作为网络服务(neutron)默认机制驱动程序。
流程
使用
tcpdump
命令捕获 ICMP 流量:示例
# ip netns exec qrouter-62ed467e-abae-4ab4-87f4-13a9937fbd6b tcpdump -qnntpi any icmp
在一个单独的命令行窗口中,对外部网络执行 ping 测试:
示例
# ip netns exec qrouter-62ed467e-abae-4ab4-87f4-13a9937fbd6b ping www.example.com
在运行 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)。