如何在 ESXi 8.0 中使用命令行检查当前的路由表?

问题浏览数Icon
22
问题创建时间Icon
2025-02-28 16:36:00
回答 | 共 4 个
作者头像
smalljohn99
  1. 登录ESXi主机命令行界面

    • 通过SSH客户端(如PuTTY)或ESXi控制台直接访问主机。
    • 若SSH未启用,需在ESXi UI的"管理"→"服务"中启动"SSH"服务。
  2. 使用esxcli命令查看路由表

    esxcli network ip route ipv4 list

    输出解析

    • Network:目标网络地址。
    • Gateway:下一跳网关IP。
    • Interface:使用的网络接口(如vmk0)。
  3. 或使用netstat命令

    netstat -rn

    输出解析

    • Destination:目标网段。
    • Gateway:网关地址。
    • Flags:路由状态(如U=可用,G=网关)。
    • Interface:绑定接口。
  4. 安全建议

    • 检查完成后,通过UI或命令service.shutdown关闭SSH服务(若临时启用)。
作者头像
liuxing88

在ESXi 8.0中,可通过以下步骤检查路由表:

  1. SSH或控制台登录ESXi主机,进入命令行界面。
  2. 执行 esxcli network ip route ipv4 list,显示IPv4静态路由配置。
  3. 或使用 netstat -rn 查看内核路由表(含动态路由)。 注:若需IPv6路由,替换命令中的ipv4ipv6。建议优先使用esxcli工具,其为VMware原生管理接口,输出更贴合ESXi逻辑架构。
作者头像
snowedge66

在 ESXi 8.0 中,可通过以下命令行步骤检查路由表:

  1. 使用 SSH 或直接控制台登录 ESXi 主机。
  2. 执行命令 esxcli network ip route ipv4 list 查看 IPv4 路由表。
  3. 或使用传统命令 esxcfg-route -l(部分环境仍兼容),输出包含目标网络、网关及接口信息。 建议优先使用 esxcli 命令,其为 VMware 官方推荐的管理工具,支持更细粒度的路由操作和状态查询。
作者头像
swanjune77

在 ESXi 8.0 中检查路由表的命令行实践与挑战

  1. 核心命令:

    • esxcli network ip route ipv4 list 直接输出IPv4路由表,格式简洁,包含目标网络、网关、接口和优先级
    • vsish -e cat /net/tcpip/route 展示底层路由缓存,包含更详细的Flags字段(如U=可达,G=网关)
  2. 实战经验:

    • 曾遇vSwitch绑定错误导致默认路由丢失,通过比对vmk0接口的网关与路由表确认问题
    • 在多默认网关场景中,使用esxcfg-route -l(兼容旧版本)验证路由优先级,避免管理流量分流
    • NSX-T环境需注意分布式路由与本地路由表差异,需结合get-vmhostrouting验证
  3. 典型挑战:

    • 动态路由协议(如BGP)配置时,需确保esxcli software vib list | grep bgp验证模块加载
    • VSAN多网卡场景易产生等价多路径路由,需通过跃点数(Metric)判断实际选用路径
    • 防火墙规则拦截ICMP时,需配合vmkping + 路由表分析连通性问题
  4. 调试技巧:

    • 使用net-dvs -l排查vSwitch绑定关系与路由接口对应性
    • 通过esxcli network ip interface list验证接口IP与网关配置
    • 路由更新后建议执行esxcli network ip route flush强制刷新缓存