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

时间:2017-09-25 22:22:57

标签: azure command-line-interface azure-virtual-network

我尝试在azure中创建内部负载均衡器来管理流量。我有两个VM连接到后端池,并为FE负载均衡器分配了一个私有IP,并附加了NATrule1&通过遵循azure doc,每个vm 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。

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

  

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执行此操作) 任何帮助将不胜感激。 感谢。

1 个答案:

答案 0 :(得分: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