Правильный способ разрешить подключение из гостевой системы Hyper-v к приложению на хост-машине

Правильный способ разрешить подключение из гостевой системы Hyper-v к приложению на хост-машине

Как правильно разрешить подключение гостя к приложению, работающему на хост-машине?

Пример настройки:

  • какое-то приложение, работающее на моем хост-компьютере Win 10, скажем, приложение NodeJS на порту 4400
  • Гостевая ОС в 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: Server-side JavaScript», которое блокирует трафик в сетях «Public» — типе сети, назначенном коммутатору по умолчанию, созданному Hyper-V.

Удивительно, что раньше это работало. Пару месяцев назад это работало и для приложений NodeJS, и для приложений Java. Неделю назад я попробовал уже существующую настройку, но не смог получить доступ к приложению, работающему на 9290. Я попытался исправить это, сбросив брандмауэр Windows, но затем потерял возможность доступа к 4400. Я сбросил/переустановил Hyper-V и NodeJS, надеясь, что это добавит какое-нибудь волшебное правило брандмауэра, но безрезультатно. Все еще не вижу разумного правила, которое разрешило бы доступ к приложениям NodeJS в «публичных» сетях.

Так в чем же может заключаться магия, позволяющая гостю получать доступ к приложениям хоста?

Связанный контент