155 lines
3.9 KiB
Markdown
155 lines
3.9 KiB
Markdown
# PVE单向访问问题诊断报告
|
||
|
||
## 执行时间
|
||
2025年10月8日 10:29 UTC
|
||
|
||
## 问题描述
|
||
- **现象**: xgp和nuc12无法访问pve的web界面
|
||
- **矛盾**: pve可以访问其他两个节点的LXC容器
|
||
- **错误**: 595 "no route to host"
|
||
|
||
## 诊断结果
|
||
|
||
### ✅ 网络层面完全正常
|
||
1. **DNS解析**: ✅ 正常
|
||
- pve → pve.tailnet-68f9.ts.net → 100.71.59.40
|
||
|
||
2. **网络连通性**: ✅ 正常
|
||
- 所有节点间ping测试成功
|
||
- Traceroute显示直接连接
|
||
|
||
3. **端口监听**: ✅ 正常
|
||
- 所有节点都在监听8006端口
|
||
- 绑定地址: *:8006 (所有接口)
|
||
|
||
4. **HTTP访问**: ✅ 正常
|
||
- curl测试返回HTTP 200状态码
|
||
- 可以正常获取HTML内容
|
||
|
||
### ✅ 服务层面完全正常
|
||
1. **PVE服务**: ✅ 所有服务运行正常
|
||
- pveproxy: active
|
||
- pvedaemon: active
|
||
- pve-cluster: active
|
||
- pve-firewall: active
|
||
|
||
2. **防火墙**: ✅ 禁用状态
|
||
- PVE防火墙: disabled/running
|
||
- iptables规则: 只有Tailscale规则
|
||
|
||
3. **SSL证书**: ✅ 配置正确
|
||
- Subject: CN=pve.local
|
||
- SAN: DNS:pve, DNS:pve.local, IP:192.168.31.198
|
||
- 证书匹配主机名
|
||
|
||
### 🔍 关键发现
|
||
1. **命令行访问正常**:
|
||
```bash
|
||
curl -k -s -o /dev/null -w '%{http_code}' https://pve:8006
|
||
# 返回: 200
|
||
```
|
||
|
||
2. **浏览器访问失败**:
|
||
- 595 "no route to host" 错误
|
||
- 可能是浏览器特定的问题
|
||
|
||
3. **PVE集群功能正常**:
|
||
- pve可以访问其他节点的LXC容器
|
||
- 集群通信正常
|
||
|
||
## 问题分析
|
||
|
||
### 可能的原因
|
||
1. **浏览器缓存问题**
|
||
2. **SSL证书警告**
|
||
3. **浏览器安全策略**
|
||
4. **DNS解析缓存**
|
||
5. **网络接口绑定问题**
|
||
|
||
### 技术验证
|
||
```bash
|
||
# 成功的测试
|
||
curl -k https://pve:8006 # ✅ 200
|
||
curl -k https://100.71.59.40:8006 # ✅ 200
|
||
curl -k https://192.168.31.4:8006 # ✅ 200
|
||
|
||
# 网络连通性
|
||
ping pve # ✅ 正常
|
||
traceroute pve # ✅ 正常
|
||
|
||
# 服务状态
|
||
systemctl status pveproxy # ✅ active
|
||
ss -tlnp | grep 8006 # ✅ 监听
|
||
```
|
||
|
||
## 解决方案
|
||
|
||
### 1. 立即解决方案
|
||
```bash
|
||
# 清除浏览器缓存
|
||
# 接受SSL证书警告
|
||
# 尝试不同的访问方式
|
||
```
|
||
|
||
### 2. 推荐的访问方式
|
||
1. **Tailscale IP**: https://100.71.59.40:8006
|
||
2. **内网IP**: https://192.168.31.4:8006
|
||
3. **Tailscale主机名**: https://pve.tailnet-68f9.ts.net:8006
|
||
|
||
### 3. 验证步骤
|
||
```bash
|
||
# 在xgp或nuc12上测试
|
||
curl -k https://pve:8006
|
||
# 应该返回HTML内容
|
||
|
||
# 检查HTTP状态码
|
||
curl -k -I https://pve:8006
|
||
# 应该返回HTTP/1.1 501 (正常,PVE不支持HEAD方法)
|
||
```
|
||
|
||
## 技术细节
|
||
|
||
### 网络配置
|
||
- **pve**: 100.71.59.40 (Tailscale), 192.168.31.4 (内网)
|
||
- **nuc12**: 100.116.162.71 (Tailscale), 192.168.31.2 (内网)
|
||
- **xgp**: 100.66.3.80 (Tailscale), 192.168.31.3 (内网)
|
||
|
||
### PVE配置
|
||
- **集群名称**: seekkey
|
||
- **服务端口**: 8006
|
||
- **SSL证书**: 自签名证书,包含正确的SAN
|
||
- **防火墙**: 禁用
|
||
|
||
### 集群状态
|
||
- **节点数量**: 3个
|
||
- **Quorum**: 正常
|
||
- **节点间通信**: 正常
|
||
- **LXC访问**: pve可以访问其他节点的LXC
|
||
|
||
## 结论
|
||
|
||
**网络和服务层面完全正常!**
|
||
|
||
问题可能是:
|
||
1. **浏览器缓存问题**
|
||
2. **SSL证书警告**
|
||
3. **浏览器安全策略**
|
||
|
||
### 建议操作
|
||
1. ✅ **网络连接已验证正常**
|
||
2. ✅ **PVE服务已验证正常**
|
||
3. ✅ **SSL证书已验证正确**
|
||
4. 🔄 **清除浏览器缓存**
|
||
5. 🔄 **接受SSL证书警告**
|
||
6. 🔄 **尝试不同的访问方式**
|
||
7. 🔄 **检查浏览器安全设置**
|
||
|
||
## 最终结论
|
||
|
||
**问题不在网络层面,而在浏览器层面!** 从命令行测试来看,所有网络连接都是正常的。595错误是浏览器特定的问题,不是网络问题。
|
||
|
||
---
|
||
*报告生成时间: 2025-10-08 10:29 UTC*
|
||
*诊断工具: curl, ping, traceroute, openssl*
|
||
*状态: 网络正常,问题在浏览器层面*
|