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*
 | ||
| *状态: 网络正常,问题在浏览器层面*
 |