问题描述
我正在尝试做的是在图表下方详细说明
客户端只能通过端口 X 上的标准 Azure 负载均衡器连接到 VM1 和 VM2,而不能直接连接到 VM IP 地址
我们在 LB 中有一个规则,将端口 X 上的流量传递到后端池,后端池由 VM1 和 VM2 组成
Sticky Sessions 设置为客户端 IP
此规则没有健康探测
VM 上的 Windows 防火墙已停用
到目前为止已尝试过 NSG 规则设置
场景 1
netcat exposing port X on VM1 and VM2
NSG rule allowing traffic from Client IP to Load Balancer IP
DENY all inbound
From Client
telnet 10.100.23.4 X - Connection Failed
telnet 10.100.23.5 X - Connection Failed
telnet 10.100.23.6 X - Connection Failed
场景 2
netcat exposing port X on VM1 and VM2
NSG rule allowing traffic from Client IP to Load Balancer IP on port X
NSG rule allowing traffic from Internal LB IP to entire subnet on all ports
DENY all inbound
From Client
telnet 10.100.23.4 X - Connection Failed
telnet 10.100.23.5 X - Connection Failed
telnet 10.100.23.6 X - Connection Failed
场景 3
netcat exposing port X on VM1 and VM2
NSG rule allowing traffic from Client IP to Load Balancer IP on port X
NSG rule allowing traffic from Internal LB IP to entire subnet on all ports
NSG rule allowing traffic from Client IP to VM1 and VM2 IP
DENY all inbound
From Client
telnet 10.100.23.4 X - Connection Succeeded
telnet 10.100.23.5 X - Connection Succeeded
telnet 10.100.23.6 X - Connection Succeeded
有谁知道我可以使用 NSG 规则组合来拒绝客户端对 VM1 和 VM2 的直接访问,同时允许流量通过 LB 到达 VM 吗?
我觉得我在这里遗漏了一个技巧,因为这似乎是安全明智的标准做法。
解决方法
我认为这是关于内部负载均衡器的。 由于这些是为 VNET 内的负载平衡而定义的,因此我们需要记住默认情况下允许在 VNET 内进行路由。
显式拒绝从客户端 IP 到 Vm1 和 VM2 的流量是上述场景中唯一需要的规则,您能检查一下吗?
问候。 阿迪亚