-1

我对 Azure 网络分析有点困惑!有人可以帮助解决这个谜吗?

我在 Azure 中的 Kubernetes 集群是私有的。它加入了 vNET,并且在任何地方都没有公开的 ip。服务配置有内部负载均衡器。应用程序网关调用内部负载均衡器。NSG 阻止从 Internet 到应用程序网关的所有入站流量。NSG 仅允许受信任的 NAT ip。

问题是 - 我看到大量互联网流量来到 vNET 上的 aks。他们当然被拒绝了!我在订阅的任何地方都没有这个公共 ip 40.117.133.149。那么,这些请求是如何到达 aks 的呢?

Azure网络分析

这不是确切的架构,但它非常接近实现的架构。

您可以尝试从互联网调用应用程序网关,但您不会得到任何响应!http://23.100.30.223/api/customer/FindAllCountryProvinceCities?country=United%20States&state=Washington

如果您调用 Azure 函数,您将获得成功的响应 - https://afa-aspnet4you.azurewebsites.net/api/aks/api/customer/FindAllCountryProvinceCities?country=United%20States&state=Washington

它可能是因为遵循 nsg 规则!

感谢您花时间回答我的问题。

作为对@CharlesXu 的回应,我将在 aks 网络上分享更多内容。Aks 网络由几个地址空间组成-

此外,集群中的两个节点中的任何一个都没有分配公共 IP。仅将私有 ip 分配给 vm 节点。这是 node-0- 的示例

我不明白为什么我在集群中看到对 40.117.133.149 的入站请求!

4

1 回答 1

0

在搜索了所有设置和活动日志后,我终于找到了神秘IP的答案!当我重新启动 VM 时,作为 nginx 入口服务的一部分自动创建了一个具有外部 ip 的负载均衡器。NSG 已自动更新以允许 Internet 流量到端口 80/443。我手动删除了公共负载均衡器以及 IP,但不良行为者仍在使用不同的端口调用 IP,默认入站 nsg 规则拒绝这些端口。

为了重现,我再次删除了公共负载均衡器以及公共 IP。一旦我重新启动集群中的 VM,Azure aks 就会重新创建!这就像猫捉老鼠的游戏!

我认为我们可以更新入口服务注释以指定 service.beta.kubernetes.io/azure-load-balancer-internal: "true"。不知道为什么微软决定在集群中自动配置公共负载均衡器。这是一种风险,Microsoft 应该通过创建内部负载均衡器来纠正这种行为。

于 2018-12-15T04:52:28.187 回答