ADUC загружается медленно при подключении к клиенту Cato SDP

Проблема

Active Directory Пользователи и компьютеры (ADUC) могут испытывать задержку или медленность при подключении к клиенту Cato SDP.

Среда

  • Клиент Cato SDP v4.2 и выше

Устранение неполадок

Во время выполнения ADUC делает DNS-запросы на нестандартные, несуществующие записи SRV. Эти запросы не обязательны, и неизвестно, почему ADUC их делает. Дополнительная информация см. Поведение разрешателя Клиент DNS

Клиент Cato SDP блокирует запросы DNS на каждом сетевом интерфейсе, кроме интерфейса Cato VPN, чтобы направлять DNS через туннель VPN. Это хорошо работает для почти всех приложений, кроме ADUC из-за упомянутых выше запросов SRV.

Если ADUC не получает положительного ответа на запросы от DNS-серверов, настроенных на адаптере Cato VPN, он отправляет запросы на DNS-серверы, настроенные на физическом (WiFi, Ethernet) адаптере. Эти запросы блокируются клиентом Cato VPN, поэтому ADUC никогда не получает ответа. Хотя это не было подтверждено Microsoft, мы считаем, что ADUC ждет тайм-аута DNS-запросов на физических адаптерах, прежде чем продолжить, и это объясняет медленное время загрузки. Насколько нам известно, ADUC — единственное приложение, проявляющее это поведение, и это может быть ошибкой Microsoft.

Для проверки наличия вышеперечисленной проблемы можно провести захват PCAP на туннеле. Фильтровать DNS (порт 53) в то время как пользователь открывает ADUC. Примените следующий фильтр в Wireshark для просмотра запросов SRV:

dns.qry.type == 33

ADUC делает запросы на несуществующие записи SRV в двух различных форматах:

  1.  _ldap._tcp.DCName.Domain.com
  2. _ldap._tcp.SiteName._sites.DCName.Domain.com

Где DCName — это имя NetBIOS (хост) контроллера домена (DC), SiteName — имя сайта, на котором находится DC, а Domain.com — домен.

ADUC мог бы потенциально запрашивать записи SRV для каждого DC в домене. Проблема, изложенная в этой статье, существует, если вы видите какие-либо из запросов SRV и ответ "Нет такого имени" в PCAP.

mceclip0.png

 

Решения

  • Используйте удаленный рабочий стол или другое средство удаленного доступа для входа в DC и управления Active Directory.
  • Используйте Центр администрирования Active Directory (ADAC) для удаленного управления Active Directory. ADAC — это более новое и более мощное средство, чем ADUC, когда речь идет об управлении AD, но требуется время на освоение. Для получения дополнительной информации о ADAC посетите Центр администрирования Active Directory
  • Создайте запросы SRV, которые ADUC делает в Windows DNS. См. инструкции ниже.
  • Свяжитесь с Поддержка Cato для дополнительного устранения неполадок и альтернативных решений на заднем плане.

Ручное создание записей SRV

1. Откройте диспетчер DNS на DNS-сервере.

2. Расширьте зоны прямого поиска.

mceclip2.png

3. Щелкните правой кнопкой мыши свой домен и выберите "Новый домен...".

mceclip3.png

4. Введите имя хоста DC в качестве имени домена.

mceclip4.png

5. Щелкните правой кнопкой мыши созданный на предыдущем шаге поддомен и выберите "Другие новые записи...".

mceclip5.png

6. Выберите Сервисное местоположение (SRV) и щелкните "Создать запись...".

mceclip6.png

7. В появившемся окне введите следующие параметры:

  • Сервис: _ldap
  • Протокол: _tcp
  • Хост, предлагающий этот сервис: полное доменное имя (FQDN) контроллера домена с точкой в конце.

mceclip7.png

8. Нажмите "ОК". Будет создана SRV запись.

mceclip8.png

9. Щелкните правой кнопкой мыши на поддомен, названный в честь DC, который вы создали на шаге 4, и выберите “Новый домен…”

mceclip9.png

10. Назовите домен “_sites” и нажмите "ОК".

mceclip10.png

11. Щелкните правой кнопкой мыши на домен _sites и выберите “Новый домен...”.

mceclip11.png

12. Назовите поддомен, созданный на предыдущем шаге в честь сайта, в котором находится DC, и нажмите "ОК".

mceclip12.png

13. Щелкните правой кнопкой мыши на поддомен, созданный на предыдущем шаге, и выберите "Другие новые записи...".

mceclip13.png

14. Выберите Расположение сервиса (SRV) и нажмите "Создать запись...".

mceclip14.png

15. Введите следующие параметры в всплывающем окне:

  • Сервис: _ldap
  • Протокол: _tcp
  • Хост, предлагающий этот сервис: полное доменное имя (FQDN) контроллера домена с точкой в конце.

mceclip15.png

16. Нажмите "ОК". Будет создана новая SRV запись.

mceclip16.png

17. Повторите шаги 3-16 для каждого DC в вашем домене.

Автоматическое создание SRV записей с помощью PowerShell

Скрипт PowerShell ниже можно запустить на контроллере домена, чтобы создать все необходимые SRV записи для домена при условии, что DNS серверы также являются контроллерами домена. Обратите внимание, что для работы в среде клиента скрипт может потребовать изменений, и поддержка Cato не несет ответственности за внесение изменений в этот скрипт. Клиенты должны использовать этот скрипт на свой страх и риск.

Рекомендуемое использование:

1. Сохраните скрипт в файл с расширением .ps1 и скопируйте его на контроллер домена.

2. На контроллере домена откройте PowerShell с правами администратора и выполните скрипт:

path_to_script.ps1

3. Обратите внимание, что правильный домен и DNS сервер были обнаружены скриптом, и список всех контроллеров домена в домене верен.

4. По умолчанию скрипт запрашивает подтверждение перед созданием SRV записей для каждого контроллера домена. Мы рекомендуем использовать этот метод хотя бы для первого контроллера домена и подтвердить, что SRV записи были успешно созданы перед продолжением.

5. Если SRV записи для первого контроллера домена были успешно созданы, вы можете запустить скрипт снова, но выбрать опцию "Массовое создание" [B], чтобы создать все SRV записи одновременно без запросов.

Пример вывода:

mceclip1.png

Скрипт: 

$allDCs = (Get-ADForest).Домены | %{ Get-ADDomainController -Filter * -Server $_ } | Select-Object -Property Имя, Имя хоста, Домен, Сайт
$Domain = (Get-ADForest).Имя
Write-Host ""
Write-Host "Домен:"
Write-Host " $Domain"
$DNSstring = nslookup -тип=ns $Domain | Select-String -Pattern 'nameserver'
$DNSstring -match '(?<=nameserver = )(.*)' > $null
$DNSserver = $Matches[1]

Write-Host ""
Write-Host "Найден сервер DNS:"
Write-Host " $DNSserver"
Write-Host ""
Write-Host "Найдены контроллеры домена:"
Foreach ($DC in $allDCs) {
Write-Host " $($DC.HostName)"
}

$title = 'Создать SRV записи'
$question = 'Как вы хотите создать SRV записи?'

$bulk = New-Object System.Management.Automation.Host.ChoiceDescription "&Создать компоненты", "Создает все SRV записи сразу."
$prompt = New-Object System.Management.Automation.Host.ChoiceDescription "&Запрос для каждого", "Запрашивает перед созданием каждой SRV записи."
$choices = [System.Management.Automation.Host.ChoiceDescription[]]($bulk, $prompt)

$decision = $Host.UI.PromptForChoice($title, $question, $choices, 1)
if ($decision -eq 0) {
Foreach ($DC in $allDCs) {
Add-DnsServerResourceRecord -Srv -Name "_ldap._tcp.$($DC.Imя)" -ZoneName $DC.Домен -DomainName "$($DC.HostName)" -Weight 0 -Priority 0 -Порт 389 -ComputerName $DNSserver
Add-DnsServerResourceRecord -Srv -Name "_ldap._tcp.$($DC.Сайт)._sites.$($DC.Imя)" -ZoneName $DC.Домен -DomainName "$($DC.HostName)" -Weight 0 -Priority 0 -Порт 389 -ComputerName $DNSserver
}
Write-Host ""
Write-Host "Созданы SRV записи для всех DCs."
} elseif ($decision -eq 1) {
Foreach ($DC in $allDCs) {
Write-Host ""
Write-Host "Создать SRV записи для $($DC.HostName)?" -ForegroundColor Yellow
$Readhost = Read-Host " ( д / н ) "
if ($Readhost -eq 'д') {
Add-DnsServerResourceRecord -Srv -Name "_ldap._tcp.$($DC.Imя)" -ZoneName $DC.Домен -DomainName "$($DC.HostName)" -Weight 0 -Priority 0 -Порт 389 -ComputerName $DNSserver
Add-DnsServerResourceRecord -Srv -Name "_ldap._tcp.$($DC.Сайт)._sites.$($DC.Imя)" -ZoneName $DC.Домен -DomainName "$($DC.HostName)" -Weight 0 -Priority 0 -Порт 389 -ComputerName $DNSserver
}
}
Write-Host ""
Write-Host "Готово создание SRV записей."
} else {
Write-Host 'Отменено'
}

 

 

Была ли эта статья полезной?

Пользователи, считающие этот материал полезным: 3 из 4

0 комментариев