NAT 端口转发如何在 Azure 内部负载均衡器中工作?

How NAT port forwarding works in Internal Load Balancer in azure?

我正在尝试在 Azure 中创建一个内部负载均衡器来管理流量。我有两个虚拟机连接到后端池,并为 FE 负载均衡器分配了一个私有 ip,并按照 azure doc 将 NATrule1 和 2 连接到每个虚拟机。我的问题是此端口转发在以下 NAT 规则中如何工作

azure network lb inbound-nat-rule create --resource-group nrprg --lb-name ilbset --name NATrule1 --protocol TCP --frontend-port 5432 --backend-port 3389

azure network lb inbound-nat-rule create --resource-group nrprg --lb-name ilbset --name NATrule2 --protocol TCP --frontend-port 5433 --backend-port 3389.

前端有不同的端口号,后端有相同的端口号。当流量通过前端的两个端口时,后端端口将如何决定应该将流量发送到哪个虚拟机?端口号不是应该像

那样倒过来吗

azure network lb inbound-nat-rule create --resource-group nrprg --lb-name ilbset --name NATrule1 --protocol TCP --frontend-port 3389 --backend-port 5432

azure network lb inbound-nat-rule create --resource-group nrprg --lb-name ilbset --name NATrule2 --protocol TCP --frontend-port 3389--backend-port 5433.

(我正在通过 CLI 2.0 执行此操作) 任何帮助将不胜感激。 谢谢

azure network lb inbound-nat-rule create --resource-group nrprg --lb-name ilbset --name NATrule1 --protocol TCP --frontend-port 5432 --backend-port 3389

azure network lb inbound-nat-rule create --resource-group nrprg --lb-name ilbset --name NATrule2 --protocol TCP --frontend-port 5433 --backend-port 3389

我们应该使用这个脚本来创建 NAT 规则。

我们不能为一个 IP 地址使用相同的端口来连接到不同的服务。

比方说,如果我们使用第二个脚本来创建 NAT 规则,它会像这样:

192.168.1.4:3389--------->10.0.0.4:5432
192.168.1.4:3389--------->10.0.0.4:5433

外网流量会比较混乱,所以不能使用第二个脚本来创建NAT规则。 RDP 服务默认侦听端口 3389。

如果我们使用脚本 1 创建 NAT 规则,如下所示:

192.168.1.4:5432--------->10.0.0.4:3389
192.168.1.4:5433--------->10.0.0.4:3389

这样,当我们尝试访问 192.168.1.4:5432 时,NAT 会将流量转发到 10.0.0.4:3389。如果我们尝试访问 192.168.1.4:5433,NAT 会将流量转发到 10.0.0.4:3389