Always-On VPN 配置文件未添加自定义路由

Always-On VPN 配置文件未添加自定义路由

我的服务器是2012R2。我按照微软手册使用 PowerShell 进行客户端部署。一切正常,除了自定义路线没有出现在客户端上(在多台 Windows 10 和 Windows 11 PC 上尝试过)没有任何提示。DisableClassBasedDefaultRoute有效。

我尝试修改建议,MakeProfile.ps1通过 MDM_VPNv2_01 WMI 类添加 VPN 连接,并使用经典方式添加 VPN 连接,Add-VpnConnection而不是像这样使用自定义路由Add-VpnConnectionRoute。它有效,路由确实出现,但当客户端未连接到网络时,登录脚本不会运行,而远程客户端通常都是这样。似乎“不正确”的 ProfileXML 在Add-VpnConnection几次客户端重新启动后覆盖了添加的路由(我不完全理解其中的逻辑),自定义路由消失了,所以它有效但不可靠。

请帮忙查找 ProfileXML 或其他任何地方的错误:

<VPNProfile>

   <AlwaysOn>true</AlwaysOn>
   <RememberCredentials>true</RememberCredentials>   
   <DnsSuffix>mydomain.local</DnsSuffix>
   <RegisterDNS>true</RegisterDNS>
   <TrustedNetworkDetection>mydomain.local</TrustedNetworkDetection>
   
   <DomainNameInformation>
      <DomainName>.mydomain.local</DomainName>
      <DnsServers>192.168.99.1,192.168.99.100</DnsServers>
   </DomainNameInformation>

   <NativeProfile>
      <Servers>vpn.external.com</Servers>
      <RoutingPolicyType>SplitTunnel</RoutingPolicyType>    
      <NativeProtocolType>IKEv2</NativeProtocolType>
      <DisableClassBasedDefaultRoute>true</DisableClassBasedDefaultRoute>

      <CryptographySuite>
         <AuthenticationTransformConstants>SHA256128</AuthenticationTransformConstants>
         <CipherTransformConstants>AES256</CipherTransformConstants>
         <EncryptionMethod>AES256</EncryptionMethod>
         <IntegrityCheckMethod>SHA256</IntegrityCheckMethod>
         <DHGroup>Group14</DHGroup>
         <PfsGroup>None</PfsGroup>
      </CryptographySuite>
      
     <Authentication>
         <UserMethod>Eap</UserMethod>
         <Eap>
            <Configuration>
               <EapHostConfig xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
                  <EapMethod>
                     <Type xmlns="http://www.microsoft.com/provisioning/EapCommon">26</Type>
                     <VendorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorId>
                     <VendorType xmlns="http://www.microsoft.com/provisioning/EapCommon">0</VendorType>
                     <AuthorId xmlns="http://www.microsoft.com/provisioning/EapCommon">0</AuthorId>
                  </EapMethod>
                  <Config xmlns="http://www.microsoft.com/provisioning/EapHostConfig">
                     <Eap xmlns="http://www.microsoft.com/provisioning/BaseEapConnectionPropertiesV1">
                        <Type>26</Type>
                        <EapType xmlns="http://www.microsoft.com/provisioning/MsChapV2ConnectionPropertiesV1">
                           <UseWinLogonCredentials>true</UseWinLogonCredentials>
                        </EapType>
                     </Eap>
                  </Config>
               </EapHostConfig>
            </Configuration>
         </Eap>
      </Authentication>  
    </NativeProfile>  

    <Route>
      <Address>192.168.96.0</Address>
      <PrefixSize>20</PrefixSize>
      <Metric>1</Metric>
    </Route>
       
</VPNProfile>

答案1

我自己使用自定义路由,但我不知道如何禁用基于类的路由。上面的例子为我指明了正确的方向。

无论如何:我添加海关路线的方式是通过 PowerShell:

假设您的 VPN 连接被调用,MyVpn您可以使用 Cmdlet 添加自定义路由,Add-VpnConnectionRoute如下所示:

Add-VpnConnectionRoute -ConnectionName "MyVpn" -DestinationPrefix 192.168.96.0/20 -PassThru

该路由与您的 VPN 连接相关联,因此只有在 VPN 连接处于开启状态时它才会出现在您的路由表中。

答案2

您应该 100% 能够在 XML 中配置路线。与我运行的运行良好的 XML 相比,您的 XML 有 2 点不同:

  1. 我已<RememberCredentials>设置为 faslse
  2. 我不在配置<Metric>中使用<Route>

这里的罪魁祸首很可能是 2 号。

此外,您是否只配置了用户隧道?因为如果您还配置了设备隧道,并且其中某些配置不正确,那么它也会影响用户隧道。

例如,不要<DomainNameInformation>在设备隧道中配置。或者如果你绝对地必须确保<DomainNameInformation>两个配置文件中的所有内容都相同。

相关内容