![Forma correcta de permitir la conexión desde el invitado Hyper-v a una aplicación en la máquina host](https://rvso.com/image/1606665/Forma%20correcta%20de%20permitir%20la%20conexi%C3%B3n%20desde%20el%20invitado%20Hyper-v%20a%20una%20aplicaci%C3%B3n%20en%20la%20m%C3%A1quina%20host.png)
¿Cuál es la forma correcta de permitir la conexión del invitado a una aplicación que se ejecuta en la máquina host?
Configuración de ejemplo:
- alguna aplicación ejecutándose en mi máquina host Win 10, digamos la aplicación NodeJS en el puerto 4400
- SO invitado en Hyper-v conectado con el conmutador predeterminado, por ejemplo, Ubuntu 18.04 creado mediante "Creación rápida"
Windows Firewall bloquea las conexiones del invitado al host:
2019-10-09 10:18:21 DROP TCP 172.17.147.6 172.17.147.1 59560 4400 60 S 3734288315 0 29200 - - - RECEIVE
Esto no es una sorpresa, porque hay una regla "Node.js: JavaScript del lado del servidor" que bloquea el tráfico en redes "públicas", que es el tipo de red, asignada al conmutador predeterminado, creada por Hyper-V.
Lo sorprendente es que funcionó antes. Hace un par de meses funcionó tanto para aplicaciones NodeJS como para aplicaciones Java. Hace una semana probé la configuración ya existente, pero no pude acceder a una aplicación que se ejecutaba en 9290. Intenté solucionarlo reiniciando el Firewall de Windows, pero luego perdí la capacidad de acceder a 4400. Restablecí/reinstalé Hyper-V y NodeJS. Con la esperanza de que agregue alguna regla mágica de firewall, fue en vano. Aún así no veo una regla razonable que permita el acceso a aplicaciones NodeJS en redes "públicas".
Entonces, ¿cuál podría ser la magia que permitiera a los invitados acceder a las aplicaciones del anfitrión?