Трассировка сети WireShark показала, что зависание происходит, когда компьютер Vista отвечает на запрос имени NetBios с IP-адресом виртуального сетевого узла VMWare вместо адреса основного сетевого интерфейса. Описание этой виртуальной сети VMWare: «Частная сеть, используемая совместно с хостом».
Далее выясняется, что брандмауэр Vista классифицирует виртуальную сеть VMWare как «публичную сеть» и поэтому блокирует любые попытки доступа к этой сети с других локальных компьютеров. Установка виртуальной сети VMWare как частной решает проблему блокировки.
Обновление: установка виртуальной сети как частной является лишь частичным исправлением - виртуальные сети возвращаются в публичные сети после перезагрузки. Полное исправление состоит в том, чтобы объявить их как сетевые конечные точки (NDIS_DEVICE_TYPE_ENDPOINT), как продемонстрировано в сценарии PowerShell на адаптерах VMWare VMNET, запускающем общедоступный профиль для брандмауэра Windows . Как эта статья MSDN показывает:
Примечание. Vista автоматически определяет и отслеживает сети, к которым подключен компьютер. Если установлен флаг NDIS_DEVICE_TYPE_ENDPOINT, устройство является устройством конечной точки и не является подключением к настоящей внешней сети. Следовательно, Windows игнорирует конечное устройство, когда Windows идентифицирует сети. API-интерфейсы Network Awareness указывают, что устройство не подключает компьютер к сети. Для конечных пользователей в этой ситуации Центр управления сетями и общим доступом и значок сети в области уведомлений не показывают конечное устройство NDIS как подключенное. Однако подключение отображается в папке «Сетевые подключения». Кроме того, если задано NDIS_DEVICE_TYPE_ENDPOINT, брандмауэр Windows игнорирует соединение, когда брандмауэр Windows применяет открытые, частные или доменные политики.