azure - Azure NSG 未按预期工作
问题描述
我有一个带有后端池的 Azure 外部负载均衡器,其中包含 1 个 kubernetes 主服务器,并且在端口 443 上有一个负载均衡规则。
我添加了一个优先级为 500 的规则,以拒绝来自 Internet 的 443 端口上的所有流量到 kubernetes 主服务器。工作正常
我添加了一个优先级为 400 的规则来接受来自某个公共 IP 的流量,因为我只想能够从该 IP 连接。我希望我应该能够连接,但我不能。
如果我更改接受从源 IP 到 Internet 的流量的规则,那么它工作正常。我错过了什么?
亲切的问候
解决方案
“我添加了一个优先级为 400 的规则来接受来自某个公共 IP 的流量,因为我只想能够从该 IP 连接。我希望我应该能够连接,但我不能。
如果我更改接受从源 IP 到 Internet 的流量的规则,那么它工作正常。我错过了什么?”
你可能错过的事情:
- 确保您没有指定源端口!它将从您启动连接的客户端的可用端口池中获取,这些端口称为临时端口。
- 您正在阻止默认规则“允许 Azure 负载均衡器 IP”。负载均衡器运行状况探测源自 IP 地址 168.63.129.16,不得阻止探测以标记您的实例。查看探测源 IP 地址以了解详细信息。
创建一个单独的规则来允许这个 IP,因为这是一个 MSFT IP,你应该没有问题允许这个。** 在全部拒绝之前(优先级 <500)
那肯定可以解决您的问题!
诊断和 RCA:
为什么会发生这种情况,Azure 负载均衡器探测 IP 被阻止,因此后端服务器被负载均衡器标记为不正常。
推荐阅读
- c - 二进制 & 的错误操作数无效(有 'int **' 和 'int *')
- python-3.x - 有没有办法在 Tkinter 中获得自定义形状的按钮?
- python - Django TransactionManagementError:select_for_update 不能在事务之外使用
- regex - Regexp_extract 在 Hive 中返回数据 2 次(重复)
- python - 混淆矩阵显示错误信息?
- azure-sql-database - 是否可以在 Azure SQL DB 中按用户实现行级安全性并在 ASP.Net 3.1 Web App 上访问用户特定的行集
- android - 为什么 waze deeplink 在 asynctask 中不起作用?
- plsql - 使用从数据库中选择将参数传递给 PL/SQL 过程
- webforms - c#, IIS 10, Web Forms, Forms Authentication, Bootstrap 4, Web API, Trying to Add Signalr - 在 signalr/hubs 上得到 404?
- sql - 从保存为字符串的 Android 房间数据库中获取日期/时间窗口