Как проверить LLMNR на компьютере и отключить его без поломки сетевых имён

LLMNR — это старый механизм Windows для поиска имён компьютеров в локальной сети, когда обычное DNS-имя не нашлось. На домашнем ПК его можно не замечать годами, но в корпоративной сети это лишняя поверхность атаки: злоумышленник в той же сети может ответить на такой запрос и попытаться получить учётные данные пользователя. Поэтому нормальная практика — проверить, включён ли LLMNR, и отключить его там, где он реально не нужен.

Ниже разберём по шагам: как понять, использует ли ваш компьютер LLMNR, где это проверяется, как отключить через групповую политику или реестр, и что сделать, если после отключения перестали открываться ресурсы по имени.

Что именно нужно проверить

Есть два разных вопроса, и их лучше не смешивать:

  • Включён ли LLMNR на компьютере? Это проверяется через групповую политику или реестр.
  • Есть ли фактический LLMNR-трафик? Это проверяется сниффером, например Wireshark, по UDP-порту 5355.

Если настройка говорит, что LLMNR отключён, но в сети кто-то ещё его использует — это уже не проблема конкретно этого компьютера. А если на вашем ПК трафика нет, это ещё не значит, что протокол выключен: возможно, просто не было ситуации, когда DNS не смогresolve имя.

LLMNR обычно виден по UDP-порту 5355. Для IPv4 используется многоадресный адрес 224.0.0.252, для IPv6 — FF02::1:3.

Быстрая проверка через реестр

Самый быстрый способ понять, задано ли отключение LLMNR, — проверить параметр реестра. Он находится в ветке локальной машины, поэтому проверять нужно HKLM, а не настройки текущего пользователя.

  1. Откройте PowerShell или командную строку от имени администратора.
  2. Выполните команду:
    Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" -Name EnableMulticastNameResolution -ErrorAction SilentlyContinue
  3. Посмотрите на значение EnableMulticastNameResolution.

Как читать результат:

  • EnableMulticastNameResolution = 0 — LLMNR отключён политикой.
  • EnableMulticastNameResolution = 1 — LLMNR разрешён.
  • Параметр отсутствует — политика отключения не задана. В стандартной установке Windows это лучше считать риском: компьютер может использовать LLMNR, когда DNS не даст ответ.

Можно проверить то же самое через reg query:

reg query "HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient" /v EnableMulticastNameResolution

Если команда пишет, что раздел или параметр не найден, это не отключение. Это значит, что нужно либо задать политику, либо прописать значение вручную.

Проверка через групповую политику

На Windows Pro, Enterprise и Windows Server можно открыть локальный редактор групповых политик:

  1. Нажмите Win + R.
  2. Введите gpedit.msc.
  3. Перейдите по пути: Computer Configuration > Administrative Templates > Network > DNS Client.
  4. Откройте политику Turn off multicast name resolution.

Здесь легко запутаться: чтобы отключить LLMNR, политику нужно поставить в состояние Enabled. То есть Enabled означает «включить запрет LLMNR».

  • Enabled — LLMNR отключён.
  • Disabled — LLMNR разрешён.
  • Not Configured — политика не задана, компьютер может использовать LLMNR по умолчанию.

В доменной среде эту же настройку лучше делать централизованно через GPO, а не руками на каждом ПК.

Проверка по факту: есть ли LLMNR-трафик

Реестр показывает настройку, но не всегда показывает реальное поведение. Если хотите увидеть, обращается ли компьютер к LLMNR, используйте Wireshark или другой сетевой анализатор.

  1. Запустите Wireshark от имени администратора.
  2. Выберите активный сетевой адаптер: Ethernet или Wi-Fi. VPN-адаптер обычно не нужен — LLMNR работает в пределах локального сегмента.
  3. В фильтре введите:
    llmnr

    или:

    udp.port == 5355
  4. Откройте командную строку и попробуйте обратиться к несуществующему имени без точки:
    ping no-such-pc-name
  5. Смотрите пакеты. Если видите UDP 5355 от вашего IP к 224.0.0.252 или FF02::1:3, компьютер использует LLMNR.
  6. Если видите входящие LLMNR-запросы к вашему компьютеру и ответы от него, значит он ещё и отвечает на такие запросы.

Для теста не используйте имя с точкой вроде server.company.local — это может уйти в DNS или mDNS, а не в LLMNR. Лучше брать короткое имя, которого точно нет в вашей сети.

Как отключить LLMNR

Ситуация Лучший способ Что сделать На что обратить внимание
Компьютеры в домене Active Directory Групповая политика GPO Включить Turn off multicast name resolution в Computer Configuration Применять к OU с компьютерами, проверять через gpresult
Windows Pro, Enterprise, Server на одном ПК Локальная групповая политика Через gpedit.msc включить запрет LLMNR Enabled означает отключение протокола
Windows Home или нет gpedit.msc Реестр Создать параметр EnableMulticastNameResolution со значением 0 Нужны права администратора
Управление через MDM, Intune или похожую систему Settings Catalog или ADMX-политика Включить политику отключения multicast name resolution Проверять фактическое применение на устройстве

Отключение через доменную GPO

  1. В Group Policy Management создайте отдельную политику, например Disable LLMNR.
  2. Привяжите её к OU, где находятся нужные компьютеры.
  3. Перейдите в Computer Configuration > Policies > Administrative Templates > Network > DNS Client.
  4. Откройте Turn off multicast name resolution и выберите Enabled.
  5. На тестовом компьютере выполните:
    gpupdate /force
  6. Перезагрузите компьютер, если политика не применилась сразу.
  7. Проверьте реестр и, при необходимости, трафик в Wireshark.

В домене не стоит делать исключения «на всякий случай». Если какое-то старое приложение действительно зависит от LLMNR, лучше оформить это как исключение и позже заменить на нормальное DNS-имя или статическую запись.

Отключение через реестр

Если групповой политики нет

Оцените статью
PEFile — Безопасность и технологии простым языком