Поделиться через


Работа с существующими локальными прокси-серверами

Настройте соединители частной сети Microsoft Entra для использования исходящих прокси-серверов. В статье предполагается, что сетевая среда уже имеет прокси-сервер.

Начнем с изучения следующих основных сценариев развертывания:

  • Настройте соединители для обхода локальных исходящих прокси-серверов.
  • Настройте соединители, чтобы использовать исходящий прокси-сервер для доступа к прокси приложения Microsoft Entra.
  • Настройте использование прокси-сервера между соединителем и серверным приложением.

Дополнительные сведения о работе соединителей см. в статье Общие сведения о соединителях частной сети Microsoft Entra.

Обход исходящих прокси-серверов

Соединители имеют базовые компоненты ОС, которые выполняют исходящие запросы. Эти компоненты автоматически пытаются найти прокси-сервер в сети с помощью автоматического обнаружения веб-прокси (WPAD).

Компоненты ОС пытаются найти прокси-сервер, выполнив поиск системы доменных имен (DNS) для wpad.domainsuffix. Если поиск разрешается в DNS, HTTP-запрос отправляется на IP-адрес для wpad.dat. Этот запрос становится скриптом конфигурации прокси-сервера в вашей среде. Соединитель использует этот скрипт для выбора исходящего прокси-сервера. Однако трафик соединителя может продолжать сбоить, так как на прокси-сервере требуются дополнительные настройки конфигурации.

Соединитель можно настроить для обхода локального прокси-сервера, чтобы убедиться, что он использует прямое подключение к службе прокси приложения Microsoft Entra. Рекомендуется использовать прямые подключения, так как они требуют меньшей конфигурации. Однако для некоторых политик сети требуется трафик, проходящий через локальный прокси-сервер.

Чтобы отключить использование исходящего прокси-сервера для соединителя, измените файл C:\Program Files\Microsoft Entra private network connector\MicrosoftEntraPrivateNetworkConnectorService.exe.config и добавьте раздел system.net, показанный в примере кода:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.net>
    <defaultProxy enabled="false"></defaultProxy>
  </system.net>
  <runtime>
    <gcServer enabled="true"/>
  </runtime>
  <appSettings>
    <add key="TraceFilename" value="MicrosoftEntraPrivateNetworkConnector.log" />
  </appSettings>
</configuration>

Чтобы служба обновления соединителей также пропускала прокси-сервер, внесите такое же изменение в файл MicrosoftEntraPrivateNetworkConnectorUpdaterService.exe.config. Этот файл находится в C:\Program Files\Microsoft Entra private network connector Updater.

Не забудьте сделать копии исходных файлов, если необходимо вернуться к файлам по умолчанию .config.

Использование исходящего прокси-сервера

В некоторых средах весь исходящий трафик должен проходить через исходящий прокси-сервер без исключения. В результате обход прокси-сервера не рассматривается как вариант.

Трафик соединителя можно настроить для прохождения через внешний прокси-сервер, как показано на следующей схеме.

Настройка трафика соединителя для прохождения через исходящий прокси на прокси приложения Microsoft Entra

В результате наличия только исходящего трафика нет необходимости настраивать входящий доступ через брандмауэры.

Заметка

Прокси приложения не поддерживает проверку подлинности для других прокси-серверов. Учетные записи сетевой службы для соединителей и обновлений должны иметь возможность подключаться к прокси-серверу без необходимости прохождения проверки подлинности.

Если WPAD включен в среде и настроен соответствующим образом, соединитель автоматически обнаруживает исходящий прокси-сервер и пытается использовать его. Однако можно явно настроить соединитель для обхода внешнего прокси-сервера.

Для этого измените файл C:\Program Files\Microsoft Entra private network connector\MicrosoftEntraPrivateNetworkConnectorService.exe.config и добавьте раздел system.net, показанный в примере кода. Измените proxyserver:8080, чтобы отразить имя локального прокси-сервера или IP-адрес и порт. Значение должно иметь префикс http://, даже если вы используете IP-адрес.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.net>  
    <defaultProxy>   
      <proxy proxyaddress="http://proxyserver:8080" bypassonlocal="True" usesystemdefault="True"/>   
    </defaultProxy>  
  </system.net>
  <runtime>
    <gcServer enabled="true"/>
  </runtime>
  <appSettings>
    <add key="TraceFilename" value="MicrosoftEntraPrivateNetworkConnector.log" />
  </appSettings>
</configuration>

Затем настройте службу обновления соединителя для использования прокси-сервера, внося аналогичное изменение в файл C:\Program Files\Microsoft Entra private network connector Updater\MicrosoftEntraPrivateNetworkConnectorUpdaterService.exe.config.

Заметка

Служба соединителя оценивает конфигурацию defaultProxy для использования в %SystemRoot%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config, если defaultProxy не настроен (по умолчанию) в MicrosoftEntraPrivateNetworkConnectorService.exe.config. То же самое относится к службе обновления соединителей (MicrosoftEntraPrivateNetworkConnectorUpdaterService.exe.config) тоже.

Существует четыре аспекта, которые следует учитывать на исходящем прокси-сервере:

  • Правила исходящего трафика прокси-сервера
  • Проверка подлинности прокси-сервера
  • Порты прокси-сервера
  • Проверка протокола TLS

Правила исходящего трафика прокси-сервера

Разрешить доступ к следующим URL-адресам:

URL-адрес Порт Использование
*.msappproxy.net
*.servicebus.windows.net
443/HTTPS Обмен данными между соединителем и облачной службой прокси приложения
crl3.digicert.com
crl4.digicert.com
ocsp.digicert.com
crl.microsoft.com
oneocsp.microsoft.com
ocsp.msocsp.com
80/HTTP Соединитель использует эти URL-адреса для проверки сертификатов.
login.windows.net
secure.aadcdn.microsoftonline-p.com
*.microsoftonline.com
*.microsoftonline-p.com
*.msauth.net
*.msauthimages.net
*.msecnd.net
*.msftauth.net
*.msftauthimages.net
*.phonefactor.net
enterpriseregistration.windows.net
management.azure.com
policykeyservice.dc.ad.msft.net
ctldl.windowsupdate.com
443/HTTPS Соединитель использует эти URL-адреса во время регистрации.
ctldl.windowsupdate.com
www.microsoft.com/pkiops
80/HTTP Соединитель использует эти URL-адреса во время регистрации.

Если брандмауэр или прокси-сервер позволяют настроить списки разрешений DNS, можно разрешить подключения к *.msappproxy.net и *.servicebus.windows.net.

Если вы не можете разрешить подключение по полному доменному имени (FQDN) и вместо этого нужно указать диапазоны IP-адресов, используйте следующие параметры:

  • Разрешите соединителю исходящий доступ ко всем назначениям.
  • Разрешить исходящий доступ соединителя ко всем диапазонам IP-адресов центра обработки данных Azure. Проблема с использованием списка диапазонов IP-адресов центра обработки данных Azure заключается в том, что они обновляются еженедельно. Необходимо установить процесс, чтобы убедиться, что правила доступа обновляются соответствующим образом. Использование только подмножества IP-адресов приводит к сбою конфигурации. Последние диапазоны IP-адресов центра обработки данных Azure загружаются с помощью https://download.microsoft.com. Используйте термин поиска, Azure IP Ranges and Service Tags. Обязательно выберите соответствующее облако. Например, диапазоны ОБЩЕДОСТУПНЫх облачных IP-адресов можно найти, выполнив поиск Azure IP Ranges and Service Tags – Public Cloud. Облако для государственных организаций США можно найти, введя в поисковик Azure IP Ranges and Service Tags – US Government Cloud.

Проверка подлинности прокси-сервера

Проверка подлинности прокси-сервера в настоящее время не поддерживается. Наша текущая рекомендация заключается в том, чтобы разрешить соединителю анонимный доступ к назначениям Интернета.

Порты прокси-сервера

Соединитель выполняет исходящие подключения на основе TLS с помощью метода CONNECT. Этот метод по сути настраивает туннель через исходящий прокси-сервер. Настройте прокси-сервер, чтобы разрешить туннелирование через порты 443 и 80.

Заметка

При запуске служебной шины по протоколу HTTPS используется порт 443. Однако, по умолчанию, Service Bus пытается устанавливать соединения по протоколу TCP напрямую и переходит на HTTPS только в случае сбоя прямого соединения.

Проверка TLS

Не используйте проверку TLS для трафика соединителя, так как это вызывает проблемы с трафиком соединителя. Соединитель использует сертификат для проверки подлинности в службе прокси приложения и может быть потерян сертификат во время проверки TLS.

Настройка использования прокси-сервера между соединителем и серверным приложением

Использование перенаправленного прокси-сервера для обмена данными с серверным приложением является особым требованием в некоторых средах. Чтобы включить прямой прокси-сервер, выполните следующие действия.

Шаг 1. Добавление требуемого значения реестра на сервер

  1. Чтобы включить использование прокси-сервера по умолчанию, добавьте значение реестра (DWORD)UseDefaultProxyForBackendRequests = 1 в раздел реестра конфигурации соединителя, расположенный в HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft Entra private network connector.

Шаг 2. Настройка прокси-сервера вручную с помощью команды netsh

  1. Включите групповую политику Make proxy settings per-machine. Групповая политика найдена в: Computer Configuration\Policies\Administrative Templates\Windows Components\Internet Explorer. Групповая политика должна быть задана, а не иметь набор политик для каждого пользователя.
  2. Запустите gpupdate /force на сервере. Кроме того, чтобы обеспечить обновление групповой политики, перезагрузите сервер.
  3. Запустите командную строку с повышенными привилегиями с правами администратора и введите control inetcpl.cpl.
  4. Настройте необходимые параметры прокси-сервера.

Эти параметры позволяют соединителю использовать тот же прокси-сервер пересылки для связи с Azure и серверным приложением. Измените файл MicrosoftEntraPrivateNetworkConnectorService.exe.config, чтобы изменить прямой прокси-сервер. Конфигурация прямого прокси-сервера описана в разделах "Обход исходящих прокси-серверов" и "Использовать исходящий прокси-сервер".

Заметка

В операционной системе есть различные способы настройки прокси-сервера в Интернете. Параметры прокси-сервера, настроенные с помощью NETSH WINHTTP (выполните NETSH WINHTTP SHOW PROXY для проверки), переопределите параметры прокси-сервера, настроенные на шаге 2.

Служба обновления соединителя использует машинный прокси-сервер. Параметр находится в файле MicrosoftEntraPrivateNetworkConnectorUpdaterService.exe.config.

Устранение неполадок с прокси-сервером коннектора и проблем подключения к службе

Теперь вы увидите весь трафик, проходящий через прокси-сервер. Если у вас возникли проблемы, следующая информация по устранению неполадок должна помочь.

Лучший способ выявить и устранить проблемы с подключением соединителя — сделать захват сети при запуске службы соединителя. Ниже приведены некоторые краткие советы по сбору и фильтрации трассировок сети.

Вы можете использовать средство мониторинга по своему усмотрению. В целях этой статьи мы использовали анализатор сообщений Майкрософт.

Заметка

Microsoft Message Analyzer (MMA) был выведен из эксплуатации, а его пакеты загрузки удалены с сайтов microsoft.com 25 ноября 2019 года. В настоящее время замены Майкрософт для Анализатора сообщений Майкрософт не разрабатывается. Для аналогичных функций рекомендуется использовать стороннее средство анализатора сетевого протокола, например Wireshark.

Следующие примеры относятся к анализатору сообщений, но принципы можно применить к любому инструменту анализа.

Сделайте захват трафика коннектора

Для первоначального устранения неполадок выполните следующие действия.

  1. В services.mscостановите службу соединителя частной сети Microsoft Entra.

    служба подключения частной сети Microsoft Entra в services.msc

  2. Запустите анализатор сообщений от имени администратора.

  3. Выберите Запустить локальную трассировку.

  4. Запустите службу соединителя частной сети Microsoft Entra.

  5. Остановите запись сети.

    снимок экрана: кнопка

Проверьте, обходит ли трафик соединителя исходящие прокси-серверы

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

Используйте фильтр анализатора сообщений для выявления неудачных попыток подключения протокола TCP. Введите property.TCPSynRetransmit в поле фильтра и выберите Применить.

Пакет синхронизации (SYN) — это первый пакет, отправляемый для установления TCP-подключения. Если этот пакет не возвращает ответ, SYN повторно отправляется. Фильтр можно использовать для просмотра любых повторно передаваемых пакетов SYN. Затем можно проверить, соответствуют ли эти пакеты SYN любому трафику, связанному с соединителем.

Проверьте, использует ли трафик соединителя исходящие прокси-серверы

Если вы настроили передачу данных через соединитель частной сети для прохождения через прокси-серверы, проверьте наличие неудачных подключений https к вашему прокси-серверу.

Используйте фильтр анализатора сообщений, чтобы определить неудачное подключение HTTPS к прокси-серверу. Введите (https.Request or https.Response) and tcp.port==8080 в фильтре анализатора сообщений, заменив 8080 портом службы прокси-сервера. Выберите Применить, чтобы просмотреть результаты фильтра.

В предыдущем фильтре отображаются только запросы и ответы HTTPs на порт прокси-сервера. Вы ищете запросы CONNECT, которые показывают связь с прокси-сервером. После успешного выполнения вы получите ответ HTTP OK (200).

Если вы видите другие коды ответа, например 407 или 502, это означает, что прокси-сервер требует проверки подлинности или не разрешает трафик по какой-либо другой причине. На этом этапе вы обратитесь к группе поддержки прокси-сервера.

Дальнейшие действия