> 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/nas/nas-diagnostics.md).

# NAS 诊断指南

## 概述

NAS（网络附加存储）诊断工具在 VergeOS 中提供全面的文件共享和网络存储故障排查能力。这些诊断命令使系统管理员能够监控 NAS 性能、排查文件共享问题，并为 SMB/CIFS、NFS 及其他网络存储协议保持最佳的 NAS 服务健康状态。

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

* 如何访问和使用 NAS 诊断工具
* 了解每个诊断命令及其文件共享重点
* NAS 故障排查和维护的最佳实践
* 何时针对网络存储问题使用特定诊断命令
  {% endhint %}

## 先决条件

* 拥有 NAS 服务管理权限的 VergeOS 界面访问权限
* 对网络文件共享协议（SMB/CIFS、NFS）的基本了解
* 了解 VergeOS NAS 服务架构

{% hint style="info" %}
**NAS 服务上下文**

NAS 诊断针对单个 NAS 服务实例。每个 NAS 服务都有各自的诊断界面和命令。
{% endhint %}

## 访问 NAS 诊断

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

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

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

## 诊断命令参考

### ARP 扫描

**用途：** 使用 ARP 数据包发现 NAS 服务网络上的活动设备。

**何时使用：**

* 网络连接故障排查
* NAS 网络段上的客户端发现
* 网络拓扑验证

**参数：**

* **接口：** 要从中扫描的网络接口（例如 eth0）

**CLI 语法：**

```bash
nmap -sn [NETWORK_RANGE]
```

***

### ARP 表

**用途：** 显示 NAS 服务的 ARP 缓存，展示 IP 到 MAC 地址的映射。

**何时使用：**

* 客户端连接故障排查
* 网络邻居验证
* MAC 地址冲突解决

**CLI 语法：**

```bash
arp -a
```

***

### 日期/时间

**用途：** 显示 NAS 服务当前的系统日期和时间配置。

**何时使用：**

* 时间同步故障排查
* 日志时间戳验证
* 身份验证问题诊断（Kerberos、域加入）

**CLI 语法：**

```bash
date
timedatectl status
```

***

### DNS 查询

**用途：** 从 NAS 服务视角测试 DNS 解析。

**何时使用：**

* 域名解析故障排查
* Active Directory 连接问题
* 外部服务访问验证

**参数：**

* **主机名：** 要解析的目标主机名
* **DNS 服务器：** 要查询的特定 DNS 服务器

**CLI 语法：**

```bash
nslookup [HOSTNAME]
dig [HOSTNAME]
```

***

### 组

**用途：** 显示系统组和组成员信息。

**何时使用：**

* 用户访问故障排查
* 权限问题诊断
* 基于组的访问控制验证

**CLI 语法：**

```bash
getent group
groups [USERNAME]
```

***

### IP

**用途：** 用于网络接口和路由诊断的高级 IP 命令访问。

**何时使用：**

* 网络配置验证
* 路由表分析
* 接口故障排查

**参数：**

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

**CLI 语法：**

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

**常用命令：**

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

***

### 日志

**用途：** 显示 NAS 服务系统日志和事件。

**何时使用：**

* 服务故障排查
* 错误分析
* 性能问题调查
* 安全事件监控

**CLI 语法：**

```bash
journalctl -u [NAS_SERVICE]
tail -f /var/log/samba/log.*
```

***

### NFS

**用途：** 显示网络文件系统（NFS）服务状态和配置。

**何时使用：**

* NFS 服务故障排查
* 导出配置验证
* 客户端挂载问题诊断

**CLI 语法：**

```bash
exportfs -v
rpcinfo -p
showmount -e
```

***

### NTP 查询

**用途：** 查询网络时间协议（NTP）服务器和同步状态。

**何时使用：**

* 时间同步故障排查
* NTP 服务器连接测试
* 时钟漂移分析

**参数：**

* **NTP 服务器：** 要查询的目标 NTP 服务器

**CLI 语法：**

```bash
ntpq -p
chrony sources
```

***

### Ping

**用途：** 测试来自 NAS 服务的网络连接。

**何时使用：**

* 基本连接测试
* 网络延迟测量
* 客户端可达性验证

**参数：**

* **目标：** 目标 IP 地址或主机名
* **数量：** Ping 数据包数量

**CLI 语法：**

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

***

### Samba

**用途：** 显示 Samba/SMB 服务状态、配置和活动连接。

**何时使用：**

* SMB/CIFS 服务故障排查
* 共享访问问题
* 客户端连接分析
* 性能优化

**CLI 语法：**

```bash
smbstatus
testparm
smbclient -L localhost
```

***

### 服务

**用途：** 显示 NAS 系统上运行的所有服务状态。

**何时使用：**

* 服务可用性验证
* 依赖项故障排查
* 性能分析
* 服务启动问题

**CLI 语法：**

```bash
systemctl list-units --type=service
service --status-all
```

***

### TCP 连接测试

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

**何时使用：**

* 服务端口可访问性测试
* 防火墙规则验证
* 客户端-服务器通信故障排查

**参数：**

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

**CLI 语法：**

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

***

### TCP 抓包

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

**何时使用：**

* 深度数据包检查
* 协议故障排查
* 安全分析
* 性能诊断

**参数：**

* **接口：** 要监控的网络接口
* **过滤器：** Berkeley 数据包过滤表达式

**CLI 语法：**

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

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

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

***

### CPU 占用最高

**用途：** 显示 NAS 服务中消耗最多 CPU 资源的进程。

**何时使用：**

* 性能故障排查
* 资源利用分析
* 进程优化

**CLI 语法：**

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

***

### 网络占用最高

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

**何时使用：**

* 网络性能分析
* 带宽利用故障排查
* 连接监控

**CLI 语法：**

```bash
iftop
nethogs
ss -tuln
```

***

### 路由跟踪

**用途：** 跟踪从 NAS 服务到目标的网络路径。

**何时使用：**

* 网络路由故障排查
* 路径分析
* 连接问题诊断

**参数：**

* **目标：** 目标 IP 地址或主机名

**CLI 语法：**

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

***

### 用户

**用途：** 显示系统用户和用户账户信息。

**何时使用：**

* 用户访问故障排查
* 账户验证
* 权限问题诊断

**CLI 语法：**

```bash
getent passwd
who
w
```

***

### 我的 IP 是什么

**用途：** 显示 NAS 服务的外部 IP 地址。

**何时使用：**

* 外部连接验证
* NAT 配置故障排查
* 网络配置验证

**CLI 语法：**

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

***

### Winbind

**用途：** 显示用于 Active Directory 集成的 Winbind 服务状态。

**何时使用：**

* Active Directory 集成故障排查
* 域身份验证问题
* 用户/组解析问题

**CLI 语法：**

```bash
wbinfo -t
wbinfo -u
wbinfo -g
```

## 最佳实践

### NAS 健康监控工作流

1. **服务状态：** 检查服务和特定协议状态（Samba/NFS）
2. **网络连接：** 使用 Ping 和网络配置验证基本连接
3. **身份验证：** 测试用户、组和 Winbind（如适用）
4. **性能：** 监控 CPU 占用最高和网络占用最高情况
5. **日志：** 检查服务日志中的错误或警告

### 文件共享故障排查

* **SMB/CIFS 问题：** 使用 Samba 诊断检查共享和连接
* **NFS 问题：** 验证 NFS 服务状态和导出配置
* **权限问题：** 检查用户和组的正确访问权限
* **身份验证：** 在域加入环境中测试 Winbind

### 性能优化

* **资源监控：** 定期检查 CPU 和网络使用模式
* **连接分析：** 监控活动连接和客户端负载
* **网络调优：** 使用网络诊断优化性能
* **时间同步：** 确保为身份验证正确配置 NTP

## 常见 NAS 问题故障排查

### 连接问题

1. 从 **Ping** 开始以测试基本网络连接
2. 使用 **ARP 表** 和 **ARP 扫描** 用于网络发现问题
3. 检查 **IP** 接口问题的配置
4. 使用 **路由跟踪** 用于路由问题

### 文件共享问题

1. 检查 **Samba** 用于 SMB/CIFS 问题的状态
2. 验证 **NFS** 服务以排查与 NFS 相关的问题
3. 查看 **服务** 以了解服务可用性
4. 使用以下命令测试特定端口： **TCP 连接测试**

### 身份验证问题

1. 验证 **用户** 和 **组** 配置
2. 测试 **Winbind** 用于 Active Directory 集成
3. 检查 **DNS 查询** 用于域名解析
4. 验证 **日期/时间** 用于 Kerberos 身份验证

### 性能问题

1. 监控 **CPU 占用最高** 以了解资源限制
2. 检查 **网络占用最高** 以了解带宽利用率
3. 使用 **TCP 抓包** 用于详细流量分析
4. 查看 **日志** 用于性能相关错误

## 高级诊断

### 协议分析

* 使用 **TCP 抓包** 并使用针对 SMB 或 NFS 流量的特定过滤器
* 监控 **Samba** 用于 SMB 特定问题的连接
* 检查 **NFS** 导出和挂载状态

### 安全监控

* 查看 **日志** 用于安全事件和失败的访问尝试
* 监控 **用户** 和 **组** 用于未授权更改
* 使用 **TCP 抓包** 在需要时用于安全分析

### 网络优化

* 分析 **网络占用最高** 模式以进行优化
* 使用 **IP** 用于高级网络调优的命令
* 监控 **ARP 表** 以提高网络效率

## 集成注意事项

### Active Directory 集成

* 使用 **Winbind** 用于域故障排查的诊断
* 验证 **DNS 查询** 用于正确的域解析
* 检查 **日期/时间** 与域控制器同步

### 多协议支持

* 平衡 **Samba** 和 **NFS** 服务性能
* 监控特定协议的使用模式
* 为多协议优化网络配置

## 后续步骤

在掌握 NAS 诊断后，可考虑探索：

* 高级文件共享协议优化
* 与外部身份验证系统集成
* NAS 服务的自动化监控和告警
* 高可用环境的性能调优

如需复杂的 NAS 问题或性能优化指导，请联系 [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/nas/nas-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.
