Обновлено 15.02.2022
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами разобрали замечательную утилиту командной строки robocopy, и с ее помощью научились создавать точные копии папок, двигать их в нужное расположение и многое другое. В сегодняшней публикации я покажу вам, как устранять ошибку «Сервер RPC недоступен (The rpc server is unavailable)», покажу примеры, когда ее мониторинг очень важен в работе корпоративных сервисов.
Для чего нужна служба «Удаленный вызов процедур (RPC)»
Удаленный вызов процедур (RPC) — это протокол, который одна программа может использовать для запроса услуги у программы, расположенной на другом компьютере в сети, без необходимости разбираться в деталях сети. RPC используется для вызова других процессов на удаленных системах, таких как локальная система. Вызов процедуры также иногда называют вызовом функции или вызовом подпрограммы .
RPC использует модель клиент-сервер. Запрашивающая программа — это клиент, а программа, предоставляющая услуги, — это сервер. Подобно обычному или локальному вызову процедуры, RPC — это синхронная операция, требующая приостановки запрашивающей программы до тех пор, пока не будут возвращены результаты удаленной процедуры. Однако использование облегченных процессов или потоков, которые совместно используют одно и то же адресное пространство, позволяет одновременно выполнять несколько RPC.
Язык определения интерфейса (IDL) — язык спецификации, используемый для описания интерфейса прикладного программирования (API) программного компонента — обычно используется в программном обеспечении удаленного вызова процедур. В этом случае IDL обеспечивает мост между машинами на обоих концах связи, которые могут использовать разные операционные системы (ОС) и компьютерные языки.
Процедура сообщения RPC
Когда программные операторы, использующие структуру RPC, компилируются в исполняемую программу, в скомпилированный код включается заглушка, которая выступает в качестве представителя кода удаленной процедуры. Когда программа запускается и выполняется вызов процедуры, заглушка получает запрос и пересылает его клиентской программе и времени выполнения на локальном компьютере. При первом вызове клиентской заглушки она связывается с сервером имен, чтобы определить транспортный адрес, по которому находится сервер.
Программа среды выполнения клиента знает, как обращаться к удаленному компьютеру и серверному приложению, и отправляет сообщение по сети, которое запрашивает удаленную процедуру. Точно так же сервер включает исполняющую программу и заглушку, которая взаимодействует с самой удаленной процедурой. Протоколы ответа-запроса возвращаются таким же образом.
Данная служба есть в любой операционной системе Windows, начиная от Windows 7 и заканчивая Windows 11 и в любой из Windows Server редакции.
Как работает RPC?
Когда вызывается служба RPC (удаленный вызов процедуры), вызывающая среда приостанавливается, параметры процедуры передаются по сети в среду, в которой должна выполняться процедура, а затем процедура выполняется в этой среде. Когда процедура завершается, результаты передаются обратно в вызывающую среду, где выполнение возобновляется, как если бы оно возвращалось из обычного вызова процедуры.
Во время RPC выполняются следующие шаги:
- Клиент вызывает клиентскую заглушку. Вызов представляет собой вызов локальной процедуры с параметрами, помещенными в стек обычным способом.
- Клиентская заглушка упаковывает параметры процедуры в сообщение и выполняет системный вызов для отправки сообщения. Упаковка параметров процедуры называется маршалингом.
- Локальная ОС клиента отправляет сообщение с клиентского компьютера на удаленный сервер.
- Серверная ОС передает входящие пакеты на серверную заглушку.
- Заглушка сервера распаковывает параметры из сообщения — это называется демаршалингом .
- Когда серверная процедура завершается, она возвращается к серверной заглушке, которая маршалирует возвращаемые значения в сообщение. Затем заглушка сервера передает сообщение на транспортный уровень.
- Транспортный уровень отправляет полученное сообщение обратно на клиентский транспортный уровень, который возвращает сообщение клиентской заглушке.
- Клиентская заглушка не упорядочивает возвращаемые параметры, и выполнение возвращается вызывающей стороне.
Клиент RPC по 135 порту подключается к службе RPC Endpoint Mapper (сопоставления конечных точек), а далее уже запрашивает номер порта, где запущено нужное RPC приложение. Служба сопоставления конечных точек вернет клиенту RPC номер динамического RPC порта (диапазон 1024 – 65535), на котором работает нужная служба. Дальше уже все взаимодействие идет по TCP порту
Если вы видите ошибку «Сервер RPC недоступен” (The RPC server is unavailable)», то у вас точно недоступен порт 135. Это может быть критичным для ряда ситуации. Например вы не сможете сохранить настройки RDS фермы, если у одного из хостов RDSH есть проблемы с RPC, то вы будите видеть ошибку «Could not change the connection state for server», вы не сможете перевести его в режим обслуживания (Drain Mode)
Или в приложении Terminal Services Manager будет ошибка при попытке получения данных «Сервер RPC недоступен«.
Так же RPC может быть причиной проблемы в репликации контроллеров домена, где в логах Windows будет фигурировать ошибка ID 1722. Это очень не приятный момент, который может привести к большим проблемам.
Типы RPC
Существует пять типов RPC:
- Обычный метод работы, при котором клиент выполняет вызов и не продолжает работу до тех пор, пока сервер не вернет ответ.
- Клиент звонит и продолжает свою обработку. Сервер не отвечает.
- Средство для отправки нескольких клиентских неблокирующих вызовов в одном пакете.
- У клиентов RPC есть средство широковещательной рассылки, т. е. Они могут отправлять сообщения на множество серверов, а затем получать все полученные ответы.
- Клиент делает неблокирующий вызов клиент/сервер; сервер сигнализирует о завершении вызова путем вызова процедуры, связанной с клиентом.
Почему может не работать служба RPC
- Удаленный компьютер с которым идет взаимодействие выключен
- На удаленном сервере не запущена или перестала работать служба RPC
- Подключение по RPC происходит не к тому серверу (Может быть проблема с DNS или IP адресом)
- Есть блокировки между клиентом и сервером на фаэрволе
- Используются некорректные настройки сетевого подключение на клиенте или сервере
Преимущества удаленного вызова процедур
К преимуществам удаленного вызова процедур можно отнести следующее:
- помогает клиентам общаться с серверами посредством традиционного использования вызовов процедур на языках высокого уровня;
- может использоваться как в распределенной, так и в локальной среде;
- поддерживает процессно-ориентированные и поточно-ориентированные модели;
- скрывает внутренний механизм передачи сообщений от пользователя;
- требует минимальных усилий для переписывания и повторной разработки кода;
- обеспечивает абстракцию, т. е. характер передачи сообщений по сети скрыт от пользователя;
- опускает многие уровни протокола для повышения производительности.
Недостатки RPC
Некоторые из недостатков RPC включают следующее:
- Клиент и сервер используют разные среды выполнения для своих соответствующих подпрограмм, и использование ресурсов, например файлов, также является более сложным. Следовательно, системы RPC не подходят для передачи больших объемов данных.
- RPC очень уязвим для сбоев, потому что он включает в себя систему связи, другую машину и другой процесс.
- Единого стандарта для RPC не существует; это может быть реализовано множеством способов.
- RPC основан только на взаимодействии и, как таковой, не предлагает гибкости, когда дело касается аппаратной архитектуры.
Проверка доступности службы RPC
- Как я и писал выше, в первую очередь вы должны убедиться, что удаленный компьютер к которому вы делаете проверку RPC доступен по сети. Для этого элементарно откройте командную строку или оболочку PowerShell и воспользуйтесь командой Ping, NSlookup, Test-NetConnection. Я буду производить проверку службы удаленного вызова в PowerShell. Выполним для начала команду Ping. Мой удаленный сервер называется SVT201S01.root.pyatilistnik.org. Пишем команду:
ping SVT201S01.root.pyatilistnik.org
Если вдруг компьютер не ответил, то это не значит, что он не работает, может работать брандмауэр и просто блокировать ping пакеты.
- Далее выполните Nslookup, чтобы удостовериться, что нужное вам имя компьютера преобразовывается в нужный IP-адрес. Выполните:
nslookup SVT201S01.root.pyatilistnik.org
Небольшой пример из практики, предположим, что вы мигрировали сервер в другую подсеть, в итоге в DNS должна быть изменена соответствующая запись, но Windows это поймет не сразу, так как у нее есть свой локальный кэш, он живет 15 минут, поэтому если при проверке DNS имени вам выдается не тот IP-адрес, вам необходимо произвести очистку кэша DNS.
- Далее я вам советую проверить отвечает ли порт. Напоминаю, что служба RPC Endpoint Mapper слушает порт под номером 135. В PowerShell введите команду:
Test-NetConnection svt2019s01.root.pyatilistnik.org -Port 135
Если удаленный RPC порт доступен вы в в строке TcpTestSucceeded будет стоять статус «True».
Если будет порт закрыт или блокируется, то ошибка «Сервер RPC недоступен (The rpc server is unavailable)» вам обеспечена. Поняв, что порт не отвечает, нужно удостовериться, что трафик от клиента до сервера не блокирует фаервол. По умолчанию в любой версии Windows есть встроенный брандмауэр. На время тестирования и поиска причины, я советую его выключить для всех профилей. Сделаем мы это через командную строку:
Netsh Advfirewall set allprofiles state off
Данная команда выключит брандмауэр на всех трех профилях сетевой карты.
Далее если порт 135 стал доступен, то можно делать правила на удаленном сервере. Напоминаю, что нужно сделать правило для трех служб:
- Remote Procedure Call (RPC) — Удаленный вызов процедур (RPC)
- RPC Endpoint Mapper — Сопоставитель конечных точек RPC
- COM Server Process Launcher — Модуль запуска процессов DCOM-сервера
Подробнее, о том как сделать правила — https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-firewall/create-inbound-rules-to-support-rpc)
Еще хочу отметить, что если у вас есть сторонние антивирусные решения, например Касперский, то там так же есть встроенный сетевой экран, где так же нужно будет создать необходимые, разрешающие правила, которые корректно будут обрабатывать трафик динамических RPC портов.
Проверка работы служб RPC
Следующим шагом является проверка состояния службы на нужном вам сервере или компьютере. Проверять следует три службы:
- Remote Procedure Call (RPC) — Удаленный вызов процедур (RPC)
- RPC Endpoint Mapper — Сопоставитель конечных точек RPC
- COM Server Process Launcher — Модуль запуска процессов DCOM-сервера
В оболочке PowerShell выполните команду:
Для локального сервера — Get-Service RpcSs,RpcEptMapper,DcomLaunch| Select DisplayName,Status,StartType
Для удаленного выполнения Enter-PSSession svt2019s01 далее Get-Service RpcSs,RpcEptMapper,DcomLaunch| Select DisplayName,Status,StartType
Напоминаю, что в команде svt2019s01, это имя удаленного сервера. Как видно из примера, все службы RPC запущены и имею автоматический тип запуска.
Если службы не запущены, то откройте оснастку «services.msc’, зайдите в свойства службы и выставите автозапуск и попробуйте запустить вручную.
Если по каким, то причинам вы не можете запустить службу из оснастки, то можно это сделать через реестр (Кстати реестр можно править и удаленно). Для этого есть несколько веток, но для начала откройте окно «Выполнить» и введите regedit.
- Модуль запуска процессов DCOM-сервера — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesDcomLaunch
- Сопоставитель конечных точек RPC — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcEptMapper
- Удаленный вызов процедур (RPC) — ветка реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcSs
В каждом из этих расположений есть ключик «Start«, выставите ему значение «2«, это будет означать автоматический запуск службы.
Дополнительные сетевые проверки
В некоторых случаях причиной ошибок с доступностью RPC выступает сбой на сетевых адаптерах. Помогает сброс сетевых настроек и перезагрузка. В сети с Active Directory, старайтесь, чтобы на всех ваших сетевых адаптерах в свойствах были выставлены обе галки IPV4 и IPV6, особенно это актуально для контроллеров домена, где вы легко можете получать ошибку 1722. Еще может помочь отключение протокола Teredo у IPv6. В командной строке выполните:
netsh interface teredo set state disabled
Для включения обратно введите:
netsh interface teredo set state enabled
Еще на сайте Майкрософт пишут, что необходимо на сервере RPC иметь включенную службу «Удаленный реестр«. На этом у меня все, с вами был Иван Сёмин, автор и создатель IP портала Pyatilistnik.org.
Модератор: terminus
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
PSdok
- ст. сержант
- Сообщения: 359
- Зарегистрирован: 2006-10-05 18:27:56
- Откуда: Нижний НОвгород
SAMBA не выводит списка расшареных ресурсов
FreeBSD 11.0
samba46-4.6.4
ip адрес сервера 192.168.0.245
Пытаюсь настроить файловый сервер.
smb4.conf
Код: Выделить всё
# Global parameters
[global]
dos charset = cp866
interfaces = 192.168.0.0/16 127.0.0.1/8
netbios name = SAMBA
realm = DOM1
workgroup = DOM1
domain master = No
local master = No
os level = 65
preferred master = Yes
log file = /var/log/samba/smbd.log
max log size = 50
auto services = global
disable spoolss = Yes
load printers = No
printcap name = /dev/null
show add printer wizard = No
max xmit = 65536
unix extensions = No
map to guest = Bad User
security = USER
deadtime = 15
dns proxy = No
idmap config * : backend = tdb
wide links = Yes
use sendfile = Yes
[1c8]
comment = Архивы 1с8
path = /mnt/sata/archiv/1c8
create mask = 0777
directory mask = 0777
guest ok = Yes
read only = No
если я обращаюсь к ресурсу 192.168.0.2451с8
то я получаю доступ в папку
если перехожу на уровень выше 192.168.0.245
то вылетает ошибка
«Нет доступа к 192.168.0.245 Возможно у ВАс не т прав на использование этого сетевого ресурса.
Ошибка протокола удаленного вызова процедур (RPC) «
уже не знаю куда копать…
-
Хостинг HostFood.ru
Услуги хостинговой компании Host-Food.ru
Хостинг HostFood.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
ski
- старшина
- Сообщения: 425
- Зарегистрирован: 2008-08-25 18:10:44
- Откуда: СССР, РФ, Сталинградская область, село Безродное
- Контактная информация:
SAMBA не выводит списка расшареных ресурсов
Непрочитанное сообщение
ski » 2017-06-26 18:29:26
ПОпробовать для начала коммент к шаре написать на латинице и без пробела.
-
PSdok
- ст. сержант
- Сообщения: 359
- Зарегистрирован: 2006-10-05 18:27:56
- Откуда: Нижний НОвгород
SAMBA не выводит списка расшареных ресурсов
Непрочитанное сообщение
PSdok » 2017-06-26 19:24:45
Graf писал(а):Давай так посмотрим:
пробовал писать, но testparm выдает листинг без browseable
Отправлено спустя 3 минуты 43 секунды:
Graf писал(а):Давай так посмотрим:
Код: Выделить всё
admin@proxy:/usr/local/etc# smbclient -L localhost -UAdmin
Enter DOM1Admin's password:
Domain=[SAMBA] OS=[] Server=[]
Sharename Type Comment
--------- ---- -------
../source3/rpc_client/cli_pipe.c:564: RPC fault code DCERPC_NCA_S_PROTO_ERROR received from host localhost!
1c8 Disk distrib
IPC$ IPC IPC Service (Samba 4.6.4)
Domain=[SAMBA] OS=[] Server=[]
Server Comment
--------- -------
Workgroup Master
--------- -------
DOM1 SERVER-M
-
Graf
- сержант
- Сообщения: 205
- Зарегистрирован: 2008-10-29 18:44:32
- Контактная информация:
SAMBA не выводит списка расшареных ресурсов
Непрочитанное сообщение
Graf » 2017-06-26 20:04:24
А в hosts или DNS он прописан правильно?
-
PSdok
- ст. сержант
- Сообщения: 359
- Зарегистрирован: 2006-10-05 18:27:56
- Откуда: Нижний НОвгород
SAMBA не выводит списка расшареных ресурсов
Непрочитанное сообщение
PSdok » 2017-06-26 22:07:49
Graf писал(а):А в hosts или DNS он прописан правильно?
да, резолвится
-
Graf
- сержант
- Сообщения: 205
- Зарегистрирован: 2008-10-29 18:44:32
- Контактная информация:
SAMBA не выводит списка расшареных ресурсов
Непрочитанное сообщение
Graf » 2017-06-27 11:05:16
Может данный сервер, всё таки, член домена, а не автономный (standalone) сервер?
Смущает.
security = USER, но realm = DOM1 — по сути тут kerberos
и
domain master = No
local master = No
и вдруг сервер становится master browser
preferred master = Yes
Может оно так и можно, но, имхо, конфиг избыточен для security = USER, больше похоже на security = ADS с мелкими поправками.
Может увеличить уровень логирования, вдруг что-то ещё всплывет?
-
PSdok
- ст. сержант
- Сообщения: 359
- Зарегистрирован: 2006-10-05 18:27:56
- Откуда: Нижний НОвгород
SAMBA не выводит списка расшареных ресурсов
Непрочитанное сообщение
PSdok » 2017-06-27 11:16:34
перевел комментарии на латиницу и все взлетело )))
список шар стало видно
но
не работает авторизация с w2003. Можно зайти только как Гость
С w2012 заходит .
-
snorlov
- подполковник
- Сообщения: 3918
- Зарегистрирован: 2008-09-04 11:51:25
- Откуда: Санкт-Петербург
SAMBA не выводит списка расшареных ресурсов
Непрочитанное сообщение
snorlov » 2017-06-27 13:20:38
Значит надо принудительно опустить параметры безопасности в самбе.
-
PSdok
- ст. сержант
- Сообщения: 359
- Зарегистрирован: 2006-10-05 18:27:56
- Откуда: Нижний НОвгород
SAMBA не выводит списка расшареных ресурсов
Непрочитанное сообщение
PSdok » 2017-06-27 15:00:34
snorlov писал(а): Значит надо принудительно опустить параметры безопасности в самбе.
каким образом это сделать?
-
ski
- старшина
- Сообщения: 425
- Зарегистрирован: 2008-08-25 18:10:44
- Откуда: СССР, РФ, Сталинградская область, село Безродное
- Контактная информация:
SAMBA не выводит списка расшареных ресурсов
Непрочитанное сообщение
ski » 2017-06-28 9:18:49
А хрен его знает, я последний раз самбу заводил полгода назад и не помню, чтобы у меня такие проблемы были. В любом случае, искать на http://wiki.samba.org
Отправлено спустя 10 минут 46 секунд:
А, кстати, вот, нашеолу себя в сохраненном:
А надо сразу сказать что к Windows 8 и SAMBA4 это не касается, а вот в Windows 7,Vista, иногда XP и SAMBA3 не войти в домен если в реестре оных ПК по адресу
HKLMSystemCCSServicesLanmanWorkstationParameters
недобавить или не отредактировать DWORD строки
DomainCompatibilityMode = 1
DNSNameResolutionRequired = 0
И в локальных политиках gpedit.msc не поменять на:
Computer Config > Windows Settings > Security Settings > Local Policies > Security Options
Тут выбираем как написано:
Network Security: LAN Manager Auth. Level: Send LM&NTLM use NTLMv2 session sec. if negociated
И два раза убрать галочку в с:
Network Security: Minimum session…clients: NO Required 128b encryption
Network Security: Minimum session… servеr: NO Required 128b encryption
Где взял — уже не помню
-
snorlov
- подполковник
- Сообщения: 3918
- Зарегистрирован: 2008-09-04 11:51:25
- Откуда: Санкт-Петербург
SAMBA не выводит списка расшареных ресурсов
Непрочитанное сообщение
snorlov » 2017-06-28 10:04:34
PSdok писал(а):
snorlov писал(а): Значит надо принудительно опустить параметры безопасности в самбе.
каким образом это сделать?
Там есть такой параметр как max protocol, попробуйте ее…
Обновлено 15.02.2022
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами разобрали замечательную утилиту командной строки robocopy, и с ее помощью научились создавать точные копии папок, двигать их в нужное расположение и многое другое. В сегодняшней публикации я покажу вам, как устранять ошибку «Сервер RPC недоступен (The rpc server is unavailable)», покажу примеры, когда ее мониторинг очень важен в работе корпоративных сервисов.
Удаленный вызов процедур (RPC) — это протокол, который одна программа может использовать для запроса услуги у программы, расположенной на другом компьютере в сети, без необходимости разбираться в деталях сети. RPC используется для вызова других процессов на удаленных системах, таких как локальная система. Вызов процедуры также иногда называют вызовом функции или вызовом подпрограммы .
RPC использует модель клиент-сервер. Запрашивающая программа — это клиент, а программа, предоставляющая услуги, — это сервер. Подобно обычному или локальному вызову процедуры, RPC — это синхронная операция, требующая приостановки запрашивающей программы до тех пор, пока не будут возвращены результаты удаленной процедуры. Однако использование облегченных процессов или потоков, которые совместно используют одно и то же адресное пространство, позволяет одновременно выполнять несколько RPC.
Язык определения интерфейса (IDL) — язык спецификации, используемый для описания интерфейса прикладного программирования (API) программного компонента — обычно используется в программном обеспечении удаленного вызова процедур. В этом случае IDL обеспечивает мост между машинами на обоих концах связи, которые могут использовать разные операционные системы (ОС) и компьютерные языки.
Процедура сообщения RPC
Когда программные операторы, использующие структуру RPC, компилируются в исполняемую программу, в скомпилированный код включается заглушка, которая выступает в качестве представителя кода удаленной процедуры. Когда программа запускается и выполняется вызов процедуры, заглушка получает запрос и пересылает его клиентской программе и времени выполнения на локальном компьютере. При первом вызове клиентской заглушки она связывается с сервером имен, чтобы определить транспортный адрес, по которому находится сервер.
Программа среды выполнения клиента знает, как обращаться к удаленному компьютеру и серверному приложению, и отправляет сообщение по сети, которое запрашивает удаленную процедуру. Точно так же сервер включает исполняющую программу и заглушку, которая взаимодействует с самой удаленной процедурой. Протоколы ответа-запроса возвращаются таким же образом.
Данная служба есть в любой операционной системе Windows, начиная от Windows 7 и заканчивая Windows 11 и в любой из Windows Server редакции.
Как работает RPC?
Когда вызывается служба RPC (удаленный вызов процедуры), вызывающая среда приостанавливается, параметры процедуры передаются по сети в среду, в которой должна выполняться процедура, а затем процедура выполняется в этой среде. Когда процедура завершается, результаты передаются обратно в вызывающую среду, где выполнение возобновляется, как если бы оно возвращалось из обычного вызова процедуры.
Во время RPC выполняются следующие шаги:
- Клиент вызывает клиентскую заглушку. Вызов представляет собой вызов локальной процедуры с параметрами, помещенными в стек обычным способом.
- Клиентская заглушка упаковывает параметры процедуры в сообщение и выполняет системный вызов для отправки сообщения. Упаковка параметров процедуры называется маршалингом.
- Локальная ОС клиента отправляет сообщение с клиентского компьютера на удаленный сервер.
- Серверная ОС передает входящие пакеты на серверную заглушку.
- Заглушка сервера распаковывает параметры из сообщения — это называется демаршалингом .
- Когда серверная процедура завершается, она возвращается к серверной заглушке, которая маршалирует возвращаемые значения в сообщение. Затем заглушка сервера передает сообщение на транспортный уровень.
- Транспортный уровень отправляет полученное сообщение обратно на клиентский транспортный уровень, который возвращает сообщение клиентской заглушке.
- Клиентская заглушка не упорядочивает возвращаемые параметры, и выполнение возвращается вызывающей стороне.
Клиент RPC по 135 порту подключается к службе RPC Endpoint Mapper (сопоставления конечных точек), а далее уже запрашивает номер порта, где запущено нужное RPC приложение. Служба сопоставления конечных точек вернет клиенту RPC номер динамического RPC порта (диапазон 1024 – 65535), на котором работает нужная служба. Дальше уже все взаимодействие идет по TCP порту
Если вы видите ошибку «Сервер RPC недоступен” (The RPC server is unavailable)», то у вас точно недоступен порт 135. Это может быть критичным для ряда ситуации. Например вы не сможете сохранить настройки RDS фермы, если у одного из хостов RDSH есть проблемы с RPC, то вы будите видеть ошибку «Could not change the connection state for server», вы не сможете перевести его в режим обслуживания (Drain Mode)
Или в приложении Terminal Services Manager будет ошибка при попытке получения данных «Сервер RPC недоступен«.
Так же RPC может быть причиной проблемы в репликации контроллеров домена, где в логах Windows будет фигурировать ошибка ID 1722. Это очень не приятный момент, который может привести к большим проблемам.
Типы RPC
Существует пять типов RPC:
- Обычный метод работы, при котором клиент выполняет вызов и не продолжает работу до тех пор, пока сервер не вернет ответ.
- Клиент звонит и продолжает свою обработку. Сервер не отвечает.
- Средство для отправки нескольких клиентских неблокирующих вызовов в одном пакете.
- У клиентов RPC есть средство широковещательной рассылки, т. е. Они могут отправлять сообщения на множество серверов, а затем получать все полученные ответы.
- Клиент делает неблокирующий вызов клиент/сервер; сервер сигнализирует о завершении вызова путем вызова процедуры, связанной с клиентом.
Почему может не работать служба RPC
- Удаленный компьютер с которым идет взаимодействие выключен
- На удаленном сервере не запущена или перестала работать служба RPC
- Подключение по RPC происходит не к тому серверу (Может быть проблема с DNS или IP адресом)
- Есть блокировки между клиентом и сервером на фаэрволе
- Используются некорректные настройки сетевого подключение на клиенте или сервере
Преимущества удаленного вызова процедур
К преимуществам удаленного вызова процедур можно отнести следующее:
- помогает клиентам общаться с серверами посредством традиционного использования вызовов процедур на языках высокого уровня;
- может использоваться как в распределенной, так и в локальной среде;
- поддерживает процессно-ориентированные и поточно-ориентированные модели;
- скрывает внутренний механизм передачи сообщений от пользователя;
- требует минимальных усилий для переписывания и повторной разработки кода;
- обеспечивает абстракцию, т. е. характер передачи сообщений по сети скрыт от пользователя;
- опускает многие уровни протокола для повышения производительности.
Недостатки RPC
Некоторые из недостатков RPC включают следующее:
- Клиент и сервер используют разные среды выполнения для своих соответствующих подпрограмм, и использование ресурсов, например файлов, также является более сложным. Следовательно, системы RPC не подходят для передачи больших объемов данных.
- RPC очень уязвим для сбоев, потому что он включает в себя систему связи, другую машину и другой процесс.
- Единого стандарта для RPC не существует; это может быть реализовано множеством способов.
- RPC основан только на взаимодействии и, как таковой, не предлагает гибкости, когда дело касается аппаратной архитектуры.
Проверка доступности службы RPC
- Как я и писал выше, в первую очередь вы должны убедиться, что удаленный компьютер к которому вы делаете проверку RPC доступен по сети. Для этого элементарно откройте командную строку или оболочку PowerShell и воспользуйтесь командой Ping, NSlookup, Test-NetConnection. Я буду производить проверку службы удаленного вызова в PowerShell. Выполним для начала команду Ping. Мой удаленный сервер называется SVT201S01.root.pyatilistnik.org. Пишем команду:
ping SVT201S01.root.pyatilistnik.org
Если вдруг компьютер не ответил, то это не значит, что он не работает, может работать брандмауэр и просто блокировать ping пакеты.
- Далее выполните Nslookup, чтобы удостовериться, что нужное вам имя компьютера преобразовывается в нужный IP-адрес. Выполните:
nslookup SVT201S01.root.pyatilistnik.org
Небольшой пример из практики, предположим, что вы мигрировали сервер в другую подсеть, в итоге в DNS должна быть изменена соответствующая запись, но Windows это поймет не сразу, так как у нее есть свой локальный кэш, он живет 15 минут, поэтому если при проверке DNS имени вам выдается не тот IP-адрес, вам необходимо произвести очистку кэша DNS.
- Далее я вам советую проверить отвечает ли порт. Напоминаю, что служба RPC Endpoint Mapper слушает порт под номером 135. В PowerShell введите команду:
Test-NetConnection svt2019s01.root.pyatilistnik.org -Port 135
Если удаленный RPC порт доступен вы в в строке TcpTestSucceeded будет стоять статус «True».
Если будет порт закрыт или блокируется, то ошибка «Сервер RPC недоступен (The rpc server is unavailable)» вам обеспечена. Поняв, что порт не отвечает, нужно удостовериться, что трафик от клиента до сервера не блокирует фаервол. По умолчанию в любой версии Windows есть встроенный брандмауэр. На время тестирования и поиска причины, я советую его выключить для всех профилей. Сделаем мы это через командную строку:
Netsh Advfirewall set allprofiles state off
Данная команда выключит брандмауэр на всех трех профилях сетевой карты.
Далее если порт 135 стал доступен, то можно делать правила на удаленном сервере. Напоминаю, что нужно сделать правило для трех служб:
- Remote Procedure Call (RPC) — Удаленный вызов процедур (RPC)
- RPC Endpoint Mapper — Сопоставитель конечных точек RPC
- COM Server Process Launcher — Модуль запуска процессов DCOM-сервера
Подробнее, о том как сделать правила — https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-firewall/create-inbound-rules-to-support-rpc)
Еще хочу отметить, что если у вас есть сторонние антивирусные решения, например Касперский, то там так же есть встроенный сетевой экран, где так же нужно будет создать необходимые, разрешающие правила, которые корректно будут обрабатывать трафик динамических RPC портов.
Проверка работы служб RPC
Следующим шагом является проверка состояния службы на нужном вам сервере или компьютере. Проверять следует три службы:
- Remote Procedure Call (RPC) — Удаленный вызов процедур (RPC)
- RPC Endpoint Mapper — Сопоставитель конечных точек RPC
- COM Server Process Launcher — Модуль запуска процессов DCOM-сервера
В оболочке PowerShell выполните команду:
Для локального сервера — Get-Service RpcSs,RpcEptMapper,DcomLaunch| Select DisplayName,Status,StartType
Для удаленного выполнения Enter-PSSession svt2019s01 далее Get-Service RpcSs,RpcEptMapper,DcomLaunch| Select DisplayName,Status,StartType
Напоминаю, что в команде svt2019s01, это имя удаленного сервера. Как видно из примера, все службы RPC запущены и имею автоматический тип запуска.
Если службы не запущены, то откройте оснастку «services.msc’, зайдите в свойства службы и выставите автозапуск и попробуйте запустить вручную.
Если по каким, то причинам вы не можете запустить службу из оснастки, то можно это сделать через реестр (Кстати реестр можно править и удаленно). Для этого есть несколько веток, но для начала откройте окно «Выполнить» и введите regedit.
- Модуль запуска процессов DCOM-сервера — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesDcomLaunch
- Сопоставитель конечных точек RPC — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcEptMapper
- Удаленный вызов процедур (RPC) — ветка реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcSs
В каждом из этих расположений есть ключик «Start«, выставите ему значение «2«, это будет означать автоматический запуск службы.
Дополнительные сетевые проверки
В некоторых случаях причиной ошибок с доступностью RPC выступает сбой на сетевых адаптерах. Помогает сброс сетевых настроек и перезагрузка. В сети с Active Directory, старайтесь, чтобы на всех ваших сетевых адаптерах в свойствах были выставлены обе галки IPV4 и IPV6, особенно это актуально для контроллеров домена, где вы легко можете получать ошибку 1722. Еще может помочь отключение протокола Teredo у IPv6. В командной строке выполните:
netsh interface teredo set state disabled
Для включения обратно введите:
netsh interface teredo set state enabled
Еще на сайте Майкрософт пишут, что необходимо на сервере RPC иметь включенную службу «Удаленный реестр«. На этом у меня все, с вами был Иван Сёмин, автор и создатель IP портала Pyatilistnik.org.
Ошибка “
Сервер RPC недоступен
” (
The RPC server is unavailable
) появляется в Windows при ошибке коммуникации между двумя компьютерами по сети, когда компьютер (клиент RPC) не может подключиться к удаленному компьютеру (сервер RPC). В результате программа, которую вы запустили, не работает и возвращает ошибку, т.к. не можете получить данные с удаленного сервера. В этой статье мы разберем наиболее частые проблемы, которые могут препятствовать нормальному взаимодействию компьютеров через сеть по протоколу RPC.
Протокол RPC (Remote Process Call, удаленный вызов процедур) – это распространённый протокол взаимодействия приложений в локальной сети. В основном он используется для обмена данными с удалённым компьютерам, но есть некоторые программы, которые используют RPC для локальных взаимодействий между приложением и запущенной локально службой.
В типовом сеансе клиент RPC подключается к службе RPC Endpoint Mapper (сопоставления конечных точек) на RPC сервере по TCP порту 135 и запрашивает номер порта, на котором запущено нужное ему RPC приложение (служба). Служба RPC Endpoint Mapper возвращает клиенту номер динамического RPC порта, назначенного указанной службе при запуске. Затем RPC клиент взаимодействует с RPC службой по указанному TCP порту.
Если RPC клиент не смог подключиться к RPC серверу, в приложении появится ошибка:
The RPC server is unavailable
В современных версиях Windows (начиная с Windows Vista/2008) используется следующий диапазон динамических RPC портов (Dynamic RPC Port range): 49152 — 65535 (в Windows Server 2003 / XP и ниже использовался другой диапазон 1024 – 65535.
Наиболее распространённые проблемы, из-за которых не работает RPC взаимодействие между компьютерами:
- Удаленный компьютер выключен;
- Не запущены службы RPC на сервере;
- Вы пытаетесь подключиться к RPC серверу по неправильному имени (или как вариант, DNS имени сервера соответствует неверный IP адрес);
- Используются некорректные настройки сетевого подключение на клиенте или сервере;
- RPC трафик между клиентом и сервером блокируется файерволом;
Проверка доступности удаленного компьютера
Убедитесь, что удаленный компьютер включен, отвечает на ping по имени и IP адресу. Если RPC сервер не доступен по имени, проверьте корректность DNS записей и попробуйте сбросить DNS кэш на клиенте:
ipconfig /flushdns
.
Если имя компьютера, на котором запущен RPC-сервер недавно изменилось, попробуйте перерегистрировать его в DNS Active Directory:
ipconfig /registerdns
Проверка служб RPC
Проверьте, что на сервере запущены службы, которые необходимы для обработки входящих RPC подключений:
- Откройте консоль управления службами (services.msc);
- Убедитесь, что следующие службы запущены (статус Running), а тип их запуска – автоматический: Remote Procedure Call (RPC), RPC Endpoint Mapper и DCOM Server Process Launcher;
Если RPC службы отключены и не запускаются, попробуйте активировать их через реестр. Найдите ветки этих служб в реестре и измените значение параметра Start на 2 (автоматический запуск службы):
- Удаленный вызов процедур (RPC) — ветка реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcSs
- Сопоставитель конечных точек RPC — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcEptMapper
- Модуль запуска процессов DCOM-сервера — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesDcomLaunch
RPC блокируется файерволом (брандмауэром)
Убедитесь, что RPC трафик между компьютерами не блокируется файеволом. Если у вас используется Windows Defender Firewall with Advanced Security, нужно проверить или создать правила, разрешающие RPC трафик. Одно правило, разрешающее доступ к службе RPC Endpoint Mapper по порту TCP/135; второе должно разрешать доступ к RPC службе, которая вам нужна по динамическим RPC портам (RPC Dynamic Ports). Правила нужно создать для всех трех сетевых профилей: Domain, Private и Public.
Проверьте с клиента, что на RPC сервере доступен 135 порт TCP (должен слушаться службой RPC Endpoint Mapper). Можно проверить доступность порта из PowerShell:
Test-NetConnection 192.168.1.201 -port 135
Если RPC порт доступен, должен появится ответ
TcpTestSucceeded:True
.
Вы можете получить список конечных точек RPC (сервисов и приложений), которые зарегистрированы на удаленном компьютере и анонсируются службой RPC Endpoint Mapper с помощью утилиту PortQry
portqry -n 192.168.1.201 -p tcp -e 135
В выводе PortQry можно найти номер порта, назначенный нужной вам службе RPC (она запущена?) и проверить, что этот порт не блокируется с клиента.
Если у вас используется сторонний файервол/антивирус, убедитесь, что он не блокирует RPC трафик и умеет корректно обрабатывать трафик динамических RPC портов.
Проверка сетевых протоколов и настроек
Убедитесь, что на вашем компьютере заданы корректные сетевые настройки: IP адрес, шлюз, маска сети, настройки DNS серверов (можно проверить настройки сети из PowerShell). Проверьте, что в настройках сетевого адаптера, используемого для подключения включены протоколы Internet Protocol Version 6 (TCP/IPv6) и File and Printer Sharing for Microsoft Networks
Некоторые сетевые приложения некорректно работают при отключенном протоколе TCP/IPv6, возвращая ошибку:
1722 The RPC server is unavailable
. Если после включения ipv6 ошибка RPC сохраняется, попробуйте отключить протокол Teredo через реестр:
Создайте в ветке реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip6Parameters параметр типа DWORD с именем DisabledComponents и значением 8:
reg add hklmsystemcurrentcontrolsetservicestcpip6parameters /v DisabledComponents /t REG_DWORD /d 8
В некоторых случаях приходится получаить дамп трафика на RPC сервера и анализирвать его с помощью Microsoft Network Monitor 3.4 или Message Analyzer.
Remote Process Call (RPC) в переводе «удаленный вызов процедур» — это протокол, который позволяет программам на одном компьютере получать доступ к определенным службам программы на другом компьютере, который находится в той же сети. Другими словами, его основная цель, это дать возможность клиенту и серверу взаимодействовать друг с другом по сети. Но, иногда пользователи сталкиваться с ошибкой «Сервер RPC недоступен» в Windows 10, и ошибка может появляться при подключении к удаленному рабочему столу, при попытке распечатать документ на сетевом принтере, в почте outlook, abbyy licensing service и т.п. Недоступность RPC может быть не только по локальной сети, а так же в периферийных устройствах контроллера как сканер или принтер.
Причины ошибки, когда сервер RPC недоступен в Windows 10 могут быть разные, но в основном это: служба(ы) требуемые для RPC отключены, удаленный помощник отключен в брандмауэре, IPV6 или общий доступ к файлам и принтерам отключен, IP-адрес приводит к сбою сервера RPC или службы RPC отключены в реестре. Давайте разберем эти моменты, чтобы исправить ошибку, когда удаленный вызов процедур дает сбой и появляется ошибка, что сервер RPC недоступен в Windows 10.
1. Проверка служб RPC
Службы RPC могут перейти от автоматического режима в ручной, что и будет вызывать ошибку. Первым делом стоит проверить службу. Нажмите сочетание кнопок Win+R и введите services.msc, чтобы быстро открыть службы. В предоставленном списке найдите следующие службы и нажмите правой кнопкой мыши, выберите «свойства». Задайте параметры, если у вас не так — Тип запуска: Автоматически и запустить, если служба остановлена.
- Локатор удаленного вызова процедур (RPC).
- Модуль запуска процессов DCOM-сервера.
- Удаленный вызов процедур (RPC).
Примечание:
- Если у вас ошибка связанная с программой ABBYY licensing service, то ищите службу с названием ABBYY FineReader и установить для нее те же значения.
- Если у вас стоят не правильные параметры и не можете ничего изменить (выделено все серым), то следуйте 5 способу.
2. Удаленный помощник в брандмауэре
Удаленный помощник — функция, которая позволяет другим пользователям или компьютерам видеть экран вашего компьютера и управлять им. При подключении к удаленному компьютеру, вы также можете столкнуться с ошибкой RPC, поскольку клиент и сервер обмениваются информацией в гораздо большем и сложном масштабе. Если брандмауэр не настроен, вы увидите ошибку «Сервер RPC недоступен».
Нажмите Win+R и введите firewall.cpl, чтобы открыть параметры брандмауэра. Слева нажмите на «Разрешение взаимодействия с приложениями«.
Найдите «Удаленный помощник» и удостоверьтесь, что параметры для сети, включены везде. Перезагрузите компьютер или ноутбук, и проверьте, исправлена ли ошибка, когда сервер RPC недоступен.
3. Включение IPV6 и общего доступа к файлам и принтерам
В некоторых случаях вы можете столкнуться с ошибкой 1722: RPC сервер недоступен, когда происходит сбой сетевого подключения, так как отключены сетевой доступ к принтерам для сетей Microsoft и протокол TCP/IPv6.
Нажмите Win+R и введите ncpa.cpl, чтобы открыть сетевые адаптеры. Нажмите на сетевом адаптеры, через которое идет сеть, и выберите «свойства». Далее в списке найдите два параметра и убедитесь что они включены (галочки установлены).
- Общий доступ к файлам и принтерам для сетей Microsft.
- IP версии 6 (TCP/IPv6).
Если ошибка «сервер RPC недоступен» с кодом 1722 все еще появляется, то двигаемся ниже.
4. Очистить DNS
Очистка старых DNS может исправить код ошибки 1722 RPC. В первую очередь убедитесь, что службы, связанные с RPC, работают как в способе 1. Далее запускаем командную строку от имени администратора и введите следующие команды для очистки и сброса DNS:
ipconfig /flushdnsipconfig /renew
Проверьте, исправлена ли ошибка 1722 RPC недоступен.
5. Редактор реестра для запуска RPC служб
Если вы не смогли запустить службы способом 1, то запустим их через реестр. Для полной эффективности, убедитесь, что вы проделали способ 3 и способ 4. Нажмите Win+R и введите regedit, чтобы открыть редактор реестра.
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRpcSs- Справа щелкните два раза мышкой по Start и установите значение 2 с шестнадцатеричной системой.
- Это активирует удаленный вызов процедур (RPC).
Далее перейдите:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDcomLaunch- Откройте параметр Start и задайте значение 2 с шестнадцатеричной системой.
- Это запустит модуль запуска процессов DCOM-сервера.
И еще по одному пути:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRpcEptMapper- Откройте параметр Start и задайте значение 2 с шестнадцатеричной системой.
- Это запустит локатор удаленного вызова процедур (RPC).
Перезагрузите ПК и проверьте, исправлена ли ошибка, когда RPC сервер недоступен в Windows 10.
Смотрите еще:
- Подключение к удаленному рабочему столу в Windows
- Исправить ошибку pcl xl error при печати на принтере
- Операционная система не найдена при включении компьютера
- Как удалить драйвер принтера из системы Windows 10/7/8.1
- Ошибка 0x00000709 при подключении принтера в Windows 10
[ Telegram | Поддержать ]
Download PC Repair Tool to quickly find & fix Windows errors automatically
If you receive RPC server is unavailable message, then this post shows how to troubleshoot Remote Procedure Call failed errors & problems on Windows 11/10. RPC or Remote Procedure Call is a network-based programming model which allows point-to-point communications between software applications. In this guide, we will share how to troubleshoot Remote Procedure Call errors. The errors can happen while connecting to Windows Management Instrumentation (WMI), SQL Server, during a remote connection, or for some Microsoft Management Console (MMC) snap-ins.
Troubleshoot Remote Procedure Call errors

“RPC server is unavailable” is one of the most common issues that occur. It could be a simple network issue, or the server is not up to respond. Let’s take a look at the list of tools which we can use to troubleshoot remote procedure call errors. You can either use PowerShell or Command Prompt with admin privileges to run these commands.
You will have to use Microsoft Network Monitor or Microsoft Message Analyzer to analyze logs.
PortQuery
This tool helps you figure out the problem with the port you are trying to connect. It can determine if your application or computer can connect to the server.
Portqry.exe -n <ServerIP> -e 135
The above command tries to query TCP port 25 on the give Server IP. If you use a website here, it will translate to the IP address internally. In the output, look for *ip_tcp, and port number. If the connection fails, you should see a failed response in return. If everything looks fine, look for a port number (marked in bold) at the end which should look like
....Server's response: UUID: d95afe70-a6d5-4259-822e-2c84da1ddb0d ncacn_ip_tcp:169.254.0.10[49664]
If you don’t see any port number, it means something is wrong on the server end, and the port is not listening.
Netsh
Next, you can use the Netsh command to collect simultaneous trace data. TRACE here means path from one point to another on a network. If there is anything that is causing a problem in between, you will know.
On the client run:
Netsh trace start scenario=netconnection capture=yes tracefile=c:client_nettrace.etl maxsize=512 overwrite=yes report=yes
On the Server run:
Netsh trace start scenario=netconnection capture=yes tracefile=c:server_nettrace.etl maxsize=512 overwrite=yes report=yes
The above command keeps a log in a tracefile(.etl). Keep this window of Command Prompt ready.
Now try to reproduce the issue you had been facing on the client machine. You may have to press some buttons on the software or anything that was causing a problem for you. As soon as you see the issue, run Netsh trace stop on the Command Prompt of the client machine.
Now use the analyser tool and filter the trace for
Ipv4.address== and ipv4.address== and tcp.port==135 or just tcp.port==135
Also, look for the “EPM” Protocol Under the “Protocol” column.
Now check if you get a response from the server. If you get a response, note the dynamic port number that you have been allocated to use.
- Check if you can connect successfully to this Dynamic port successfully.
- The filter should be something like this: tcp.port== and ipv4.address==
It should help you verify the connectivity and isolate if any network issues there.
Related: Fix Remote Procedure Call High CPU Usage.
Port not reachable
The most common reason why we would see the RPC server unavailable is when the dynamic port that the client tries to connect is not reachable. If you see trace breaking in between, returning with the port not found an error, and so on, then it could be because of following possible reasons
- The Firewall has blocked the dynamic port range.
- A router or a network device in the middle is dropping the packet; the response is not coming back.
- The destination server is dropping the packets (WFP drop / NIC drop/ Filter driver etc.).
The best practice for Post not reachable issue is using dynamic allocation. The registry allows admins to configure RPC dynamic port allocation.
These tools and tips help you analyze and figure out the problem. The solution will depend on what exactly is the problem and will depend on the software and the server.
Check these related posts if you receive:
- The Remote Procedure Call Failed error for Microsoft Store apps
- The Remote Procedure Call Failed while making PIN as Sign-in Option
- The RPC server is unavailable
- The remote procedure call failed error while using DISM.
Ashish is a veteran Windows and Xbox user who excels in writing tips, tricks, and features on it to improve your day-to-day experience with your devices. He has been a Microsoft MVP (2008-2010).
Download PC Repair Tool to quickly find & fix Windows errors automatically
If you receive RPC server is unavailable message, then this post shows how to troubleshoot Remote Procedure Call failed errors & problems on Windows 11/10. RPC or Remote Procedure Call is a network-based programming model which allows point-to-point communications between software applications. In this guide, we will share how to troubleshoot Remote Procedure Call errors. The errors can happen while connecting to Windows Management Instrumentation (WMI), SQL Server, during a remote connection, or for some Microsoft Management Console (MMC) snap-ins.
Troubleshoot Remote Procedure Call errors

“RPC server is unavailable” is one of the most common issues that occur. It could be a simple network issue, or the server is not up to respond. Let’s take a look at the list of tools which we can use to troubleshoot remote procedure call errors. You can either use PowerShell or Command Prompt with admin privileges to run these commands.
You will have to use Microsoft Network Monitor or Microsoft Message Analyzer to analyze logs.
PortQuery
This tool helps you figure out the problem with the port you are trying to connect. It can determine if your application or computer can connect to the server.
Portqry.exe -n <ServerIP> -e 135
The above command tries to query TCP port 25 on the give Server IP. If you use a website here, it will translate to the IP address internally. In the output, look for *ip_tcp, and port number. If the connection fails, you should see a failed response in return. If everything looks fine, look for a port number (marked in bold) at the end which should look like
....Server's response: UUID: d95afe70-a6d5-4259-822e-2c84da1ddb0d ncacn_ip_tcp:169.254.0.10[49664]
If you don’t see any port number, it means something is wrong on the server end, and the port is not listening.
Netsh
Next, you can use the Netsh command to collect simultaneous trace data. TRACE here means path from one point to another on a network. If there is anything that is causing a problem in between, you will know.
On the client run:
Netsh trace start scenario=netconnection capture=yes tracefile=c:client_nettrace.etl maxsize=512 overwrite=yes report=yes
On the Server run:
Netsh trace start scenario=netconnection capture=yes tracefile=c:server_nettrace.etl maxsize=512 overwrite=yes report=yes
The above command keeps a log in a tracefile(.etl). Keep this window of Command Prompt ready.
Now try to reproduce the issue you had been facing on the client machine. You may have to press some buttons on the software or anything that was causing a problem for you. As soon as you see the issue, run Netsh trace stop on the Command Prompt of the client machine.
Now use the analyser tool and filter the trace for
Ipv4.address== and ipv4.address== and tcp.port==135 or just tcp.port==135
Also, look for the “EPM” Protocol Under the “Protocol” column.
Now check if you get a response from the server. If you get a response, note the dynamic port number that you have been allocated to use.
- Check if you can connect successfully to this Dynamic port successfully.
- The filter should be something like this: tcp.port== and ipv4.address==
It should help you verify the connectivity and isolate if any network issues there.
Related: Fix Remote Procedure Call High CPU Usage.
Port not reachable
The most common reason why we would see the RPC server unavailable is when the dynamic port that the client tries to connect is not reachable. If you see trace breaking in between, returning with the port not found an error, and so on, then it could be because of following possible reasons
- The Firewall has blocked the dynamic port range.
- A router or a network device in the middle is dropping the packet; the response is not coming back.
- The destination server is dropping the packets (WFP drop / NIC drop/ Filter driver etc.).
The best practice for Post not reachable issue is using dynamic allocation. The registry allows admins to configure RPC dynamic port allocation.
These tools and tips help you analyze and figure out the problem. The solution will depend on what exactly is the problem and will depend on the software and the server.
Check these related posts if you receive:
- The Remote Procedure Call Failed error for Microsoft Store apps
- The Remote Procedure Call Failed while making PIN as Sign-in Option
- The RPC server is unavailable
- The remote procedure call failed error while using DISM.
Ashish is a veteran Windows and Xbox user who excels in writing tips, tricks, and features on it to improve your day-to-day experience with your devices. He has been a Microsoft MVP (2008-2010).
Всем привет! В общем, сегодня столкнулся с проблемой – при попытке подключения к удаленному компьютеру произошла следующая системная ошибка:
Сервер RPC недоступен.
Бился я с ней где-то часа два, и все же мне удалось её решить. Я на всякий пожарный описал все возможные способы, которые мне попадались в интернете. Постарался описать подробно, но сжато, чтобы не тратить ваше время. Если что-то будет не получаться – пишите в комментариях, постараюсь вам помочь.
Содержание
- Способ 1: Запуск служб
- Способ 2: Целостность системных файлов
- Способ 3: Выключение антивируса или брандмауэра
- Способ 4: Комплексные меры
- Задать вопрос автору статьи
Способ 1: Запуск служб
Чаще всего ошибка «Сервер RPC недоступен» как в Windows 10, так и в Windows 11 возникает из-за того, что зависла одна из служб, работающая с RPC. Подобное бывает при общем сбое операционной системы или при неправильной работе какой-то программы. Давайте попробуем это исправить.
- Одновременно на клавиатуре зажмите две клавиши:
+ R
- Введите команду:
services.msc
- Теперь найдите службу «Локатор удаленного вызова процедур (RPC)». Чтобы открыть службу, два раза быстро нажмите левой кнопкой мыши. Или через правую кнопку и контекстное меню перейдите в «Свойства».
- В первую очередь обратите внимание на «Состояние» – служба не должна быть активной. Если вы видите, что она запущена – остановите её с помощью кнопки. После этого еще проверьте «Тип запуска» – чтобы стоял параметр «Вручную». Примените настройки и закройте окошко.
- Вторую службу, которую нужно проверить – это служба «Удаленного вызова процедур (RPC).
- Данная служба наоборот должна быть запущена (смотрим в «Состояние») – если она по каким-то причинам остановлена, запустите её. Также установите автоматический тип запуска. Не забудьте применить настройки, если вы их меняли.
- Все то же самое делаем для служб:
Сервер
Средство построения конечных точек Windows Audio
Удаленный реестр
Питание
- Все они должны быть запущены. Ну и не забудьте проверить тип запуска – служба должна автоматически запускаться вместе с запуском операционной системы.
ПРИМЕЧАНИЕ! Если в коде ошибки вы видите конкретный номер 1722 – это значит вам нужно дополнительно проверить еще две службы «Модель запуска процессов DCOM-сервера» и «Диспетчер печати».
После перечисленных проверок попробуйте заново проделать те действия, которые до этого вызывали ошибку. Если ошибка пропадет – хорошо. Если она останется – попробуйте перезагрузить комп. После запуска ОС все службы должны запуститься нормально.
Способ 2: Целостность системных файлов
Для нормальной работы всех служб и встроенных системных программ, которые работают с RPC, нужно, чтобы все файлы системы были исправны. Из-за вирусов, сторонних программ, а также из-за поломки секторов жесткого диска системные файлы могут ломаться. Нам нужно проверить целостность системных файлов и восстановить их.
Запускаем командную строку с правами администратора. Прежде чем мы запустим проверку, хочу вас предупредить, что в некоторых ситуациях процедура может длиться долго. Windows автоматически должна проверить файлы и в случае обнаружения поломок восстановить их. Используем две команды:
DISM.exe /Online /Cleanup-image /Restorehealth
sfc /scannow
Способ 3: Выключение антивируса или брандмауэра
Возможно проблема с удаленным подключением связана с блокировкой вашего антивируса. Попробуйте его выключить. Для этого в правом нижнем углу экрана в трее нажмите правой кнопкой по значку вашего антивируса – далее поищите в каждом из пунктов команду отключения защиты и деактивируйте её на какое-то время. После этого проверьте, чтобы ошибка не возникала.
Если у вас нет стороннего антивируса – его роль исполняет встроенный Windows Defender. Давайте попробуем выключить защиту для той сети, к которой вы подключены.
- Откройте «Пуск» – «Параметры».
- Найдите раздел «Обновление и безопасность».
- Перейдите в подраздел «Безопасность Windows» и слева из списка выберите пункт «Брандмауэр и защита сети».
- Выберите ту сеть, к которой вы подключены – она обозначена надписью «активный».
- Выключите «Брандмауэр Microsoft Defender».
Если проблема не решилась, включите параметр обратно и переходите к следующей главе. Если проблема решилась, дальше нужно думать, как обратно включить защиту для сети. Можно попробовать установить сторонний антивирус, чтобы он взял роль «защитника» на себя. Вы также можете в «Пуск» – «Параметры» – «Обновление и безопасность» – в разделе «Обновления» установите все пакеты, которые предлагает система. Возможно, есть какой-то баг, который мешает работе защитника и сети. Этот баг может исправиться после обновления. Также обязательно проверьте комп антивирусной программой. Можете для этого использовать встроенный Defender.
Способ 4: Комплексные меры
Итак, у нас есть ошибка сервера RPC, который по каким-то причинам не доступен в Windows (10, 11, 7 или 8). Я опишу ряд советов, которые должны помочь при удаленном подключении и решении данной ошибки.
- Если вы используете какие-то VPN или Proxy – выключите эти программы и подключения.
- Полностью проверьте компьютер и систему на наличие вирусов.
- Уберите все из автозагрузки, кроме драйвера звуковой карты и антивируса. После этого перезагрузите компьютер и проверьте подключение.
- Выполните комплексную чистку компьютера от всего лишнего.
- Обновите драйвера на материнскую плату. Если вы используете стороннюю сетевую карту или Wi-Fi адаптер, обновите драйвера и для них. Дрова скачиваем исключительно вручную с официального сайта. Про то, как это сделать – подробно написано в этой статье (ссылка).
- Если вы пытаетесь получить доступ к какому-то устройству в своей локальной сети – почитайте рекомендации отсюда.
- Обновите прошивку вашего роутера, если вы используете его для подключения.
- Установите все обновления для вашей системы, если вы этого еще не сделали.
На этом все, дорогие друзья. Вы можете обращаться за помощью ко мне в комментариях. Я или кто-то из других специалистов портала WiFiGiD.RU вам ответит и постарается помочь. Старайтесь писать, как можно подробнее о своей проблеме, а также о том, что вы уже сделали из статьи выше. Всем добра и берегите себя.
На чтение 9 мин. Просмотров 309 Опубликовано 22.04.2021
RPC также известен как удаленный вызов процедур. Эта технология присутствует с момента появления компьютеров и использует технику межпроцессного взаимодействия. Его основная цель – дать возможность клиенту и серверу обмениваться данными друг с другом по сети. То же самое можно сказать и об устройствах.
Проще говоря, всякий раз, когда вы делитесь данными или информацией по любому сети, RPC делает всю работу за вас. RPC также играет важную роль в управлении устройствами по сети и также используется в периферийных устройствах контроллеров, таких как сканеры или принтеры.
Содержание
- Что вызывает ошибку «Сервер RPC недоступен»?
- Решение 1. Проверка службы RPC на вашем компьютере
- Решение 2. Включение удаленного помощника в брандмауэре
- Решение 3. Отключение выборочного запуска
- Решение 4. Включение IPV6 и общего доступа к файлам и принтерам для подключенной сети
- Решение 5. Очистка DNS и обновление
- Решение 6 : Использование редактора реестра для принудительного запуска служб RPC
Что вызывает ошибку «Сервер RPC недоступен»?
Поскольку RPC – это связь между различными устройствами, существует несколько разных модулей, которые могут отвечать за вызывая сообщение об ошибке. С учетом сказанного, вот некоторые из виновников, которые могут нести ответственность в вашем случае:
- Одна или несколько служб, требуемых RPC, являются отключено . В большинстве случаев эта конкретная проблема возникает, когда на одном или нескольких компьютерах, участвующих в подключении, отключена одна (или несколько) обязательных служб. Если этот сценарий применим, вы можете решить проблему, используя служебную программу «Службы» для принудительного запуска отключенных служб.
- Удаленная помощь отключена брандмауэром – брандмауэр Windows и несколько других сторонних эквивалентов, как известно, по умолчанию блокируют подключение удаленного помощника. Если это является причиной возникновения проблемы, вы можете решить проблему, установив исключение для этого типа подключения.
- IPV6 или общий доступ к принтеру файлов отключен – Для некоторых типов серверов RPC в текущем сетевом подключении должны быть включены как IPV6, так и File PRinter Sharing. Несколько пользователей, пытающихся решить эту конкретную проблему, сообщили, что проблема была решена после того, как они включили оба параметра в свойствах сети.
- IP-адрес вызывает сбой сервера RPC – Неоднозначный IP-адрес также может вызвать это конкретное сообщение об ошибке. Если этот сценарий применим, вы можете решить проблему, очистив и затем обновив IP-адрес.
- Службы RPC отключены через реестр – некоторые утилиты или пользователь вручную вмешательство я заставляю некоторые службы, требуемые RPC-сервером, оставаться отключенными. Пользователи, оказавшиеся в подобном сценарии, сообщили, что проблема была решена после того, как они использовали редактор реестра для принудительного запуска служб, используемых компонентом RPC.
Ранее вы начинаете просматривать решения, убедитесь, что у вас есть активное подключение к Интернету и вы вошли в систему как администратор на своем компьютере. Кроме того, если вы используете компьютер в рабочей среде, лучше всего проконсультироваться с вашим сетевым администратором. Каждая рабочая среда имеет свою отдельную конфигурацию сети и ПК..
Решение 1. Проверка службы RPC на вашем компьютере
Первое, что пользователи должны проверить, сталкиваются ли они с этой ошибкой, – это службу RPC на вашем компьютере. Конфликты с другими сторонними приложениями или изменение системных систем могут заставить службу RPC перейти с значения по умолчанию (автоматически) на ручной. Это означает, что RPC может не запускаться автоматически при необходимости.
- Нажмите Windows + R, введите « services.msc » в диалоговом окне и нажмите Enter.
- В окне служб найдите следующие процессы:
Удаленный вызов процедур (RPC) Сопоставитель конечных точек RPC или удаленный вызов процедур (RPC) LocatorDCOM Service Process Launcher
Щелкните правой кнопкой мыши каждую службу одну за другой и выберите Свойства .
- В свойствах убедитесь, что служба запущена и Startup тип установлен как
- Сохраните изменения и выйдите. Перезагрузите компьютер и проверьте, исправлено ли сообщение об ошибке.
Решение 2. Включение удаленного помощника в брандмауэре
Удаленный помощник – это механизм, который позволяет другим пользователям или компьютерам видеть экран вашего компьютера и даже управлять им, если вы захотите. Удаленная помощь также может применяться в случае серверов RPC, поскольку клиент и сервер также обмениваются информацией в гораздо более крупном и сложном масштабе. Если ваш брандмауэр не настроен должным образом, вы увидите обсуждаемую ошибку.
Если вы работаете в организации, вам следует обратиться к сетевому администратору, чтобы разобраться в проблеме. При устранении неполадок в сети отключение основного брандмауэра – это способ определить причину проблемы. В этой демонстрации мы рассмотрим только то, что вы (пользователь) можете делать на своем персональном брандмауэре на своем компьютере.
- Нажмите Windows + R, введите ‘ control ‘в диалоговом окне и нажмите Enter.
- Когда появится панель управления, найдите Firewall в строке поиска по адресу в правом верхнем углу экрана. В результатах нажмите Разрешить приложение через брандмауэр Windows , который является подкатегорией под брандмауэром Windows .
- Щелкните Изменить настройки и убедитесь, что записи, применяющие RPC, включены, например как Удаленный помощник .
- Перезагрузите компьютер и проверьте, решило ли это обсуждаемое сообщение об ошибке..
Решение 3. Отключение выборочного запуска
Выборочный запуск – это метод загрузки, который позволяет вашему компьютеру включать с минимальным количеством загруженных предметов. Обычно это делается при устранении проблем с вашим компьютером, которые могут включать другие сторонние приложения. Однако всякий раз, когда вы загружаетесь с использованием выборочного запуска, ваш компьютер также не загружает все компоненты RPC на ваш компьютер. Мы выберем нормальный запуск и посмотрим, решит ли это проблему.
- Нажмите Windows + R, введите « msconfig » в диалоговом окне и нажмите Enter.
- В загрузочной конфигурации выберите вкладку General и выберите вариант Обычный запуск .
- Нажмите Применить , чтобы сохранить изменения и выйти. Теперь вам будет предложено перезагрузить компьютер. Немедленно перезапустите, используя всплывающее окно, и проверьте, устранено ли сообщение об ошибке.
Решение 4. Включение IPV6 и общего доступа к файлам и принтерам для подключенной сети
В некоторых случаях вы можете столкнуться с ошибкой 1722: сервер RPC недоступен в тех случаях, когда есть прерывание сетевого подключения, вызванное одним или несколькими настройки. Несколько затронутых пользователей сообщили, что в их случае проблема была решена после того, как они обнаружили, что Общий доступ к принтеру для сетей Microsoft и Протокол версии 6 (TCP/IPv6) оба были отключены в свойствах подключенной сети.
После включения этих двух параметров обратно большинство затронутых пользователей сообщили, что проблема была решена. Вот краткое руководство о том, как это сделать:
- Нажмите клавишу Windows + R , чтобы открыть диалоговое окно «Выполнить». Затем введите «ncpa.cpl» и нажмите Enter , чтобы открыть окно Сетевые подключения .
- В окне “Сетевые подключения” щелкните правой кнопкой мыши сеть, к которой вы в данный момент подключены, и выберите
- Как только вы перейдете в в свойствах сетевого подключения перейдите на вкладку «Сеть» и прокрутите список элементов вниз.
- Найдите Файл и Общий доступ к принтеру для Microsoft Networks и Internet Protocol Version 6 (TCP/IPv6) и убедитесь, что установлены оба связанных флажка. Затем нажмите Ok , чтобы сохранить изменения.
- Перезагрузите компьютер и посмотрите, будет ли проблема решена при следующем запуске.
https://appuals.com/ wp-content/uploads/2019/05/enable-ipv6.webm
Если вы все еще сталкиваетесь с ошибкой 1722: сервер RPC недоступен проблема, перейдите к следующему способу ниже.
Решение 5. Очистка DNS и обновление
Некоторые затронутые пользователи сообщили, что им удалось решить проблему после использования повышенного Командная строка для очистки DNS и обновления соединения. Но для того, чтобы это исправление было эффективным, вам необходимо убедиться, что службы, участвующие в соединении RPC, работают (следуйте методу 1).
Если вы уверены, что требуемые службы работают , вот краткое руководство по очистке DNS и обновлению соединения:
- Нажмите клавишу Windows + R , чтобы открыть Диалоговое окно “Выполнить” . Затем введите «cmd» и нажмите Ctrl + Shift + Enter , чтобы открыть командную строку с повышенными привилегиями. При появлении запроса от UAC (Контроль учетных записей пользователей) нажмите Да, чтобы предоставить права администратора.
- В командной строке с повышенными привилегиями введите следующую команду и нажмите Enter , чтобы очистить текущую конфигурацию IP:
ipconfig/flushdns
- После успешной регистрации команды введите следующую команду и нажмите Enter , чтобы обновить конфигурацию IP:
ipconfig/Renew
- После обновления IP-адреса закройте командную строку с повышенными привилегиями и воссоздайте шаги, которые ранее вызывали ошибку 1722: сервер RPC недоступен , чтобы проверить, не проблема решена.
Если та же проблема все еще возникает, перейдите к следующему способу ниже.
Решение 6 : Использование редактора реестра для принудительного запуска служб RPC
Некоторые затронутые пользователи сообщили, что им удалось разрешить Проблема возникает после использования командной строки с повышенными привилегиями для очистки DNS и обновления соединения. Но для того, чтобы это исправление было эффективным, вам необходимо убедиться, что службы, участвующие в соединении RPC, работают (следуйте методу 1).
Если вы уверены, что требуемые службы работают , вот краткое руководство по очистке DNS и обновлению соединения:
Вот краткое руководство о том, как это сделать:
- Нажмите клавиша Windows + R , чтобы открыть диалоговое окно «Выполнить». Затем введите «regedit» и нажмите Enter , чтобы открыть редактор реестра. Если вам будет предложено UAC (Контроль учетных записей) , нажмите Да , чтобы предоставить права администратора.
- Внутри В редакторе реестра используйте левую панель, чтобы перейти к следующему месту:
HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services RpcSs
Примечание. Вы можете попасть туда вручную, используя левую панель, или вставить точный адрес прямо в панель навигации и нажать Enter. С помощью RpcS выбранный ключ, перейдите к правой панели и дважды щелкните Пуск.
- Внутри Edit Dword Value , связанного с Start, установите Base на Hexadecimal и Value data на 2 , чтобы включить Remove Вызов процедуры (RPC) .
- Используйте левую панель или панель навигации вверху, чтобы перейти в это место:
Computer HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services DcomLaunch
- Как только вы попадете в это место, дважды щелкните Пуск на правой панели. Затем установите Base в Hexadecimal , а данные значения – в 2 , чтобы включить Средство запуска процессов сервера DCOM .
- Перейдите в следующее место с помощью панели навигации вверху или с помощью левой панели:
Computer HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services RpcEptMapper
- Перейдите к правой панели и дважды щелкните Start. Затем установите Base на шестнадцатеричный , а Value Data на 2 .
- Закройте редактор реестра, перезагрузите компьютер и посмотрите, была ли решена проблема при следующем запуске системы.
В дополнение к вышеуказанным решениям, вы также можете найти другие способы обхода ошибки ‘ RPC Se rver недоступен », прочитав нашу статью« Исправление: сбой удаленного вызова процедуры ». Оба случая ошибки почти одинаковы, и в обоих случаях можно попробовать одни и те же исправления.
Ошибка “
Сервер RPC недоступен
” (
The RPC server is unavailable
) появляется в Windows при ошибке коммуникации между двумя компьютерами по сети, когда компьютер (клиент RPC) не может подключиться к удаленному компьютеру (сервер RPC). В результате программа, которую вы запустили, не работает и возвращает ошибку, т.к. не можете получить данные с удаленного сервера. В этой статье мы разберем наиболее частые проблемы, которые могут препятствовать нормальному взаимодействию компьютеров через сеть по протоколу RPC.
Протокол RPC (Remote Process Call, удаленный вызов процедур) – это распространённый протокол взаимодействия приложений в локальной сети. В основном он используется для обмена данными с удалённым компьютерам, но есть некоторые программы, которые используют RPC для локальных взаимодействий между приложением и запущенной локально службой.
В типовом сеансе клиент RPC подключается к службе RPC Endpoint Mapper (сопоставления конечных точек) на RPC сервере по TCP порту 135 и запрашивает номер порта, на котором запущено нужное ему RPC приложение (служба). Служба RPC Endpoint Mapper возвращает клиенту номер динамического RPC порта, назначенного указанной службе при запуске. Затем RPC клиент взаимодействует с RPC службой по указанному TCP порту.
Если RPC клиент не смог подключиться к RPC серверу, в приложении появится ошибка:
The RPC server is unavailable
В современных версиях Windows (начиная с Windows Vista/2008) используется следующий диапазон динамических RPC портов (Dynamic RPC Port range): 49152 — 65535 (в Windows Server 2003 / XP и ниже использовался другой диапазон 1024 – 65535.
Наиболее распространённые проблемы, из-за которых не работает RPC взаимодействие между компьютерами:
- Удаленный компьютер выключен;
- Не запущены службы RPC на сервере;
- Вы пытаетесь подключиться к RPC серверу по неправильному имени (или как вариант, DNS имени сервера соответствует неверный IP адрес);
- Используются некорректные настройки сетевого подключение на клиенте или сервере;
- RPC трафик между клиентом и сервером блокируется файерволом;
Проверка доступности удаленного компьютера
Убедитесь, что удаленный компьютер включен, отвечает на ping по имени и IP адресу. Если RPC сервер не доступен по имени, проверьте корректность DNS записей и попробуйте сбросить DNS кэш на клиенте:
ipconfig /flushdns
.
Если имя компьютера, на котором запущен RPC-сервер недавно изменилось, попробуйте перерегистрировать его в DNS Active Directory:
ipconfig /registerdns
Проверка служб RPC
Проверьте, что на сервере запущены службы, которые необходимы для обработки входящих RPC подключений:
- Откройте консоль управления службами (services.msc);
- Убедитесь, что следующие службы запущены (статус Running), а тип их запуска – автоматический: Remote Procedure Call (RPC), RPC Endpoint Mapper и DCOM Server Process Launcher;
Если RPC службы отключены и не запускаются, попробуйте активировать их через реестр. Найдите ветки этих служб в реестре и измените значение параметра Start на 2 (автоматический запуск службы):
- Удаленный вызов процедур (RPC) — ветка реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcSs
- Сопоставитель конечных точек RPC — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesRpcEptMapper
- Модуль запуска процессов DCOM-сервера — HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesDcomLaunch
RPC блокируется файерволом (брандмауэром)
Убедитесь, что RPC трафик между компьютерами не блокируется файеволом. Если у вас используется Windows Defender Firewall with Advanced Security, нужно проверить или создать правила, разрешающие RPC трафик. Одно правило, разрешающее доступ к службе RPC Endpoint Mapper по порту TCP/135; второе должно разрешать доступ к RPC службе, которая вам нужна по динамическим RPC портам (RPC Dynamic Ports). Правила нужно создать для всех трех сетевых профилей: Domain, Private и Public.
Проверьте с клиента, что на RPC сервере доступен 135 порт TCP (должен слушаться службой RPC Endpoint Mapper). Можно проверить доступность порта из PowerShell:
Test-NetConnection 192.168.1.201 -port 135
Если RPC порт доступен, должен появится ответ
TcpTestSucceeded:True
.
Вы можете получить список конечных точек RPC (сервисов и приложений), которые зарегистрированы на удаленном компьютере и анонсируются службой RPC Endpoint Mapper с помощью утилиту PortQry
portqry -n 192.168.1.201 -p tcp -e 135
В выводе PortQry можно найти номер порта, назначенный нужной вам службе RPC (она запущена?) и проверить, что этот порт не блокируется с клиента.
Если у вас используется сторонний файервол/антивирус, убедитесь, что он не блокирует RPC трафик и умеет корректно обрабатывать трафик динамических RPC портов.
Проверка сетевых протоколов и настроек
Убедитесь, что на вашем компьютере заданы корректные сетевые настройки: IP адрес, шлюз, маска сети, настройки DNS серверов (можно проверить настройки сети из PowerShell). Проверьте, что в настройках сетевого адаптера, используемого для подключения включены протоколы Internet Protocol Version 6 (TCP/IPv6) и File and Printer Sharing for Microsoft Networks
Некоторые сетевые приложения некорректно работают при отключенном протоколе TCP/IPv6, возвращая ошибку:
1722 The RPC server is unavailable
. Если после включения ipv6 ошибка RPC сохраняется, попробуйте отключить протокол Teredo через реестр:
Создайте в ветке реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTcpip6Parameters параметр типа DWORD с именем DisabledComponents и значением 8:
reg add hklmsystemcurrentcontrolsetservicestcpip6parameters /v DisabledComponents /t REG_DWORD /d 8
В некоторых случаях приходится получаить дамп трафика на RPC сервера и анализирвать его с помощью Microsoft Network Monitor 3.4 или Message Analyzer.
Всем привет! Сегодня в статье мы разберем два очень интересных вопроса. Начнем, пожалуй, с того – а что же такое служба RPC?
Удаленный вызов процедур (RPC) – это протокол, который используется для обмена данными между приложениями Windows. Сама служба используется как на локальном компьютере, так и в сети. Почти все компоненты Windows используют этот протокол, и запущенную на её основе службу.
Можно ли отключить «Удаленный вызов процедур (RPC)»?
Нет, отключать эту службу ни в коем случае нельзя, так как в таком случае многие прикладные команды и службы просто перестанут работать. Я специально сразу ответил на этот вопрос, так как к нам на почту приходит слишком много вопросов с этим текстом. Первый вопрос мы разобрали. Теперь давайте рассмотрим проблемы, с которыми часто встречаются пользователи в Windows. В частности, можно встретить две ошибки:
Сбой при удаленном вызове процедуры.
Сервер RPC недоступен (RPC server is unavailable).
Решаются обе эти проблемы примерно одинаково, и ниже в статье я приведу все возможные варианты. Инструкции подходят для всех версий Windows 10, 11, 7 и 8.
Содержание
- Способ 1: Перезапуск (запуск) службы
- Способ 2: Настройки сетевого устройства
- Способ 3: Настройка Брандмауэра
- Способ 4: Общие меры
- Задать вопрос автору статьи
Способ 1: Перезапуск (запуск) службы
В первую очередь нам нужно перезапустить саму службу, да и вообще проверить, чтобы настройки у неё стояли правильные.
- Зажимаем клавиши:
+ R
- Далее используем запрос:
services.msc
- Откройте свойства службы:
Удаленный вызов процедур (RPC)
- Проверьте, чтобы стоял «Автоматический» тип запуска. Измените настройку, если нужно и примените конфигурацию.
- Далее проверьте, чтобы стоял тот же самый «Тип запуска» в «Автоматическом» режиме и для других смежных служб:
ПРИМЕЧАНИЕ! Если ошибка вылезает при подключении к уделанном компьютеру по сети – проверьте, чтобы и у него были правильно настроены службы.
Инструментарий управления Windows (Windows Management Instrumentation)
Локатор удаленного вызова процедур RPC (Remote Procedure Call RPC Locator)
Модуль запуска процессов DCOM-сервера (DCOM Server Process Launcher)
Служба времени Windows (Windows Time service)
Сопоставитель конечных точек RPC (RPC Endpoint Mapper)
Удаленный вызов процедур RPC (Remote Procedure Call RPC)
Вы можете столкнуться с проблемой, когда в окне свойств «Служб» нельзя изменить «Тип запуска». В таком случае прибегнем к «Редактору реестра»:
СОВЕТ! Так как мы полезем в реестр – советую создать точку восстановления.
- Опять жмем:
+ R
- Вводим команду:
regedit
- Проходим по пути:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservices
- В этом разделе будут находиться настройки каждой службы. Откройте сначала папку:
RpcLocator
- В ней нужно поменять параметр «Start» на значение:
3
- То же самое сделайте для других служб, только в них нужно изменить значение «Start» на два (2). Вот список этих служб:
DcomLaunch
RpcEptMapper
RpcLocator
RpcSs
W32Time
Winmgmt
Еще раз повторюсь – вам нужно перейти в настройки этих служб в редакторе реестра и в конфигурации «Start» поставить значение:
2
После этого перезагружаем компьютер, чтобы изменения вступили в силу.
Способ 2: Настройки сетевого устройства
Сбой при удаленном вызове процедуры в Windows может возникать из-за отключённого IPv6 и еще одной конфигурации.
- Используем горячие клавиши:
+ R
- Открываем сетевые настройки:
ncpa.cpl
- Выберите то сетевое подключение, через которое вы подсоединяетесь к сети. Если вы подключаетесь по проводу – выбираем «Ethernet». Если вы подключаетесь по Wi-Fi – выбираем «Беспроводную сеть». Кликаем правой кнопкой и заходим в «Свойства».
- Включите галочки напротив двух настроек:
IP версии 6 (TCP/IPv6)
Общий доступ к файлам и принтерам для сетей Microsoft
- Жмем «ОК».
Способ 3: Настройка Брандмауэра
Сбой при удаленном вызове процедуры может возникать из-за Брандмауэра.
- Жмем
+ R
- Вводим:
control
- Находим Брандмауэр и открываем его.
- В левом блоке кликните по ссылке «Разрешение взаимодействия с приложением…».
- Кликните по кнопке сверху для изменения параметров.
- Установите галочку «Удаленный помощник».
Если галочка и так стояла, или эта настройка не изменила положение дел – вам нужно сделать еще пару вещей:
- Откройте 135 порт в Windows.
- Попробуйте отключить Брандмауэр. Если у вас стоит сторонний антивирус, то сначала отключите его защиту.
- Если ошибка появляется при подключении к другому компьютеру в сети – проверьте, что вы правильно настроили сеть.
- Если у вас используется «Общественный» тип сети – попробуйте переключиться на «Частную». Если вы не знаете, как это сделать – смотрим эту инструкцию.
Способ 4: Общие меры
Возможно, ошибка появляется из-за проблем операционной системы или некоторых служб. Откройте командную строку с правами администратора и попробуйте ряд команд:
ipconfig /flushsdns
ipconfig /renew
Вот еще ряд советов, которые должны помочь:
- Если вы используете какие-то прокси или VPN – все отключите. Это также касается подобных программ.
- Полностью обновите Windows, установив все доступные на данное время обновления.
- Проверьте систему на наличие вирусов.
- Если ошибка возникает только при работе какого-то отдельного ПО – попробуйте его полностью удалить, скачать с официального сайта оригинальную утилиту и установить повторно.
- Проверьте целостность системных файлов и восстановите их.
- Выполните чистку системы от различного рода мусора. Это также касается программ, которые висят в трее и могут мешать подключению.
На этом все. Если у вас еще остались вопросы, и вы хотите получить помощь – подробно опишите свою проблему в комментариях. До новых встреч на портале WiFiGiD.RU.










































































