Помилка “Сервер RPC недоступен“(The RPC server is unavailable) З’являється в Windows при помилку комунікації між двома комп’ютерами по мережі, коли комп’ютер (клієнт RPC) не може підключитися до віддаленого комп’ютера (сервер RPC). В результаті програма, яку ви запустили, не працює і повертає помилку, тому що не можете отримати дані з віддаленого сервера. У цій статті ми розберемо найбільш часті проблеми, які можуть перешкоджати нормальній взаємодії комп’ютерів через мережу по протоколу RPC.

помилка Сервер RPC недоступний в Windows

протокол RPC (Віддалений виклик процесу, Віддалений виклик процедур) – це поширений протокол взаємодії додатків в локальній мережі. В основному він використовується для обміну даними з віддалених комп’ютерів, але є деякі програми, які використовують RPC для локальних взаємодій між додатком і запущеної локально службою.

У типовому сеансі клієнт RPC підключається до служби Картограф кінцевої точки RPC (Зіставлення кінцевих точок) на RPC сервері по TCP порту 135 і запитує номер порту, на якому запущено потрібне йому RPC додаток (служба). Служба RPC Endpoint Mapper повертає клієнту номер динамічного RPC порту, призначеного зазначеній службі при запуску. Потім RPC клієнт взаємодіє з RPC службою за вказаною TCP порту.

Якщо RPC клієнт не зміг підключитися до RPC серверу, в додатку з’явиться помилка:

The RPC server is unavailable

У сучасних версіях Windows (починаючи з Windows Vista / 2008) використовується наступний діапазон динамічних RPC портів (Динамічний діапазон портів RPC): 49152 – 65535 (В Windows Server 2003 / XP і нижче використовувався інший діапазон 1024 – 65535.

Найбільш поширені проблеми, через які не працює RPC взаємодія між комп’ютерами:

  1. Віддалений комп’ютер вимкнений;
  2. Чи не запущені служби RPC на сервері;
  3. Ви намагаєтеся підключитися до RPC серверу по неправильному імені (або як варіант, DNS імені сервера відповідає невірний IP адреса);
  4. Використовуються некоректні налаштування мережевого підключення на клієнті або сервері;
  5. RPC трафік між клієнтом і сервером блокується файерволом;

Перевірка доступності віддаленого комп’ютера

Переконайтеся, що віддалений комп’ютер включений, відповідає на ping по імені і IP адресою. Якщо RPC сервер не доступний на ім’я, перевірте коректність DNS записів і спробуйте скинути DNS кеш на клієнті: ipconfig /flushdns.

Якщо ім’я комп’ютера, на якому запущено RPC-сервер недавно змінилося, спробуйте перереєструвати його в DNS Active Directory: ipconfig /registerdns

Проверка служб RPC

Перевірте, що на сервері запущені служби, які необхідні для обробки вхідних RPC підключень:

  1. Відкрийте консоль управління службами (services.msc);
  2. Переконайтеся, що наступні служби запущені (статус Running), а тип їх запуску – автоматичний: Віддалений виклик процедур (RPC), Картограф кінцевої точки RPC і Сервер запуску процесів DCOM;перевірити, що служби RCP запущені в Windows

Якщо RPC служби відключені і не запускаються, спробуйте активувати їх через реєстр. Знайдіть гілки цих служб в реєстрі і змініть значення параметра Почніть на 2 (Автоматичний запуск служби):

  • Віддалений виклик процедур (RPC) – гілка реєстру HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet services RpcSs
  • Сопоставітель кінцевих точок RPC – HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet services RpcEptMapper
  • Модуль запуску процесів DCOM-сервера – HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet services DcomLaunch

включити служби RpcSs в реєстрі

RPC блокується файерволом (брандмауером)

Переконайтеся, що RPC трафік між комп’ютерами не блокується файеволом. Якщо у вас використовується Windows Defender Firewall with Advanced Security, потрібно перевірити чи створити правила, які дозволяють RPC трафік. Одне правило, яке дозволяє доступ до служби RPC Endpoint Mapper по порту TCP / 135; Другим мало вирішувати доступ до RPC службі, яка вам потрібна по динамічним RPC портів (RPC Dynamic Ports). Правила потрібно створити для всіх трьох мережевих профілів: Домен, Приватна і Громадський.

Перевірте з клієнта, що на RPC сервері доступний 135 порт TCP (повинен слухатися службою RPC Endpoint Mapper). Можна перевірити доступність порту з PowerShell:

Test-NetConnection 192.168.1.201 -port 135

Test-NetConnection powershell перевірка TCP порт 135 служби RPC Endpoint Mapper

Якщо 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). Перевірте, що в налаштуваннях мережевого адаптера, що використовується для підключення включені протоколи Інтернет-протокол версії 6 (TCP / IPv6) і Спільне використання файлів і принтерів для мереж Microsoft

включити протокол ipv6 і протокол загального доступу в windows 10

Деякі мережеві додатки некоректно працюють при відключеному протоколі TCP / IPv6, повертаючи помилку: 1722 The RPC server is unavailable. Якщо після включення ipv6 помилка RPC не зникають, відключити протокол Teredo через реєстр:

Створіть в гілці реєстру HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Tcpip6 Parameters параметр типу DWORD з ім’ям DisabledComponents і значенням 8:

reg add hklmsystemcurrentcontrolsetservicestcpip6parameters /v DisabledComponents /t REG_DWORD /d 8

У деяких випадках доводиться отримувати дамп трафіку на RPC сервера і аналізірвать його за допомогою Microsoft Network Monitor 3.4 або Message Analyzer.

Leave a Reply

Your email address will not be published. Required fields are marked *