教程:部署 Always On VPN - 为 Always On VPN 设置基础结构

适用于:Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows 10、Windows 11

在本教程中,你将学习如何为加入远程域的 Windows 客户端计算机部署 Always On VPN 连接。 你将创建一个示例基础结构,用于演示如何实现 Always On VPN 连接过程。 该过程由以下步骤组成:

  1. Windows VPN 客户端使用公共 DNS 服务器对 VPN 网关的 IP 地址执行名称解析查询。

  2. VPN 客户端使用 DNS 返回的 IP 地址向 VPN 网关发送连接请求。

  3. VPN 服务器还配置为远程身份验证拨入用户服务 (RADIUS) 客户端;VPN RADIUS 客户端将连接请求发送到 NPS 服务器进行连接请求处理。

  4. NPS 服务器处理连接请求(包括执行授权和身份验证),并确定是要允许还是拒绝连接请求。

  5. NPS 服务器将 Access-Accept 或 Access-Deny 响应转发到 VPN 服务器。

  6. 根据 VPN 服务器从 NPS 服务器收到的响应启动或终止连接。

先决条件

若要完成本教程中的步骤:

  • 需要有权访问四台物理计算机或虚拟机 (VM)。

  • 确保你在所有计算机上的用户帐户是“管理员”组的成员或相当的身份。

重要

不支持在 Microsoft Azure 中使用远程访问,包括远程访问 VPN 和 DirectAccess。 有关详细信息,请参阅 Microsoft 服务器软件对 Microsoft Azure 虚拟机的支持

创建域控制器

  1. 在将要运行域控制器的计算机上安装 Windows Server。

  2. 安装 Active Directory 域服务 (AD DS)。 有关如何安装 AD DS 的详细信息,请参阅安装 Active Directory 域服务

  3. 将 Windows Server 提升为域控制器。 对于本教程,你将创建一个新林,并在该新林中创建域。 有关如何安装域控制器的详细信息,请参阅 AD DS 安装

  4. 在域控制器上安装并配置证书颁发机构 (CA)。 有关如何安装 CA 的详细信息,请参阅安装证书颁发机构

创建 Active Directory 组策略

在本部分,你将在域控制器上创建一个组策略,以便域成员自动请求用户和计算机证书。 此配置允许 VPN 用户请求和检索用于自动对 VPN 连接进行身份验证的用户证书。 此策略还允许 NPS 服务器自动请求服务器身份验证证书。

  1. 在域控制器上,打开“组策略管理”。

  2. 在左侧窗格中,右键单击你的域(例如 corp.contoso.com)。 选择“在这个域中创建 GPO 并在此处链接”。

  3. 在“新建 GPO”对话框中,对于“名称”,请输入“自动注册策略”。 选择“确定”。

  4. 在左侧窗格中,右键单击“自动注册策略”。 选择“编辑”打开“组策略管理编辑器”。

  5. 在“组策略管理编辑器”中,完成以下步骤以配置计算机证书自动注册:

    1. 在左侧窗格中,转到“计算机配置”>“策略”>“Windows 设置”>“安全设置”>“公钥策略”。

    2. 在详细信息窗格中,右键单击“证书服务客户端 - 自动注册”。 选择“属性”。

    3. 在“证书服务客户端 - 自动注册属性”对话框,对于“配置模型”,请选择“启用”。

    4. 选中“续订过期证书、更新未决证书并删除吊销的证书”以及“使用证书模板的更新证书”

    5. 选择“确定” 。

  6. 在“组策略管理编辑器”中,完成以下步骤以配置用户证书自动注册:

    1. 在左侧窗格中,转到“用户配置”>“策略”>“Windows 设置”>“安全设置”>“公钥策略”。

    2. 在详细信息窗格中,右键单击“证书服务客户端 - 自动注册”,然后选择“属性”。

    3. 在“证书服务客户端 - 自动注册属性”对话框的“配置模型”中,选择“启用”。

    4. 选中“续订过期证书、更新未决证书并删除吊销的证书”以及“使用证书模板的更新证书”

    5. 选择“确定” 。

    6. 关闭“组策略管理编辑器”。

  7. 关闭“组策略管理”。

创建 NPS 服务器

  1. 在将要运行 NPS 服务器的计算机上安装 Windows Server。

  2. 在 NPS 服务器上,安装网络策略和访问服务 (NPS) 角色。 有关如何安装 NSP 的详细信息,请参阅安装网络策略服务器

  3. 在 Active Directory 中注册 NPS 服务器。 有关如何在 Active Directory 中注册 NPS 服务器的信息,请参阅在Active Directory 域中注册 NPS

  4. 确保防火墙允许正常进行 VPN 和 RADIUS 通信而所需的流量。 有关详细信息,请参阅为 RADIUS 流量配置防火墙

  5. 创建 NPS 服务器组:

    1. 在域控制器上,打开“Active Directory 用户和计算机”。

    2. 在你的域下,右键单击“计算机”。 选择“新建”,然后选择“组”。

    3. 在“组名称”中输入“NPS 服务器”,然后选择“确定”。

    4. 右键单击“NPS 服务器”,然后选择“属性”。

    5. 在“NPS 服务器属性”对话框的“成员”选项卡上,选择“添加”。

    6. 选择“对象类型”,选中“计算机”复选框,然后选择“确定”。

    7. 在“输入要选择的对象名称”中,输入 NPS 服务器的计算机名。 选择“确定”。

    8. 关闭“Active Directory 用户和计算机”。

创建 VPN 服务器

  1. 在将要运行 VPN 服务器的计算机上安装 Windows Server。 确保计算机上已安装两个物理网络适配器:一个用于连接到 Internet,另一个用于连接到域控制器所在的网络。

  2. 确定哪个网络适配器连接到 Internet,哪个网络适配器连接到域。 使用公共 IP 地址配置面向 Internet 的网络适配器,而面向 Intranet 的适配器可以使用本地网络的 IP 地址。

  3. 对于连接到域的网络适配器,请将 DNS 首选 IP 地址设置为域控制器的 IP 地址。

  4. 将 VPN 服务器加入域。 有关如何将服务器加入域的信息,请参阅将服务器加入域

  5. 打开防火墙规则,允许 UDP 端口 500 和 4500 入站连接到应用于 VPN 服务器上的公共接口的外部 IP 地址。

  6. 在连接到域的网络适配器上启用以下端口:UDP1812、UDP1813、UDP1645 和 UDP1646。

  7. 创建 VPN 服务器组:

    1. 在域控制器上,打开“Active Directory 用户和计算机”。

    2. 在你的域下,右键单击“计算机”。 选择“新建”,然后选择“组”。

    3. 在“组名称”中,输入“VPN 服务器”,然后选择“确定”。

    4. 右键单击“VPN 服务器”,然后选择“属性”。

    5. 在“VPN 服务器属性”对话框的“成员”选项卡上,选择“添加”。

    6. 选择“对象类型”,选中“计算机”复选框,然后选择“确定”。

    7. 在“输入要选择的对象名称”中,输入 VPN 服务器的计算机名。 选择“确定”。

    8. 关闭“Active Directory 用户和计算机”。

  8. 按照将远程访问安装为 VPN 服务器中的步骤安装 VPN 服务器。

  9. 从服务器管理器打开路由和远程访问工具。

  10. 右键单击 VPN 服务器,然后选择“属性”。

  11. 在“属性”中选择“安全”选项卡,然后:

    1. 选择“身份验证提供程序”,然后选择“RADIUS 身份验证”。

    2. 选择“配置”打开“RADIUS 身份验证”对话框。

    3. 选择“添加”打开“添加 RADIUS 服务器”对话框。

      1. 在“服务器名称”中,输入 NPS 服务器的完全限定域名 (FQDN)。 在本教程中,NPS 服务器是域控制器服务器。 例如,如果 NPS 和域控制器服务器的 NetBIOS 名称为 dc1,域名为 corp.contoso.com,请输入 dc1.corp.contoso.com。

      2. 在“共享机密”中,选择“更改”打开“更改机密”对话框。

      3. 在“新建机密”中输入文本字符串。

      4. 在“确认新机密”中输入相同的文本字符串,然后选择“确定”。

      5. 保存此机密。 在本教程稍后将此 VPN 服务器添加为 RADIUS 客户端时,需要使用此机密。

    4. 选择“确定”关闭“添加 RADIUS 服务器”对话框。

    5. 选择“确定”关闭“Radius 身份验证”对话框。

  12. 在 VPN 服务器“属性”对话框中,选择“身份验证方法...”。

  13. 选择“允许进行用于 IKEv2 的计算机证书身份验证”。

  14. 选择“确定”。

  15. 对于“计帐提供者”,请选择“Windows 记帐”。

  16. 选择“确定”关闭“属性”对话框。

  17. 此时将出现一个对话框,提示你重启服务器。 请选择“是”。

创建 VPN Windows 客户端

  1. 在将要成为 VPN 客户端的计算机上安装 Windows 10 或更高版本。

  2. 将 VPN 客户端加入域。 有关如何将计算机加入域的信息,请参阅将计算机加入域

创建 VPN 用户和组

  1. 执行以下步骤创建 VPN 用户:

    1. 在域控制器上,打开“Active Directory 用户和计算机”。

    2. 在你的域下,右键单击“用户”。 选择“新建”。 对于“用户登录名”,请输入任意登录名。 选择“下一页”。

    3. 选择用户的密码。

    4. 取消选择“用户在下次登录时必须更改密码”。 选择“密码永不过期”

    5. 选择完成。 将“Active Directory 用户和计算机”保持打开状态。

  2. 执行以下步骤创建 VPN 用户组:

    1. 在你的域下,右键单击“用户”。 选择“新建”,然后选择“组”。

    2. 在“组名称”中,输入“VPN 用户”,然后选择“确定”。

    3. 右键单击“VPN 用户”,然后选择“属性”。

    4. 在“VPN 用户属性”对话框的“成员”选项卡上,选择“添加”。

    5. 在“选择用户”对话框中,添加你创建的 VPN 用户,然后选择“确定”。

将 VPN 服务器配置为 RADIUS 客户端

  1. 在 NPS 服务器上,打开防火墙规则以允许 UDP 端口 1812、1813、1645 和 1646 进行入站连接。

  2. 在 NPS 控制台中,双击“RADIUS 客户端和服务器”。

  3. 右键单击“RADIUS 客户端”,然后选择“新建”打开“新建 RADIUS 客户端”对话框。

  4. 确认已选中“启用此 RADIUS 客户端”复选框。

  5. 在“友好名称”中,输入 VPN 服务器的显示名称。

  6. 在“地址(IP 或 DNS)”中,输入 VPN 服务器的 IP 地址或 FQDN。

    如果你输入 FQDN,并希望验证该名称是否正确以及是否映射到有效的 IP 地址,请选择“验证”。

  7. 在“共享机密”中:

    1. 确保选择了“手动”。

    2. 输入在创建 VPN 服务器部分中创建的机密。

    3. 对于“确认共享机密”,请重新输入共享机密。

  8. 选择“确定”。 该 VPN 服务器应会显示在 NPS 服务器上配置的 RADIUS 客户端列表中。

将 NPS 服务器配置为 RADIUS 服务器

注意

在本教程中,NPS 服务器安装在具有 CA 角色的域控制器上;我们不需要注册单独的 NPS 服务器证书。 但是,在将 NPS 服务器安装在单独服务器上的环境中,必须先注册 NPS 服务器证书,然后才能执行这些步骤。

  1. 在 NPS 控制台中,选择“NPS (本地)”。

  2. 在“标准配置”中,确保选择了“用于拨号或 VPN 连接的 RADIUS 服务器”。

  3. 选择“配置 VPN 或拨号”打开“配置 VPN 或拨号”向导。

  4. 选择“虚拟专用网络(VPN)连接”,然后选择“下一步”。

  5. 在 RADIUS 客户端中的“指定拨号或 VPN 服务器”中,选择 VPN 服务器的名称。

  6. 选择“下一步”。

  7. 在“配置身份验证方法”中完成以下步骤:

    1. 清除“Microsoft 加密身份验证版本 2 (MS-CHAPv2)”。

    2. 选择“可扩展身份验证协议”。

    3. 对于“类型”,请选择“Microsoft: 受保护的 EAP (PEAP)”。 然后选择“配置”打开“编辑受保护的 EAP 属性”对话框。

    4. 选择“删除”以删除“受保护的密码(EAP-MSCHAP v2) EAP”类型。

    5. 选择“添加” 。 此时会打开“添加 EAP”对话框。

    6. 选择“智能卡或其他证书”,然后选择“确定”。

    7. 选择“确定”关闭“编辑受保护的 EAP 属性”。

  8. 选择“下一步”。

  9. 在“指定用户组”中完成以下步骤:

    1. 选择“添加” 。 此时会打开“选择用户、计算机、服务帐户或组”对话框。

    2. 输入“VPN 用户”,然后选择“确定”。

    3. 选择“下一步”。

  10. 在“指定 IP 筛选器”中选择“下一步”。

  11. 在“指定加密设置”中选择“下一步”。 不要进行任何更改。

  12. 在“指定一个领域名称”中选择“下一步”。

  13. 选择“完成”关闭向导。

后续步骤

现已创建示例基础结构,接下来可以配置证书颁发机构。