Обход сервера обновлений Windows в качестве источника загрузки

Вопрос или проблема

У меня есть машина с Windows Server 2008 R2 SP1, которая изолирована в DMZ. Исторически она не имела проблем, но все работает до тех пор, пока не сломается. Порт 8530 открыт на фаерволе, и я могу выполнить telnet с клиента на сервер, что доказывает, что сайт готов и открыт.

Эта машина не подключена к домену, поэтому сервер WSUS установлен в реестре. Итак, в HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate у меня есть

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate]
"WUServer"="http://kanwsus2k16:8530"
"WUStatusServer"="http://kanwsus2k16:8530"
"DoNotConnectToWindowsUpdateInternetLocations"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"UseWUServer"=dword:00000001

Лог windowsupdate.log это подтверждает. Я хотел бы попытаться включить только то, что необходимо, чтобы сократить длину поста. Клиент обращается к серверу и видит, что у него есть X доступных обновлений. Однако загрузка этих обновлений не удалась. В логе показаны записи, такие как:

2018-05-07  11:05:19:960     668    47c DnldMgr BITS job {7835096F-E02C-4B66-AD0F-3D71EF17C73B} hit a transient error, updateId = {3FD57624-1808-41C7-979D-8606CA1229B6}.202, error = 0x80072EE2
... вывод сокращен ....
2018-05-07  11:05:40:963     668    47c Misc    WARNING: SendRequest failed with hr = 80072ee2. Proxy List used: <(null)> Bypass List used : <(null)> Auth Schemes used : <>
2018-05-07  11:05:40:963     668    47c Misc    WARNING: WinHttp: SendRequestUsingProxy failed for <http://wsus.ds.download.windowsupdate.com/d/msdownload/update/software/secu/2018/04/windows6.1-kb4093118-x64-express_c1473ce4b149cf34239c364a9787030447e376ca.cab>. error 0x80072ee2

Что касается ошибки SendRequestUsingProxy, то это должно завершиться неудачно. Сервер не имеет доступа к сайтам Microsoft, поэтому он будет заблокирован при попытке попасть туда. Что я не могу понять, так это почему обновления не загружаются напрямую с сервера WSUS. Мы не используем прокси и он не настроен.

На стороне сервера WSUS я вижу, что он получает статус сбоя загрузки для каждого обновления. Так что, коротко говоря, связь есть, но клиент пытается загрузить обновления извне. Это сервер 2016 года, и чтение логов с помощью Get-WindwosUpdateLog не дало результатов.

Это единственный внешний сервер, который у меня есть в сети, поэтому у меня нет компаративных систем, чтобы точно знать, где находится система.

В попытке протестировать соединение с сервером, я пытаюсь перейти по адресу http://kanwsus2k16:8530/selfupdate/wuident.cab, но на клиентском сервере появляется сообщение, что страница не может быть отображена. (Эта ссылка работает хорошо в внутренней сети)

Почему мой клиент Windows Update не соблюдает путь WSUS для обновлений и вместо этого пытается обратиться к Microsoft извне?


Другие вещи, которые я попробовал:

  • Инструмент подготовки системы к обновлению для Windows Server 2008 R2 x64 Edition
  • Очистка очереди BITS
  • Переименование папки SoftwareDistribution
  • Проверил, что с сетевой стороны ничего не блокируется при обращении к серверу WSUS на порту 8530
  • Добавлено DoNotConnectToWindowsUpdateInternetLocations, равное 1 в HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate

Вы не настроили необходимый реестр, чтобы указать, что обновления Windows будут загружены через WSUS.

Пожалуйста, установите следующий реестр по пути HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU:

Имя значения: UseWUServer
Данные значения: Установите это значение равным 1, чтобы настроить автоматические обновления 
      для использования сервера, на котором работает служба обновления программного обеспечения вместо Windows Update.
Тип значения реестра: Reg_DWORD

Другие вещи находятся на месте. Пожалуйста, также обратите внимание на пункты, предложенные wrieedx в другом ответе выше, особенно пункт о том, чтобы управлять такими вещами с помощью gpedit.msc, вместо изменения реестра.

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

У меня есть сервер, который находится в похожей ситуации, как ваша — расположен в DMZ, не подключен к домену и получает обновления от внутреннего сервера WSUS. Этот сервер получает обновления нормально. Я использую локальную политику для настройки параметров обновления Windows на сервере, что, на мой взгляд, более предпочтительно, чем изменение параметров реестра напрямую.

Откройте gpedit.msc как администратор через командную строку.

Перейдите к Конфигурации компьютера Конфигурация / Административные шаблоны / Компоненты Windows / Центр обновления Windows

Измените следующие параметры:

  • Настроить автоматические обновления: ВКЛЮЧЕНО
    • Установить на “Автоматически загружать и уведомлять о установке”
  • Указать расположение службы обновления Microsoft Intranet: ВКЛЮЧЕНО
    • Установите “Указать внутреннюю службу обновления для обнаружения обновлений” на http://yourwsusserver:8530
    • Установите “Указать внутренний сервер статистики” на http://yourwsusserver:8530
  • (По желанию) Позволить немедленную установку автоматического обновления: ОТКЛЮЧЕНО
  • (По желанию) Включить клиентское таргетирование: ВКЛЮЧЕНО
    • Укажите имя группы компьютеров, в которую вы хотите поместить сервер

Что касается настроек фаервола, убедитесь, что порт 8530 открыт от сервера DMZ к серверу WSUS. Также, если вы используете внутренний DNS для разрешения имени сервера WSUS, убедитесь, что порт 53 открыт между сервером DMZ и внутренним DNS-сервером.

Я бы использовал локальную групповую политику, чтобы настроить все и пройтись по параметрам, которые предоставил @Redwizard000 на https://serverfault.com/a/940236/557131. Он говорит о сервере 2016 года, но политики могут быть установлены и в более старых операционных системах. Это решило идентичную проблему для меня. Если ничего другого, он предоставляет некоторые команды, чтобы узнать, является ли это вашей проблемой, прежде чем вы вложите усилия в изменение локальной политики или реестра.

Ответ или решение

Причины невыполнения запросов обновлений Windows через WSUS на сервере Windows Server 2008 R2 SP1

На вашем сервере Windows 2008 R2 SP1, расположенном в DMZ, возникают проблемы с получением обновлений от WSUS-сервера. Несмотря на то, что клиент видит доступные обновления, загрузка не осуществляется и происходит обращение к внешним ресурсам, приводя к ошибке 0x80072EE2. Давайте рассмотрим возможные причины и способы решения этой проблемы.

Возможные причины проблемы

  1. Неправильные настройки реестра или групповых политик: Ваша текущая конфигурация кажется корректной на первый взгляд. Тем не менее, неправильные или отсутствующие настройки в реестре могут привести к тому, что клиент будет обращаться к внешним серверам обновлений.

  2. Настройки локальной группы: Убедитесь, что на сервере включены необходимые локальные политики для WSUS. Использование gpedit.msc может помочь избежать ошибок при ручном редактировании реестра.

  3. Доступ к WSUS-серверу: Судя по логам, возможны проблемы с доступом к WSUS для загрузки самих обновлений. Проверьте, могут ли клиенты без ошибок обращаться к WSUS на порту 8530.

  4. Настроенный прокси: Хотя вы упомянули, что не используете прокси, это может быть источником проблемы. Убедитесь, что настройки Windows Update не пытаются использовать прокси-сервер, который не доступен в DMZ.

Рекомендации по решению проблемы

  1. Проверка и настройка групповых политик:

    • Откройте gpedit.msc.
    • Перейдите в Конфигурация компьютера / Административные шаблоны / Компоненты Windows / Обновление Windows.
    • Убедитесь, что следующие параметры настроены:
      • Настроить автоматические обновления: Включить и установить на "Автоматически загружать и уведомлять для установки".
      • Указать расположение службы обновления Microsoft Intranet: Включить и установить как http://kanwsus2k16:8530.
    • Перезапустите службу обновления Windows.
  2. Очистка кэша BITS: Если в очереди загрузки BITS есть конфликты, это может помешать загрузке. Используйте следующие команды для её очистки:

    net stop bits
    net stop wuauserv
    del %windir%\SoftwareDistribution\*.* /s /q
    net start wuauserv
    net start bits
  3. Проверка сетевых настроек: Убедитесь, что сервер в DMZ может свободно обращаться к WSUS:

    • Проверьте настройки брандмауэра и убедитесь, что порт 8530 открыт.
    • Убедитесь, что нет ошибок в DNS, которые бы мешали разрешению имени WSUS-сервера.
  4. Логи обновлений: Если Get-WindowsUpdateLog не помогает, попробуйте воспользоваться утилитами, такими как wuauclt.exe /detectnow и wuauclt.exe /reportnow, чтобы инициировать обновления вручную и просмотреть логи.

  5. Обновление системных компонентов: Иногда проблемы могут быть вызваны отсутствием актуальных системных обновлений. Убедитесь, что на вашем сервере установлены последние обновления.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...