我想通过 2 个不同的 IP 地址访问我的 VM(具体是 SQL Server 实例),一个供内部使用,一个由他们将使用的客户端请求的特定 IP。在我的虚拟网络中,我需要 2 个不同的地址空间,因为 IP 相距甚远。据我所知,我还需要 2 个子网(子网 A 和子网 B)。
在我的内部负载均衡器中,我添加了两个 IP(在不同的子网中)作为前端 IP,并添加了一条规则来将流量转发到我的 SQL Server VM 实例(在子网 A 中)。这些规则适用于不同的端口,但 SQL Server 正在侦听两个端口,因此端口工作正常。
但是......即使我切换端口,我也无法通过第二个(客户端请求的 IP)进行连接,因此导致问题的是 IP 本身,可能是因为它位于子网 B 中,而虚拟机位于子网 A 中? 这是有道理的,因为子网 A 的地址空间中的第一个 IP 确实有效?
在我的负载均衡器规则中,我可以为这两个规则指定目标 VM 和网络适配器,所以我认为这 2 个子网不会有问题。
我的配置------
1 个(内部)负载均衡器:
前端IP:
10.4.2.250 (in subnet A, and addressspace 1)
172.4.2.1 (in subnet B, and addressspace 2)
后端池(1 个池):
1 VM, in subnet A
健康探针(1 个探针):
1 probe, TCP port 1440
负载均衡规则:
TCP 1440 to backendpool port 1440 with probe 1440
TCP 1450 to backendpool port 1450 with probe 1440
我的 MSSQL 实例通过 Sql Server 配置管理器 > SQL Server 网络配置 > MyInstance 的协议 > TCP/IP 属性进行配置
Protocol -> Enabled = Yes, Listen All = Yes
IP Addresses -> for all fields with 'TCP Port' = 1440,1450