允许 Hyper-v 客户机连接到主机上的应用程序的正确方法

允许 Hyper-v 客户机连接到主机上的应用程序的正确方法

允许客户机连接到主机上运行的应用程序的正确方法是什么?

示例设置:

  • 我的 Win 10 主机上运行着一些应用程序,比如 4400 端口上的 NodeJS 应用程序
  • 与默认交换机连接的 Hyper-v 中的客户操作系统,例如通过“快速创建”创建的 Ubuntu 18.04

Windows 防火墙阻止从客户机到主机的连接:

2019-10-09 10:18:21 DROP TCP 172.17.147.6 172.17.147.1 59560 4400 60 S 3734288315 0 29200 - - - RECEIVE

这并不奇怪,因为有一条规则“Node.js:服务器端 JavaScript”会阻止“公共”网络中的流量,而“公共”网络是 Hyper-V 创建的分配给默认交换机的网络类型。

令人惊讶的是,它之前是可以工作的。几个月前,它对 NodeJS 应用程序和 Java 应用程序都有效。一周前,我尝试了现有的设置,但无法访问在 9290 上运行的应用程序。我尝试修复它,重置 Windows 防火墙,但随后无法访问 4400。我重置/重新安装了 Hyper-V 和 NodeJS,希望它能添加一些神奇的防火墙规则,但无济于事。我仍然看不到允许在“公共”网络中访问 NodeJS 应用程序的合理规则。

那么,到底有什么魔力可以让访客访问主机应用程序呢?

相关内容