Ошибка Сервер RPC недоступен
Содержание:
Обмен данными между компьютерами в сети всегда выполняется согласно определенным процедурам – наборам правил, именуемым протоколами. Одним из таких протоколов является Remote Process Call, сокращенно RPC, отвечающий за взаимодействие приложений, установленных на клиентском и серверном компьютерах. Протокол RPC может использоваться самым разными программами и службами, причем не только в рамках взаимодействия между двумя физическими компьютерами.
↑ Ошибка подключения «Сервер RPC недоступен»
При подключении клиент обращается к службе сопоставления конечных точек на сервере по TCP-порту 135 и запрашивает номер порта, на котором работает нужное ему приложение. Служба сопоставления конечных точек передает клиенту номер назначенного затребованному приложению порта, после чего по полученному порту TCP между клиентом и сервером начинается обмен данными. Если клиент не смог подключиться к серверу, в приложении появится ошибка «Сервер RPC недоступен».
↑ Проверка служб RPC
Первое, что рекомендуется проверить при получении ошибки «Сервер RPC недоступен» - это статус перечисленных ниже служб на клиентском и серверном ПК. Откройте командой services.msc оснастку управления службами и проверьте эти службы:
1. Удаленный вызов процедур (RpcSs). Самая главная служба, она должна быт запущена и иметь тип запуска «Автоматически».
2. Инструментарий управления Windows (winmgmt). Должна быть запущена и иметь тип запуска «Автоматически».
3. Локатор удаленного вызова процедур RPC (RpcLocator). По умолчанию имеет тип запуска «Вручную», но можно попробовать перевести ее в автоматический режим.
4. Модуль запуска процессов DCOM-сервера (DcomLaunch). Запущена, автоматический тип запуска.
5. Служба времени Windows (W32Time). Запущена, автоматический тип запуска.
6. Сопоставитель конечных точек RPC (RpcEptMapper). Запущена, автоматический тип запуска.
Если настройки какой-то из этих служб отличаются, выставьте их так, как показано выше. Если вдруг настройки в свойствах той или иной службы окажутся неактивными, воспользуйтесь редактором реестра. Запустите оный командой regedit, разверните ветку HKLM\SYSTEM\CurrentControlSet\services и установите 2 в качестве значения параметра Start в подразделах RpcSs, Winmgmt, RpcLocator, DcomLaunch, W32Time и RpcEptMapper.
Примечание: так как для редактирования некоторых ключей реестра могут понадобиться системные привилегии, рекомендуем запускать редактор реестра с помощью утилиты ExecTI, предназначенной для предоставления штатным и сторонним программам прав TrustedInstaller.
Дополнительно можно проверить состояние служб «Модуль поддержки NetBIOS через TCP/IP» и «Удаленный реестр». Запустите их, если они остановлены.
↑ Проверка сетевых настроек и общего доступа
На следующем этапе диагностики рекомендуем проверить сетевые настройки, в частности статус протокола IPv6. Откройте командой ncpa.cpl сетевые подключения, затем откройте свойства вашего сетевого адаптера и отыщите в списке пункт «IP версии 6 (TCP/IPv6)». Включите его, если отключен. То же самое касается опции «Общий доступ к файлам и принтерам для сетей microsoft».
Также зайдите на обоих компьютерах в раздел настроек «Дополнительные параметры общего доступа» и убедитесь, что сетевое обнаружение и общий доступ к файлам и принтерам для используемого сетевого профиля включены.
Попасть в раздел можно из Центра управления общим доступом или выполнив в окошке Win + R быструю команду control.exe /name Microsoft.NetworkAndSharingCenter /page Advanced. В этом же окне раскройте раздел «Все сети», активируйте опцию «Все сети» и отключите парольную защиту.
↑ Проверка настроек брандмауэра
Далее следует убедиться, что на клиентском и серверном ПК не заблокирован используемый протоколом RPC порт 135. Проще всего это сделать, выполнив в запущенной от имени администратора команду netstat -ano | find "135". Если порт 135 открыт, появится запись с информацией о текущем соединении, в противном случае ничего не отобразится.
Если порт закрыт, откройте его, создав в брандмауэре два правила для входящих и исходящих соединений этими командами:
netsh advfirewall firewall add rule name="Открытие порта 135.входящие" dir=in action=allow protocol=TCP localport=135
netsh advfirewall firewall add rule name="Открытие порта 135.исходящие" dir=out action=allow protocol=TCP localport=135
Заодно проверяем, разрешено ли в брандмауэре взаимодействие с удаленным помощником. Для этого в окне брандмауэра жмем «Разрешение взаимодействия с приложением или компонентом в брандмауэре Защитника Windows» и смотрим, установлен ли флажок в чекбоксе «Удаленный помощник». Если нет, жмем кнопку «Изменить параметры», активируем опцию и сохраняем настройки.
↑ Что можно сделать еще
Если проблема не была решена, обратите внимание на следующие моменты.
• Отключите VPN и ли прокси, если таковые используются.
• В случае использования сторонних антивирусов и особенно брандмауэров попробуйте их отключить.
• Проверьте файл HOSTS на предмет блокировок IP-адресов.
• Если используется тип сети «Общественная», измените ее на «Частную».
• Отключите на время сетевой протокол teredo, выполнив в консоли команду netsh interface teredo set state disabled (для повторного включения замените ключ disabled на enabled).
Наконец, можно сбросить сетевые настройки из раздела «Сеть и Интернет» приложения «Параметры» на тот случай, если неполадка подключения была обусловлена их сбоем.