У меня есть компьютер с 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
... output truncated ....
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 я вижу, что он получает статус сбоя загрузки для каждого из обновлений. Короче говоря, связь есть, но клиент пытается загрузить обновления извне. Это сервер 2k16 и чтение логов с Get-WindwosUpdateLog
не оказался полезным.
Это единственный внешний сервер, который у меня есть в сети, поэтому у меня нет систем сравнения, чтобы точно знать, где находится система.
Пытаясь проверить возможность подключения к серверу, я пытаюсь перейти на http: // kanwsus2k16: 8530 / selfupdate / wuident.cab страница, с которой встречается, не может отображаться на клиентском сервере. (Эта ссылка отлично работает во внутренней сети)
Почему мой клиент Центра обновления Windows не соблюдает путь WSUS для обновлений и вместо этого пытается обратиться за помощью к Microsoft извне?
Другие вещи, которые я пробовал:
DoNotConnectToWindowsUpdateInternetLocations
равно 1 дюйм HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate
Я бы использовал локальную групповую политику, чтобы настроить все и пройтись по настройкам, которые @ Redwizard000 предоставил на https://serverfault.com/a/940236/557131. Речь идет о Server 2016, но политики доступны для установки в более старых операционных системах. Это устранило для меня идентичную проблему. По крайней мере, он предоставляет некоторую командную строку, чтобы увидеть, является ли это вашей проблемой, прежде чем вы приложите усилия к изменению локальной политики или реестра.
Я не думаю, что вам следует возиться с реестром в этом случае. В реестре слишком много записей, о которых стоит подумать, и вероятность ошибки относительно высока. На вашем месте я бы использовал местную политику.
У меня есть сервер, который находится в аналогичной ситуации с вашим - расположен в DMZ, не подключен к домену и получает обновления с внутреннего сервера WSUS. Этот сервер отлично получает обновления. Я использую локальную политику для настройки параметров обновления Windows на сервере, что, на мой взгляд, более желательно, чем изменение параметров реестра напрямую.
открыто gpedit.msc
как администратор в командной строке.
Перейти к компьютеру Configuration/Administrative Templates/Windows Components/Windows Update
Измените следующие настройки:
Что касается настроек брандмауэра, убедитесь, что порт 8530 открыт от сервера DMZ к серверу WSUS. Кроме того, если вы используете внутренний DNS для разрешения имени сервера WSUS, убедитесь, что этот порт 53 открыт между сервером DMZ и внутренним DNS-сервером.
Вы не настроили необходимый реестр, чтобы указать, что Центр обновления Windows будет загружен через WSUS.
Пожалуйста, установите следующий реестр по пути HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
:
Value name: UseWUServer
Value data: Set this value to 1 to configure Automatic Updates
to use a server that is running Software Update Services instead of Windows Update.
Registry Value Type: Reg_DWORD
Остальные на месте. Также обратите внимание на пункты, предложенные wrieedx в другом ответе выше, особенно в том, чтобы управлять такими вещами с помощью gpedit.msc
, вместо изменения в реестре.