Files
agent_management/nsg_check_result.md
2026-02-03 12:25:40 +00:00

125 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# NSG 规则检查结果
## 检查时间
2026-02-03
## NSG 规则详情
### 自定义规则(优先级从高到低)
1. **优先级 500**: `k8s-azure-lb_allow_IPv4_d39272f7f57ed937951650d93992ad77`
- 访问: Allow
- 协议: Tcp
- 源地址: Internet
- 目标端口: 80
- 目标地址: 所有
2. **优先级 501**: `k8s-azure-lb_allow_IPv4_556f7044ec033071ec0dfcf7cd85bc93`
- 访问: Allow
- 协议: Tcp
- 源地址: Internet
- 目标端口: 80, 443
- 目标地址: 40.65.173.54
### 默认规则
- **优先级 65000**: AllowVnetInBound - 允许 VNet 内部流量
- **优先级 65001**: AllowAzureLoadBalancerInBound - 允许 Azure LoadBalancer 流量
- **优先级 65500**: DenyAllInBound - 拒绝所有其他入站流量(但会被优先级更高的规则覆盖)
## 规则分析
✅ **NSG 规则配置正确**
- 没有更高优先级的 Deny 规则
- 规则 500 和 501 都允许从 Internet 访问 80/443 端口
- 规则优先级顺序正确(500 < 501 < 65000 < 65500)
## LoadBalancer 配置
### 健康检查探针
- **HTTP 探针**: `a2eecfe068cbe4c1b936d6b0880bee0b-TCP-80`
- 协议: Http
- 端口: 32519 (NodePort)
- 间隔: 5 秒
- 探测次数: 2
- 状态: Succeeded ✅
- **HTTPS 探针**: `a2eecfe068cbe4c1b936d6b0880bee0b-TCP-443`
- 协议: Https
- 端口: 31651 (NodePort)
- 间隔: 5 秒
- 探测次数: 2
- 状态: Succeeded ✅
### 后端池
- 后端池名称: `kubernetes`
- Endpoints: `10.224.0.37`, `10.224.0.66` (Ingress Controller Pods)
## 测试结果
### ✅ 成功的测试
- 从集群内部访问 `40.65.173.54:80` → 返回 308 重定向 ✅
- 从集群内部访问 `40.65.173.54:443` → TLS 握手成功 ✅
### ❌ 失败的测试
- 从外部网络访问 `40.65.173.54:80` → 连接超时 ❌
- 从外部网络访问 `40.65.173.54:443` → 连接超时 ❌
- 从外部网络访问 `test-openclaw-dns.taijiagnet.com` → 连接超时 ❌
## 问题分析
虽然 NSG 规则配置正确,但外部访问仍然超时。可能的原因:
1. **NSG 规则生效延迟**
- Azure NSG 规则可能需要几分钟才能完全生效
- 建议等待 5-10 分钟后再次测试
2. **外部网络到 Azure 的路径问题**
- 可能是 ISP 或网络运营商的限制
- 可能是地理位置或网络路由问题
- 建议从不同网络环境测试
3. **Azure 平台层面的限制**
- 可能有订阅级别的网络策略
- 可能有资源组级别的限制
- 需要检查 Azure Policy
4. **LoadBalancer 配置问题**
- 虽然健康检查显示 Succeeded,但可能后端实例状态异常
- 需要在 Azure Portal 中检查 LoadBalancer 的详细状态
## 建议操作
1. **等待规则生效**
- 等待 5-10 分钟让 NSG 规则完全生效
- 然后再次测试
2. **检查 LoadBalancer 状态**
- 在 Azure Portal 中打开 LoadBalancer `kubernetes`
- 检查"后端池"中的实例状态
- 检查"健康探测"的详细状态
3. **从不同网络测试**
- 使用手机热点
- 使用其他网络环境
- 排除本地网络问题
4. **检查 Azure Policy**
- 在 Azure Portal 中检查订阅的网络策略
- 检查资源组的网络策略
5. **联系 Azure 支持**
- 如果问题持续,建议打开 Azure 支持请求
- 提供 LoadBalancer 和 NSG 的详细信息
## 结论
NSG 规则配置**完全正确**,没有阻止访问的规则。问题可能在于:
- 规则生效延迟
- 外部网络到 Azure 的连接问题
- Azure 平台层面的其他限制
建议等待几分钟后再次测试,或从不同网络环境测试。