We've just installed a fresh Windows Server 2016 without IPv4 connectivity. I can confirm that IPv6 works, but I am unable to install updates through Windows Update. The update process stops with the following error message:
We couldn't connect to the update service. We'll try again later, or you can check now. If it still doesn't work, make sure you're connected to the internet.
We do not run any local WSUS, but I was under the impression that Microsoft made their Windows Update service available on IPv6 as well. Am I mistaken and should I enable IPv4 in order to update, or is something else going on?
I only found some discussion from 2012-2013 on this issue, stating that on IPv6 only system:
So I did some
dig
ging. Situation today, in 2017:URL's that are needed by the Microsoft Update without WSUS:
windowsupdate.microsoft.com
doesn't haveAAAA
, not working.update.microsoft.com
doesn't haveAAAA
, not working.windowsupdate.com
not in use, noA
/AAAA
.download.windowsupdate.com
has (viaCNAME
s)AAAA
, answers (only) HTTP on IPv6. OK!download.microsoft.com
has HTTP/HTTPS on IPv6 (302 redirect
towww
). OK!test.stats.update.microsoft.com
doesn't haveAAAA
, not working.Microsoft Activation uses www.microsoft.com, port 80/443: has
AAAA
, answers HTTP(S). OK!NTP
time.windows.com
, still no IPv6, change to an IPv6 Time Server like2.pool.ntp.org
.So it seems like the situation has't change much, at least not for all Microsoft services.
However, TechNet article IPv6 Support in Microsoft Products and Services claims that Windows Update has full IPv6 support and leads us to Connecting with IPv6 in Windows 8 blog post, that has more information:
As
*.microsoft.com
sites answers HTTP(S) on IPv6,you should try to visit the working sites above from the server.
For further diagnostics on the problem:
tracert -6 download.windowsupdate.com
tracert -6 2001:14b8:1800:300::3eb7:aa1a
(or find the currentAAAA
on another computer with working DNS).download.microsoft.com
/ its (current)AAAA 2a02:26f0:103:19d::e59
If you don't have working routing on your IPv6, e.g. if your IPv6 is only local setup, you could configure NAT64 and DNS64 with Forefront Unified Access Gateway (UAG) DirectAccess. It has been there since Windows Server 2012 and remains essentially unchanged through 2012 R2 to 2016.
Or... simply enable IPv4. You probably have capability, if you haven't yet declared IPv4 historic.
Assuming that Windows has hardcoded hostnames for update, but no hardcoded IP-addresses, you can use the DNS cache to figure out which hostnames are being looked up.
ipconfig /flushdns
ipconfig /displaydns
On a fresh Hyper-V Server 2016, it only listed one name: ctldl.windowsupdate.com, which is a subdomain of one of the required hosts that Esa Jokinen refers to in the accepted answer. Today in 2017 this is a CNAME to Akamai, but it only returns an IPv4 address, no IPv6. This means that Windows Update won't work on an IPv6-only connection, but it should work with NAT64 (it does for me).