在强制隧道方案中,Windows 激活失败
适用于:✔️ Windows VM
本文介绍如何在站点到站点 VPN 连接或 ExpressRoute 方案中启用了强制隧道时,解决可能遇到的 KMS 激活问题。
症状
在 Azure 虚拟网络子网上启用强制隧道,以将所有 Internet 绑定的流量定向回本地网络。 在此方案中,运行 Windows 的 Azure 虚拟机(VM)无法激活 Windows。
原因
Azure Windows VM 需要连接到 Azure KMS 服务器才能激活 Windows。 激活要求激活请求来自 Azure 公共 IP 地址。 在强制隧道方案中,激活失败,因为激活请求来自本地网络而不是来自 Azure 公共 IP 地址。
解决方案
若要解决此问题,请使用 Azure 自定义路由,将激活流量路由到 Azure KMS 服务器。
Azure 全球云的 KMS 服务器的第一个 DNS 名称具有 azkms.core.windows.net
两个 IP 地址: 20.118.99.224
和 40.83.235.53
。 Azure 全局云的 KMS 服务器的第二个 DNS 名称是 kms.core.windows.net
IP 地址 23.102.135.246
。 如果使用其他 Azure 平台(如 Azure 德国),则必须使用相应 KMS 服务器的 IP 地址。 有关详细信息,请参阅下表:
平台 | KMS DNS | KMS IP |
---|---|---|
Azure 全球 | azkms.core.windows.net kms.core.windows.net |
20.118.99.224, 40.83.235.53 23.102.135.246 |
Azure 德国 | kms.core.cloudapi.de | 51.4.143.248 |
Azure 美国政府 | kms.core.usgovcloudapi.net azkms.core.usgovcloudapi.net |
23.97.0.13 52.126.105.2 |
Azure 中国世纪互联 | azkms.core.chinacloudapi.cn kms.core.chinacloudapi.cn |
159.27.28.100, 163.228.64.161 42.159.7.249 |
注意
Azure 全球云和 Azure 中国的所有三个 IP 地址,以及 Azure 美国政府的两个 IP 地址都应添加到自定义路由。
若要添加自定义路由,请执行以下步骤:
对于资源管理器 VM
注意
激活使用公共 IP 地址,并受标准 SKU 负载均衡器配置的影响。 仔细查看 Azure 中的出站连接,了解要求。
打开 Azure PowerShell,然后登录到 Azure 订阅。
运行以下命令:
# First, get the virtual network that hosts the VMs that have activation problems. In this case, we get virtual network ArmVNet-DM in Resource Group ArmVNet-DM: $vnet = Get-AzVirtualNetwork -ResourceGroupName "ArmVNet-DM" -Name "ArmVNet-DM" # Next, create a route table: $RouteTable = New-AzRouteTable -Name "ArmVNet-DM-KmsDirectRoute" -ResourceGroupName "ArmVNet-DM" -Location "centralus" # Next, configure the route table: Add-AzRouteConfig -Name "DirectRouteToKMS" -AddressPrefix 23.102.135.246/32 -NextHopType Internet -RouteTable $RouteTable Add-AzRouteConfig -Name "DirectRouteToAZKMS01" -AddressPrefix 20.118.99.224/32 -NextHopType Internet -RouteTable $RouteTable Add-AzRouteConfig -Name "DirectRouteToAZKMS02" -AddressPrefix 40.83.235.53/32 -NextHopType Internet -RouteTable $RouteTable Set-AzRouteTable -RouteTable $RouteTable # Next, attach the route table to the subnet that hosts the VMs: Set-AzVirtualNetworkSubnetConfig -Name "Subnet01" -VirtualNetwork $vnet -AddressPrefix "10.0.0.0/24" -RouteTable $RouteTable Set-AzVirtualNetwork -VirtualNetwork $vnet
请转到存在激活问题的 VM。 使用 PsPing 测试其是否能够访问 KMS 服务器:
psping kms.core.windows.net:1688 psping azkms.core.windows.net:1688
尝试激活 Windows 并查看问题是否得以解决。
后续步骤
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。