"Сервер RPC недоступен" при попытке доступа к серверу Hyper-V из диспетчера Hyper-V на клиенте Windows 8.1
Эта проблема
После поиска вариантов использования моего старого ноутбука я решил превратить Wyvern в сервер виртуализации под управлением Microsoft Hyper-V Server 2012 R2 (в свободном доступе, по сути, сильно урезанный Windows Server 2012 R2 с только функциями гипервизора). Однако у меня возникли проблемы с подключением к нему из моего клиента Windows 8.1 Pro, Dragon. Я получаю следующее сообщение об ошибке из диспетчера Hyper-V на клиенте:
RPC сервер недоступен. Невозможно установить связь между
WYVERN
а такжеDRAGON
,
Если я отключу брандмауэр Windows на сервере вообще (с net stop MpsSvc
), Я получаю следующее:
Не удается подключиться к службе RPC на компьютере
WYVERN
, Убедитесь, что ваш сервис RPC запущен.
В обоих случаях Hyper-V Manager отображает "Загрузка виртуальных машин..." перед отображением сообщения об ошибке, указывая, что клиент в противном случае сможет подключиться к серверу.
Примечание. Хотя сообщество Server Fault, вероятно, лучше справится с этой проблемой, оно технически там не по теме, поскольку это происходит в домашней среде (но см. Этот вопрос о сбое в работе мета-сервера для соответствующей дискуссии). В результате я выкладываю этот вопрос здесь.
Сетевая информация
Компьютеры подключены через локальную сеть и подключены к одной рабочей группе (не к домену). Оба компьютера могут преобразовать имя другого компьютера в правильный IP-адрес, могут успешно пропинговать друг друга и имеют доступ к Интернету.
Как ни странно, он работает, когда сервер напрямую подключен к клиенту через кабель Ethernet, при этом общий доступ к Интернету подключается к адаптеру Ethernet на клиенте, а DHCP включен на сервере. Это может дать представление о точной причине проблемы.
Шаги приняты
Я провел обширное исследование по этой проблеме и предпринял следующие шаги:
Сторона клиента
- Я добавил Виверну в
hosts
файл на клиенте. - Я настроил брандмауэр, чтобы разрешить все коммуникации между двумя компьютерами. (Отключение брандмауэра вообще не помогает.)
- Я установил разрешения DCOM на клиенте, чтобы разрешить
ANONYMOUS LOGON
удаленный доступ. - Я установил учетные данные для проверки подлинности, чтобы он всегда входил на сервер с правильным именем пользователя (
Administrator
) и пароль (поэтому нет ошибок "Доступ запрещен").
Серверная сторона
- Я установил все обновления Windows на сервере.
- Я перезагрузил сервер несколько раз.
- Я назначил серверу статический IP-адрес, который указан в
hosts
файл. - Я добавил
Administrator
пользователь группы "Распределенные пользователи COM":net localgroup "Distributed COM Users" /add Administrator
- Я выполнил команду PowerShell
Enable-NetFirewallRule -DisplayGroup "Windows Remote Management"
, так же какnetsh advfirewall firewall set rule group="Windows Management Instrumentation (WMI)" new enable=yes
, чтобы гарантировать, что брандмауэр на стороне сервера не блокирует удаленный доступ к управлению. - Я бегал
Enable-NetFirewallRule -DisplayGroup "Network Discovery"
выполнить эквивалент того, что описано в этом сообщении в блоге.
Я в конце своего остроумия относительно того, в чем проблема. Есть идеи?
2 ответа
Запуск HVRemote помог выяснить причину, и оказалось, что брандмауэр на клиенте был неправильно настроен.
Дракон защищен Norton Internet Security. Хотя у меня было правило брандмауэра, явно предоставляющее доступ к серверу, оно было помещено внизу списка правил, поэтому оно не имело ожидаемого эффекта, и связь с DCOM была заблокирована брандмауэром в любом случае. Переместив правило в начало списка, я могу без проблем связаться с сервером через диспетчер Hyper-V.
Чтобы прояснить проблему, вот что говорит онлайн-документация по Norton Internet Security:
Интеллектуальный брандмауэр обрабатывает правила трафика до того, как обрабатывает правила программы. Например, когда есть правило Программы, которое позволяет Internet Explorer выходить в Интернет через порт 80 с протоколом TCP, и правило трафика, которое блокирует связь TCP через порт 80 для всех приложений. Приложение Internet Explorer не может получить доступ к Интернету, поскольку Norton Internet Security отдает приоритет Правилам дорожного движения над правилами Программы.
В списке правил дорожного движения правила обрабатываются в порядке их появления сверху вниз. Записи правил программы не обрабатываются по порядку. Однако правила в каждой записи правил программы обрабатываются в порядке их появления сверху вниз.
Например, у вас есть правило Program для приложения Symantec pcAnywhere, которое блокирует использование приложения на любом другом компьютере. Вы добавляете еще одно правило для того же приложения, которое позволяет использовать его на определенном компьютере. Затем вы перемещаете новое правило до исходного правила в списке правил программы. Norton Internet Security сначала обрабатывает новое правило и позволяет использовать Symantec pcAnywhere с этим конкретным компьютером. Затем он обрабатывает исходное правило и предотвращает его использование с любым другим компьютером.
Как счастливый конец, вот установщик openSUSE, работающий на виртуальной машине, размещенной на Wyvern и отображаемой на Dragon:
Скачайте Corefig бесплатный инструмент для управления Hyper-V локально отсюда. После установки (см. Документацию по установке и запуску) добавьте пользователя, который будет удаленно управлять сервером hyper-v, в группу "Пользователи удаленного управления" в разделе "Параметры сети / членство в группе".