伟大的思想者们,早安,
我无法访问 LAN 网络内 nginx 反向代理后面的 Web 服务器。
我有一台 mikrotic 路由器,其 LAN 网络为 192.168.143.0/24,我部署了一个 hyper V 服务器,该服务器具有一个 NICTeam,其静态 IP 为 192.168.143.165,网关为 192.168.143.1
我从 NIC 创建了一个带有多路复用器的外部 Vswitch,并通过外部 vswitch 的属性窗口将其与内部 Vswitch 共享。我为内部 vswitch 配置了 NAT,以便我的 Web 服务器可以访问互联网。此后,我在网络 192.168.138.0/24(未启用 DHCP 且无网关)上部署了 4 个带有内部 vswitch 的 Web 服务器,1 个 nginx 反向代理将流量引导至其他 3 个虚拟机。所有虚拟机都可以看到互联网并且运行正常。但是,由于某些我无法弄清楚的原因,我可以从 Hyper V 主机内部和整个网络外部访问 Web 服务器,但我无法从 192.168.143.0/24 网络内的任何 IP 地址访问 Web 服务器,而该网络恰好是我们的主要网络并且大多数用户都位于该网络。这些是我已采取但没有成功的步骤。
- 添加IP路由192.168.143.0,掩码及其网关
- 添加 ip route 192.168.138.0/24 掩码及其网关
- 在 Windows Server 2019 中部署了 RRAS 和 NAT,配有 2 个 NIC,其中 192.168.143.0/24 作为互联网,192.168.138.0/24 作为 LAN
- 在 Hyper V 主机的主机配置中添加了 IP 地址和 FQDN
- 从 192.168.143.0/24 网络内的客户端计算机对所有域进行了 nslookup,路径似乎是通过公共 IP 而不是引用本地 IP 地址。
我已经在反向代理、Web 服务器以及 Hyper V 主机上打开了所有必要的端口。
我还尝试从 192.168.143.0/24 网络内的任何客户端 ping 虚拟机,但没有得到回应。同时,我可以从内部交换机中的虚拟机 ping 客户端。
我已经阅读了许多路由文章,但似乎找不到问题的解决方案。我不确定问题是否是由我部署的反向代理引起的,因为可用的公共地址不足,我确实需要它。请告诉我我可能做错了什么或者根本没有做什么。