> For the complete documentation index, see [llms.txt](https://docs.verge.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.verge.io/run-the-platform/zh/wang-luo/network-diagnostics.md).

# 网络诊断指南

## 概述

网络诊断工具在 VergeOS 中提供全面的网络故障排查能力。这些诊断命令使系统管理员能够在 VergeOS 界面内执行实时网络分析、排查连接问题并监控网络性能。

{% hint style="info" %}
**你将学到什么**

* 如何访问和使用网络诊断工具
* 了解每个诊断命令及其用途
* VergeOS 中网络故障排查的最佳实践
* 何时使用特定诊断命令
  {% endhint %}

## 前提条件

* 访问 VergeOS 界面
* 网络管理员权限
* 对网络概念的基本理解

{% hint style="info" %}
**租户网络**

租户可访问其自己的、面向租户特定网络的网络诊断工具。这些工具在租户的网络范围内运行。
{% endhint %}

## 访问网络诊断

1. **导航到网络诊断：**
   * 导航到 **网络** > **列表** 从顶部菜单。
   * 选择所需的 **网络** 从列表中
   * 单击 **诊断** 在左侧菜单中
2. **使用诊断命令：**
   * 从 **查询** 下拉菜单中选择所需命令
   * 在右侧配置可用参数
   * 单击 **发送 →** 以执行该命令

{% hint style="success" %}
**命令可见性**

启用 **“显示命令”** 以查看正在执行的确切命令，这对于 SSH 执行或脚本自动化很有用。
{% endhint %}

## 诊断命令参考

### ARP 扫描

**用途：** 使用 ARP（地址解析协议）数据包发现本地网络上的活动设备。

**何时使用：**

* 网络分段上的设备发现
* 验证网络连接
* 识别未经授权的设备

**参数：**

* 目标 IP 范围（根据网络配置自动填充）

**CLI 语法：**

```bash
nmap -sn [IP_RANGE]
```

{% hint style="warning" %}
**网络影响**

ARP 扫描可能会影响网络性能。在生产环境中请谨慎使用。
{% endhint %}

***

### ARP 表

**用途：** 显示当前的 ARP 缓存，其中包含 IP 到 MAC 地址的映射。

**何时使用：**

* 排查连接问题
* 验证设备 MAC 地址
* 检查 ARP 冲突

**CLI 语法：**

```bash
arp -a
```

***

### DHCP 释放/续租

**用途：** 强制为配置为 DHCP 客户端的网络释放并更新 DHCP 租约。

**何时使用：**

* 在网络重新配置后
* 解决 IP 地址问题
* 在断电或网络中断后
* 需要刷新 IP 的边缘部署

**CLI 语法：**

```bash
dhclient -r && dhclient
```

{% hint style="info" %}
**仅限 DHCP 客户端网络**

此命令仅适用于配置为通过 DHCP 接收 IP 地址的网络。
{% endhint %}

***

### DNS 查询

**用途：** 测试 DNS 解析功能并查询特定主机名。

**何时使用：**

* 排查名称解析问题
* 验证 DNS 服务器配置
* 测试外部连接

**参数：**

* **主机名：** 要解析的目标主机名
* **查询类型：** A、AAAA、MX、NS、PTR 等

**CLI 语法：**

```bash
nslookup [HOSTNAME] [DNS_SERVER]
dig [HOSTNAME] [QUERY_TYPE]
```

***

### FRRouting BGP/OSPF

**用途：** 显示使用动态路由的网络的路由协议信息。

**何时使用：**

* 排查路由问题
* 验证 BGP/OSPF 邻居关系
* 监控路由通告

**CLI 语法：**

```bash
vtysh -c "show ip bgp"
vtysh -c "show ip ospf neighbor"
```

{% hint style="info" %}
**高级路由**

此命令主要用于具有复杂路由需求的环境。
{% endhint %}

***

### IP

**用途：** 提供对 Linux IP 命令的访问，用于高级接口和路由故障排查。

**何时使用：**

* 高级网络接口诊断
* 路由表分析
* 低级别网络配置验证

**参数：**

* **命令：** 各种 IP 命令选项（route、addr、link 等）

**CLI 语法：**

```bash
ip [COMMAND] [OPTIONS]
```

**常用命令：**

* `ip route show` - 显示路由表
* `ip addr show` - 显示接口地址
* `ip link show` - 显示网络接口

***

### IPsec

**用途：** 控制并监控 IPsec VPN 连接和 IKE 守护进程。

**何时使用：**

* 排查 VPN 连接问题
* 监控 IPsec 隧道状态
* 验证加密参数

**CLI 语法：**

```bash
ipsec [COMMAND]
```

***

### 日志

**用途：** 显示网络容器的系统日志。

**何时使用：**

* 排查网络服务问题
* 查看错误消息
* 监控网络事件

**CLI 语法：**

```bash
journalctl -u [SERVICE_NAME]
```

***

### NMAP（网络映射器）

**用途：** 用于绘制网络拓扑的网络发现和安全审计工具。

**何时使用：**

* 网络侦察
* 端口扫描
* 服务发现
* 安全评估

**参数：**

* **目标：** 要扫描的 IP 地址或范围
* **选项：** 各种 NMAP 扫描选项

**CLI 语法：**

```bash
nmap [OPTIONS] [TARGET]
```

{% hint style="warning" %}
**安全注意事项**

请负责任地使用 NMAP，并且仅在您拥有或获准扫描的网络上使用。
{% endhint %}

***

### Ping

**用途：** 使用 ICMP 回显请求测试网络连接。

**何时使用：**

* 基本连接测试
* 测量往返时间
* 验证网络路径可用性

**参数：**

* **目标：** 目标 IP 地址或主机名
* **数量：** 要发送的 ping 数据包数量
* **间隔：** 数据包之间的时间

**CLI 语法：**

```bash
ping -c [COUNT] [DESTINATION]
```

***

### 显示防火墙规则

**用途：** 显示底层 NFT 格式的防火墙规则。

**何时使用：**

* 高级防火墙故障排查
* 验证规则转换
* 调试复杂的防火墙配置

**CLI 语法：**

```bash
nft list ruleset
```

{% hint style="info" %}
**UI 替代方式**

大多数防火墙配置都可以通过 VergeOS Rules 界面查看。此命令用于高级故障排查。
{% endhint %}

***

### TCP 连接测试

**用途：** 测试到远程主机特定端口的 TCP 连通性。

**何时使用：**

* 验证服务可用性
* 测试防火墙规则
* 排查应用连接问题

**参数：**

* **主机：** 目标主机名或 IP 地址
* **端口：** 要测试的 TCP 端口号

**CLI 语法：**

```bash
telnet [HOST] [PORT]
nc -zv [HOST] [PORT]
```

***

### TCP 抓包

**用途：** 捕获并分析网络数据包流量。

**何时使用：**

* 深度数据包检查
* 协议分析
* 安全事件调查
* 性能故障排查

**参数：**

* **接口：** 要监控的网络接口
* **过滤器：** 伯克利数据包过滤器（BPF）表达式
* **数量：** 要捕获的数据包数量

**CLI 语法：**

```bash
tcpdump -i [INTERFACE] [FILTER]
```

{% hint style="danger" %}
**性能影响**

数据包捕获可能会影响网络性能。在生产环境中请审慎使用。
{% endhint %}

***

### CPU 占用最高

**用途：** 显示网络容器中占用 CPU 资源最多的进程。

**何时使用：**

* 性能故障排查
* 识别资源密集型进程
* 系统监控

**CLI 语法：**

```bash
top -o %CPU
```

***

### 网络占用最高

**用途：** 显示网络利用率最高的进程。

**何时使用：**

* 识别带宽占用较大的应用
* 网络性能分析
* 排查网络拥塞

**CLI 语法：**

```bash
iftop
nethogs
```

***

### 路由跟踪

**用途：** 跟踪数据包到达目标所经过的网络路径。

**何时使用：**

* 识别路由问题
* 排查数据包丢失
* 网络路径分析
* 延迟故障排查

**参数：**

* **目标：** 目标 IP 地址或主机名
* **最大跳数：** 要跟踪的最大跳数

**CLI 语法：**

```bash
traceroute [DESTINATION]
mtr [DESTINATION]
```

***

### 跟踪/调试防火墙规则

**用途：** 启用防火墙规则处理的详细日志和跟踪。

**何时使用：**

* 调试防火墙规则行为
* 排查数据包过滤问题
* 安全策略验证

**CLI 语法：**

```bash
nft add rule [TABLE] [CHAIN] log prefix "DEBUG: "
```

{% hint style="warning" %}
**日志量**

防火墙调试可能会产生大量日志数据。仅在必要时启用，并在故障排查后禁用。
{% endhint %}

***

### 我的 IP 是什么

**用途：** 显示互联网服务所看到的网络外部 IP 地址。

**何时使用：**

* 验证 NAT 配置
* 确认外部连接
* 排查外部访问问题

**CLI 语法：**

```bash
curl ifconfig.me
curl ipinfo.io/ip
```

## 最佳实践

### 一般准则

* **从简单开始：** 在使用高级诊断之前，先从 ping 和 DNS 查询等基础工具开始
* **记录结果：** 保留诊断输出记录以便比较和分析
* **考虑影响：** 某些诊断工具可能会影响网络性能
* **使用适当范围：** 选择正确的网络上下文进行故障排查

### 故障排查工作流

1. **识别问题：** 清楚地定义哪些内容无法正常工作
2. **检查基本连接：** 使用 ping 验证基本网络连接
3. **验证 DNS 解析：** 使用 DNS 查询测试名称解析
4. **分析网络路径：** 使用 traceroute 识别路由问题
5. **深入分析：** 使用 TCP dump 等高级工具进行详细分析

### 安全注意事项

* **限制访问：** 确保只有授权人员才能访问诊断工具
* **监控使用情况：** 跟踪诊断命令的使用情况以用于安全审计
* **保护捕获的数据：** 安全处理任何数据包捕获或网络转储
* **遵循策略：** 使用诊断工具时遵守组织的安全策略

## 常见问题故障排除

### 连接问题

1. 从 **Ping** 用于测试基本连接
2. 使用 **Traceroute** 用于识别数据包在哪儿被丢弃
3. 检查 **ARP 表** 用于 MAC 地址解析问题

### DNS 问题

1. 使用 **DNS 查询** 用于测试名称解析
2. 尝试不同的 DNS 服务器或查询类型
3. 检查网络的 DNS 配置

### 性能问题

1. 使用 **网络占用最高** 用于识别带宽占用者
2. 使用 **TCP 抓包** 用于详细流量分析
3. 检查 **CPU 占用最高** 以了解资源限制

### 防火墙问题

1. 查看 **显示防火墙规则** 用于规则配置
2. 使用 **跟踪/调试防火墙规则** 用于详细的规则处理
3. 使用以下工具测试特定连接： **TCP 连接测试**

## 下一步

在掌握网络诊断后，可以考虑探索：

* 高级防火墙配置和故障排查
* 网络性能优化技术
* 与外部监控工具集成
* 自动化诊断脚本

如需更多网络故障排查帮助，请联系 [VergeOS 支持](/overview/zh/support-and-services.md) 并提供您的诊断结果和具体问题详情。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.verge.io/run-the-platform/zh/wang-luo/network-diagnostics.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
