第 6 章 网络故障排除

在 Red Hat OpenStack Platform 中对网络连接进行故障排除的诊断过程与物理网络的诊断过程类似。如果使用 VLAN,您可以将虚拟基础架构视为物理网络的中继扩展,而不是完全独立的环境。ML2/OVS 网络和默认 ML2/OVN 网络进行故障排除之间有一些区别。

6.1. 基本 ping 测试

ping 命令是分析网络连接问题的有用工具。结果将充当网络连接的基本指示,但可能并不完全排除所有连接问题,如防火墙阻止实际应用流量。ping 命令向特定的目的地发送流量,然后报回尝试是否成功。

注意

ping 命令是 ICMP 操作。要使用 ping,您必须允许 ICMP 流量遍历任何中间防火墙。

在遇到网络问题时,ping 测试最有用,因此如果计算机看上去完全离线,可能需要通过 VNC 管理控制台连接到命令行。

例如,以下 ping test 命令会验证网络基础架构的多个层,以便成功 ; 名称解析、IP 路由和网络切换必须正常工作:

$ ping www.example.com

PING e1890.b.akamaiedge.net (125.56.247.214) 56(84) bytes of data.
64 bytes from a125-56.247-214.deploy.akamaitechnologies.com (125.56.247.214): icmp_seq=1 ttl=54 time=13.4 ms
64 bytes from a125-56.247-214.deploy.akamaitechnologies.com (125.56.247.214): icmp_seq=2 ttl=54 time=13.5 ms
64 bytes from a125-56.247-214.deploy.akamaitechnologies.com (125.56.247.214): icmp_seq=3 ttl=54 time=13.4 ms
^C

您可以使用 Ctrl-c 终止 ping 命令,之后显示结果的摘要。零百分比数据包丢失表示连接稳定且没有超时。

--- e1890.b.akamaiedge.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 13.461/13.498/13.541/0.100 ms

ping 测试的结果可能非常公开,具体取决于您测试的目的地。例如,在以下示意图中 VM1 遇到某种形式的连接问题。可能的目的地以蓝色数字表示,显示来自成功或失败结果的 conclusions:

示例网络
  1. 互联网 - 常见第一步是将 ping 测试发送到互联网,如 www.example.com。

    • 成功 :该测试表示计算机与互联网之间的所有不同网络点都可以正常工作。这包括虚拟和物理网络基础架构。
    • 失败 :对远程互联网位置的 ping 测试有不同方法。如果您的网络中的其他机器能够成功 ping 互联网,证明了互联网连接正常工作,且问题可能是本地计算机的配置。
  2. 物理路由器 - 这是网络管理员指定的路由器接口,用于将流量定向到外部目的地。

    • 成功 : Ping 对物理路由器的测试可以确定本地网络和底层交换机是否正常运行。这些数据包不会遍历路由器,因此它们不会证明默认网关上是否存在路由问题。
    • 失败 :这表示 VM1 和默认网关之间问题。路由器/交换机可能是停机,也可能使用不正确的默认网关。将配置与您了解的另一个服务器中的配置进行比较。尝试 ping 本地网络中的其他服务器。
  3. Neutron 路由器 - 这是 Red Hat OpenStack Platform 用来指示虚拟机流量的虚拟 SDN (软件定义网络)路由器。

    • 成功 :防火墙允许 ICMP 流量,网络节点在线。
    • 失败 :确认实例的安全组中是否允许 ICMP 流量。检查 Networking 节点是否在线,确认所有必需的服务都在运行,并查看 L3 代理日志(/var/log/neutron/l3-agent.log)。
  4. 物理交换机 - 物理交换机管理同一物理网络中的节点之间的流量。

    • 成功 :虚拟机向物理交换机发送的流量必须通过虚拟网络基础架构,这代表这个片段可以正常工作。
    • 失败 :检查物理交换机端口是否已配置为中继所需的 VLAN。
  5. VM2 - 在同一个 Compute 节点上尝试 ping 同一子网上的虚拟机。

    • 成功: VM1 上的 NIC 驱动程序和基本 IP 配置可以正常工作。
    • 失败 :验证 VM1 上的网络配置。或者,VM2 上的防火墙可能只是阻止 ping 流量。另外,验证虚拟交换配置并查看 Open vSwitch 日志文件。