<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Routing and Remote Access Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/rrasblog/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/rrasblog/feed.xml</link>
    <description>VPN articles - straight from Windows development team</description>
    <lastBuildDate>Sat, 18 Apr 2015 06:55:03 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Provisioning VPN client settings using Group Policy</title>
      <link>https://docs.microsoft.com/archive/blogs/rrasblog/provisioning-vpn-client-settings-using-group-policy</link>
      <pubDate>Mon, 31 Aug 2009 08:38:00 GMT</pubDate>
      <dc:creator><![CDATA[rrasblog]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rrasblog/2009/08/31/provisioning-vpn-client-settings-using-group-policy/</guid>
      <description><![CDATA[Problem:Today, Microsoft VPN client can be configured in two ways as discussed in this article...]]></description>
      <content:encoded><![CDATA[<p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><b><font size="3"><font face="Calibri">Problem:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><p></p></font></font></b><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">Today, Microsoft VPN client can be configured in two ways as discussed in </font><a href="https://blogs.technet.com/rrasblog/archive/2009/03/25/remote-access-deployment-part-1-configuring-remote-access-clients.aspx"><font size="3" face="Calibri">this</font></a><font size="3" face="Calibri"> article &ndash; a) in-built VPN client b) CM based VPN client. The first method requires end user to know the VPN settings and then create a VPN connection &ndash; which needs to be repeated by each user and prone to errors. The second method requires VPN server administrator to create a VPN connection package (called as CM profile) and then send to end user through some mechanism (like uploading to a web server). The end user then manually installs the CM profile. The problem in this mechanism is end user may forget to do the same step when the configuration changes and VPN server administrator has no way to automatically push the changes.</font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><b><font size="3"><font face="Calibri">Solution:<p></p></font></font></b></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3"><font face="Calibri">In this article we will discuss a group policy (GP) based provisioning solution for Microsoft VPN client. The key point of this solution is that it &nbsp;works as long as client machine is running following Windows OS releases: Windows XP, Windows 2003, Windows Vista, Windows Server 2008, Windows7, Windows 2008 R2. <i><p></p></i></font></font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">The steps to create the VPN connection for a VPN server administrator are fairly simple:</font></p><p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri"><span style="mso-list: Ignore"><font size="3" face="Calibri">1)</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font size="3" face="Calibri">Configure all the settings required by VPN client (like VPN server hostname) in an XML file. </font></p><p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri"><span style="mso-list: Ignore"><font size="3" face="Calibri">2)</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font size="3" face="Calibri">Place a powershell script and the above mentioned XML file in a file server location on the network . </font></p><p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo1" class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri"><span style="mso-list: Ignore"><font size="3" face="Calibri">3)</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font size="3" face="Calibri">Create a group policy object (GPO) that points to network location containing the powershell script and XML file. Add the necessary end users/machines to the GPO.</font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">Whenever the remote users logs on to their domain, they get group policy update and the VPN client gets created on their machine.</font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">The details of the entire solution (along with the powershell script and sample XML file) can be seen </font><a href="https://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=ce82bbd3-948b-476b-ab2e-1a1696349905"><font size="3" face="Calibri">here</font></a></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><b><font size="3"><font face="Calibri">How it works:<p></p></font></font></b></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">The solution involves following elements:</font></p><p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri"><span style="mso-list: Ignore"><font size="3" face="Calibri">1.</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font size="3" face="Calibri">Remote access (RAS) APIs</font></p><p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri"><span style="mso-list: Ignore"><font size="3" face="Calibri">2.</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font size="3" face="Calibri">PowerShell script and XML configuration file</font></p><p style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo2" class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri"><span style="mso-list: Ignore"><font size="3" face="Calibri">3.</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font size="3" face="Calibri">Group Policy</font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">The VPN server administrator configures a powerShell script to be run as a logon script in the Domain Controller. The instructions required for configuring VPN client settings are inside the script. The script takes the VPN client settings as input in form of a XML file which is configured by VPN server administrator. </font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">When a domain user logs on to the machine, the group policy settings get applied on the client. As part of that process, the powershell script is run. The script reads the configuration from XML file and configures the VPN client entries on the client machine by calling RAS APIs. </font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">The end users can then use the VPN client connection to connect to VPN servers.</font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">Let us know your feedback</font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">Cheers,</font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">Rama Krishna Prasad S</font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">Software Development Engineer</font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><font size="3" face="Calibri">Windows networking</font></p><p style="MARGIN: 0in 0in 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><span style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-ansi-language: EN; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-US; mso-bidi-language: AR-SA" lang="EN">[This posting is provided &ldquo;AS IS&rdquo; with no warranties, and confers no rights.]</span></p>
]]></content:encoded>
    </item>
    <item>
      <title>Troubleshooting common VPN related errors</title>
      <link>https://docs.microsoft.com/archive/blogs/rrasblog/troubleshooting-common-vpn-related-errors</link>
      <pubDate>Wed, 12 Aug 2009 07:27:59 GMT</pubDate>
      <dc:creator><![CDATA[rrasblog]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rrasblog/2009/08/12/troubleshooting-common-vpn-related-errors/</guid>
      <description><![CDATA[Hello Customers,  If you are seeing errors while establishing VPN connection using Windows in-built...]]></description>
      <content:encoded><![CDATA[<p align="left">Hello Customers,</p>  <p align="left">If you are seeing errors while establishing VPN connection using Windows in-built VPN client,&#160; you have reached the right place. This article will help you to easily troubleshoot some of the common VPN related errors. </p>  <p align="left">1) <u>Error Code: <strong>800</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><b>Error Description: </b>The remote connection was not made because the attempted VPN tunnels failed. The VPN server might be unreachable. If this connection is attempting to use an L2TP/IPsec tunnel, the security parameters required for IPsec negotiation might not be configured properly.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This error comes when the VPN tunnel type is ‘Automatic’ and the connection establishment fails for all the VPN tunnels.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Solutions:</b></p>          <p>a&gt; If you know which tunnel should actually be used for your deployment, try to set the ‘Type of VPN’ to that particular tunnel type on the VPN client side. [This can be set by clicking the ‘Network Connections’ icon on the bottom right of the task bar, Select your Connection, Right Click -&gt; Properties -&gt; Securities Tab -&gt; Under ‘Type of VPN’ select the interested VPN tunnel type ]</p>          <p>By making VPN connection with a particular tunnel type, your connection will still fail but it will give a more tunnel specific error (for example: GRE blocked for PPTP, Certificate error for L2TP, SSL negotiation errors for SSTP, etc.)</p>          <p>b&gt; This error usually comes when the VPN server is not reachable or the tunnel establishment fails.</p>          <p>i. Make sure the VPN server is reachable (try to PING the server).</p>          <p>ii. If interested in PPTP, make sure PPTP port (TCP 1723) or GRE Port (47) is not blocked on in between firewalls.</p>          <p>iii. If interested in L2TP, make sure </p>          <p>1. Correct pre-shared key or machine certificate are present both on client and server.</p>          <p>2. L2TP port (UDP 1701) is not blocked on any of the firewalls.</p>          <p>iv. If interested in IKEv2 based VPN tunnel, make sure </p>          <p>1. IKE port (UDP port 500, UDP port 4500) is not blocked.</p>          <p>2. Correct machine certificate for IKE are present both on client and server.</p>          <p>v. If interested in SSTP, make sure correct machine certificate is installed on the server and correct trusted root certificate is installed on the client machine.</p>       </td>     </tr>   </tbody></table>  <p>2) <u>Error Code: <strong>609, 633</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="884">         <p><b>Error Description: </b></p>          <p>609: A device type was specified that does not exist.</p>          <p>633: The modem (or other connecting device) is already in use or is not configured properly.</p>       </td>     </tr>      <tr>       <td valign="top" width="884">         <p><b>Possible Cause: </b>This error usually comes when the connecting VPN device (aka miniport) is not configured properly.</p>       </td>     </tr>      <tr>       <td valign="top" width="884">         <p><b>To confirm the issue: </b>From the elevated command prompt, type the following command to confirm the presence of miniport: -</p>          <p>netcfg.exe –q &lt;miniport name&gt;</p>          <p>Following is the Miniport Device name for different tunnels:</p>          <p>PPTP Tunnel: MS_PPTP</p>          <p>L2TP Tunnel: MS_L2TP</p>          <p>SSTP Tunnel: MS_SSTP</p>          <p>VPN Reconnect (IKEv2) Tunnel: MS_AGILEVPN</p>       </td>     </tr>      <tr>       <td valign="top" width="884">         <p><b>Possible Solution: </b></p>          <p>1. In Windows 7, a built-in diagnostic with repair is provided for the ‘miniport missing’ issue for locally created VPN connections. A ‘Diagnostic’ button is shown on the Error page of the VPN connection. By clicking this button, it will give a ‘repair’ option if it finds the issue to be miniport missing which if clicked will automatically try to fix the issue.</p>          <p><b></b></p>          <p><b><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/TroubleshootingmostcommonVPNerrors_CDFB/clip_image002_2.gif" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/TroubleshootingmostcommonVPNerrors_CDFB/clip_image002_2.gif"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/TroubleshootingmostcommonVPNerrors_CDFB/clip_image002_thumb.gif" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/TroubleshootingmostcommonVPNerrors_CDFB/clip_image002_thumb.gif" width="483" height="149" /></a></b><b></b></p>          <p><b></b></p>          <p><b></b></p>          <p>2. On Vista or below OS, if the miniport device is missing, you can run the following command from ‘elevated’ command prompt:</p>          <p>a&gt; netcfg.exe -e -c p -i &lt;miniport name&gt;</p>          <p>Details of the &lt;miniport name&gt; is given above.</p>          <p>b&gt; Stop and Start ‘rasman’ (‘Remote Access Connection Manager’) service.<b></b></p>       </td>     </tr>   </tbody></table>  <p>3) <u>Error Code: <strong>732, 734, 812</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><b>Error Description: </b></p>          <p>732: Your computer and the remote computer could not agree on PPP control protocols.</p>          <p>734: The PPP link control protocol was terminated.</p>          <p>812: The connection was prevented because of a policy configured on your RAS/VPN server. Specifically, the authentication method used by the server to verify your username and password may not match the authentication method configured in your connection profile. Please contact the Administrator of the RAS server and notify them of this error.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Causes: </b>One of the prime causes for the above error&#160; is: when the *only* allowed authentication protocol configured on VPN server (or Radius server) is MS-CHAP and the VPN client is Vista or above OS platform (like Windows7). Note: due to security reasons MS-CHAP was removed from Vista and above OS platform and hence the connection fails.</p>          <p>Error 812 comes when Authentication protocol is set via NPS (Network Policy and Access Services) otherwise Error 732/734.</p>          <p>Event log 20276 is logged to the event viewer when RRAS based VPN server authentication protocol setting mismatches which that of the VPN client machine.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><strong>Possible Solution: </strong>Configure a more secured authentication protocol like MS-CHAPv2 or EAP based authentication on the server – which matches the settings on the client side.</p>       </td>     </tr>   </tbody></table>  <p>4) <u>Error Code: <strong>806</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><b>Error Description:&#160; </b>806: The VPN connection between your computer and the VPN server could not be completed. The most common cause for this failure is that at least one Internet device (for example, a firewall or a router) between your computer and the VPN server is not configured to allow Generic Routing Encapsulation (GRE) protocol packets. If the problem persists, contact your network administrator or Internet Service Provider.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>PPTP uses GRE (Generic Route Encapsulation) protocol to encapsulate the VPN payload in a secure manner.This error generally comes when some firewall in path between client and server blocks GRE Protocol (i.e. IP protocol number 47).</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Solution: </b>Allow both outgoing and incoming Protocol 47 (GRE) on any in between firewalls. If that is not possible, deploy SSTP based VPN tunnel on both VPN server and VPN client – that allows VPN connection across firewalls, web proxies and NAT.</p>       </td>     </tr>   </tbody></table>  <p>5) <u>Error Code: <strong>789, 835</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><b>Error Description: </b></p>          <p>789: The L2TP connection attempt failed because the security layer encountered a processing error during initial negotiations with the remote computer.</p>          <p>835: The L2TP connection attempt failed because the security layer could not authenticate the remote computer. This could be because one or more fields of the certificate presented by the remote server could not be validated as belonging to the target destination.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Causes: </b>This is a generic error which is thrown when the IPSec negotiation fails for L2TP/IPSec connections.</p>          <p>Possible causes for this issue could be:</p>          <p>a&gt; L2TP based VPN client (or VPN server) is behind NAT.</p>          <p>b&gt; Wrong certificate or pre-shared key is set on the VPN server or client</p>          <p>c&gt; Machine certificate or trusted root machine certificate is not present on the VPN server.</p>          <p>d&gt; Machine Certificate on VPN Server does not have 'Server Authentication' as the EKU</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Solution: </b>Make sure correct certificate is used both on client and server side – for further details refer to <a href="https://blogs.technet.com/rrasblog/archive/2009/06/10/what-type-of-certificate-to-install-on-the-vpn-server.aspx">this</a> blog. In case Pre Shared Key (PSK) is used, make sure the same PSK is configured on the client and the VPN server machine.</p>       </td>     </tr>   </tbody></table>  <p>6) <u>Error Code: <strong>766</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><b>Error Description:&#160; </b>766: A certificate could not be found. Connections that use the L2TP protocol over IPSec require the installation of a machine certificate, also known as a computer certificate.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This error usually comes when their is no valid machine certificate on your client machine.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Solution: </b>Make sure the correct machine certificate for L2TP validation is installed on your client machine - for further details refer to <a href="https://blogs.technet.com/rrasblog/archive/2009/06/10/what-type-of-certificate-to-install-on-the-vpn-server.aspx">this</a> blog.</p>       </td>     </tr>   </tbody></table>  <p>7) <u>Error Code: <strong>691</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><b>Error Description: </b>691: The remote connection was denied because the user name and password combination you provided is not recognized, or the selected authentication protocol is not permitted on the remote access server.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This error is given when the authentication phase erred out because of wrong credentials being passed.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Solution: </b></p>          <p>a&gt; Make sure correct username and password is typed.</p>          <p>b&gt; Make sure ‘Caps Lock’ is not turned ON while typing credentials.</p>          <p>c&gt;<strong> </strong>Make sure the authentication protocol as selected on the client is permitted on the server.<b></b></p>       </td>     </tr>   </tbody></table>  <p>8) <u>Error Code: <strong>809</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><b>Error Description: </b>809: The network connection between your computer and the VPN server could not be established because the remote server is not responding. This could be because one of the network devices (e.g, firewalls, NAT, routers, etc) between your computer and the remote server is not configured to allow VPN connections. Please contact your Administrator or your service provider to determine which device may be causing the problem.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This error usually comes when some firewall between client and server is blocking the ports used by VPN tunnel</p>          <p>a&gt; PPTP port (TCP port 1723) is blocked by a firewall/router. [Applicable to tunnel type = PPTP]</p>          <p>b&gt; L2TP or IKEv2 port (UDP port 500, UDP port 4500) is blocked by a firewall/router. [Applicable to tunnel type = L2TP or IKEv2]</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Solution: </b>Enable the port (as mentioned above) on firewall/router. If that is not possible, deploy SSTP based VPN tunnel on both VPN server and VPN client – that allows VPN connection across firewalls, web proxies and NAT.</p>       </td>     </tr>   </tbody></table>  <p>9) <u>Error Code: <strong>13806</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><b>Error Description: </b>13806: IKE failed to find valid machine certificate. Contact your Network Security Administrator about installing a valid certificate in the appropriate Certificate Store.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This usually happens when there is no machine certificate or no root machine certificate present on the VPN Server.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><strong>Possible Solution: </strong>Please contact your VPN server administrator to verify and fix the issue - for further details refer to <a href="https://blogs.technet.com/rrasblog/archive/2009/06/10/what-type-of-certificate-to-install-on-the-vpn-server.aspx">this</a> blog.</p>       </td>     </tr>   </tbody></table>  <p>10) <u>Error Code: <strong>13801</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><b>Error Description: </b>13801: IKE authentication credentials are unacceptable.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Causes: </b>This error usually comes in one of the following cases:</p>          <ol>           <li>The machine certificate used for IKEv2 validation on RAS Server does not have 'Server Authentication' as the EKU (Enhanced Key Usage). </li>            <li>The machine certificate on RAS server has expired. </li>            <li>The root certificate to validate the RAS server certificate is not present on the client. </li>            <li>VPN Server Name as given on client doesn’t match with the subjectName of the server certificate. </li>         </ol>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><strong>Possible Solution: </strong>Please contact your VPN server administrator to verify and fix the above issue - for further details refer to <a href="https://blogs.technet.com/rrasblog/archive/2009/06/10/what-type-of-certificate-to-install-on-the-vpn-server.aspx">this</a> blog.</p>       </td>     </tr>   </tbody></table>  <p>11) <u>Error Code: <strong>0x800704C9</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><b>Error Description:</b> </p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This issue may occur if no SSTP ports are available on the server.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Solution: </b>To troubleshoot this issue, verify that the RAS server has sufficient ports configured for remote access. To do this, follow these steps: </p>          <ol>           <li>Start the Routing and Remote Access MMC snap-in. </li>            <li>Expand the server, right-click <b>Ports</b>, and then click <b>Properties</b>. </li>            <li>In the Name list, click <b>WAN Miniport (SSTP)</b>, and then click <b>Configure</b>. </li>            <li>Modify the number that appears in the <b>Maximum ports</b> list, as appropriate for your requirements, and then click <b>OK</b>.               <br /><b>Note</b> By default, 128 ports are available for this device. </li>            <li>In the <b>Port Properties</b> dialog box, click <b>OK</b> </li>         </ol>       </td>     </tr>   </tbody></table>  <p>12) <u>Error Code: <strong>0x80070040</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><b>Error Description: </b></p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This issue may occur if a server authentication certificate is not installed on the RAS server.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Solution: </b>Make sure the machine certificate used by RAS server for SSL has ‘Server Authentication’ as one of the certificate usage entries. For further details refer to <a href="https://blogs.technet.com/rrasblog/archive/2009/06/10/what-type-of-certificate-to-install-on-the-vpn-server.aspx">this</a> blog. For changing the SSTP machine certificate, please refer to <a href="https://blogs.technet.com/rrasblog/archive/2009/02/11/sstp-certificate-selection.aspx">this</a> blog if on VPN server is running Windows server 2008 R2, else refer to <a href="https://blogs.technet.com/rrasblog/archive/2007/11/08/do-you-want-to-change-the-certificate-used-by-the-sstp-server-read-how.aspx">this</a> blog</p>       </td>     </tr>   </tbody></table>  <p>13) <u>Error Code: <strong>0x800B0101</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><strong>Error Description: </strong>0x800B0101: A required certificate is not within its validity period when verifying against the current system clock or the timestamp in the signed file.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This issue may occur if a server authentication certificate is not installed on the Routing and Remote Access server.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Solution: </b>Make sure the machine certificate used by RAS server for SSL has ‘Server Authentication’ as one of the certificate usage entries and the certificate is not expired. For further details refer to <a href="https://blogs.technet.com/rrasblog/archive/2009/06/10/what-type-of-certificate-to-install-on-the-vpn-server.aspx">this</a> blog. For changing the SSTP machine certificate, please refer to <a href="https://blogs.technet.com/rrasblog/archive/2009/02/11/sstp-certificate-selection.aspx">this</a> blog if on VPN server is running Windows server 2008 R2, else refer to <a href="https://blogs.technet.com/rrasblog/archive/2007/11/08/do-you-want-to-change-the-certificate-used-by-the-sstp-server-read-how.aspx">this</a> blog</p>       </td>     </tr>   </tbody></table>  <p>14) <u>Error Code: <strong>0x800B0109</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><strong>Error Description: </strong>0x800B0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This issue may occur if the appropriate trusted root certification authority (CA) certificate is not installed in the Trusted Root Certification Authorities store on the client computer. </p>          <p><b>Note:</b> Generally the VPN client machine is joined to the active directory based domain and if you use domain credentials to log on to the VPN server, the certificate is automatically installed in the Trusted Root Certification Authorities store. However, if the computer is not joined to the domain or if you use an alternative certificate chain, you may experience this issue.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Solution: </b>Make sure root certificate is installed on the client machine in the Trusted Root Certification Authorities store.<b></b></p>       </td>     </tr>   </tbody></table>  <p>15) <u>Error Code: <strong>0x800B010F</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><strong>Error Description: </strong>0x800B010F: The certificate's CN name does not match the passed value.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This issue may occur if the host name of the server that is specified in the VPN connection does not match the subject name that is specified on the SSL certificate that the server submits to the client computer.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Solution: </b>Verify that the certificate which RAS server uses for SSL has the correct subject name. For example, if the VPN client is configured to use FQDN name to connect to the VPN server, the certificate used by VPN server must have FQDN in the subject name. Same thing if the client is configured to use IP address (IPv4 or IPv6) of VPN server.&#160; If the appropriately-named certificate is not present on the RAS server, you must obtain a new certificate for the RAS server.</p>          <p>For changing the SSTP machine certificate, please refer to <a href="https://blogs.technet.com/rrasblog/archive/2009/02/11/sstp-certificate-selection.aspx">this</a> blog if on VPN server is running Windows server 2008 R2, else refer to <a href="https://blogs.technet.com/rrasblog/archive/2007/11/08/do-you-want-to-change-the-certificate-used-by-the-sstp-server-read-how.aspx">this</a> blog</p>       </td>     </tr>   </tbody></table>  <p>16) <u>Error Code: <strong>0x80092013</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><strong>Error Description: </strong>0x80092013: The revocation function was unable to check revocation because the revocation server was offline.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This issue may occur if the client computer fails the certificate revocation check for the SSL certificate that the client computer obtained from the VPN server.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Solution: </b>To troubleshoot this issue, verify that the server that hosts the Certificate Revocation List (CRL) is available to the client – before VPN tunnel is established. This means that the CRL server is available to the client over the Internet because the client computer runs the CRL check during the establishment of the SSL connection and the CRL check query is sent directly to the CRL server. <b></b></p>       </td>     </tr>   </tbody></table>  <p>17) <u>Error Code: <strong>0x800704D4</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><strong>Error Description: </strong>0x800704D4: The network connection was aborted by the local system</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This error comes when the hostname of the VPN server is not resolved by the forward proxy in-front of the VPN client. </p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><strong>Possible Solution: </strong>Check your proxy settings inside the Internet explorer. If the settings are correct, please ensure you are able to access other web sites (e.g. <a href="https://www.microsoft.com">www.microsoft.com</a>) using the browser. If that also works through, try accessing the URI which SSTP uses internally i.e. <a href="https://vpn_server_name/sra_{BA195980-CD49-458b-9E23-C84EE0ADCD75}/">https://vpn_server_name/sra_{BA195980-CD49-458b-9E23-C84EE0ADCD75}/</a>&#160; -&#160; please replace vpn_server_name with actual VPN server name. If you see error “the website cannot be found” inside your browser, that validates the hostname resolution failure. If you know the IP address of VPN server, try connecting with that. Else contact your network administrator (who is responsible for managing the web proxy – most probably your ISP) – giving them the details of the problem (i.e. hostname resolution is failing for that particular hostname). </p>       </td>     </tr>   </tbody></table>  <p>18) <u>Error Code: <strong>0x80072746</strong></u></p>  <table border="1" cellspacing="0" cellpadding="0"><tbody>     <tr>       <td valign="top" width="798">         <p><strong>Error Description: </strong>0x80072746: An existing connection was forcibly closed by the remote host.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><b>Possible Cause: </b>This error comes when the server machine certificate binding to HTTPS is not done on the VPN server OR the server machine certificate is not installed on the VPN server.</p>       </td>     </tr>      <tr>       <td valign="top" width="798">         <p><strong>Possible Solution: </strong>Please contact your VPN server administrator – to check whether relevant machine certificate is installed&#160; on the VPN server. If installed correctly, check the HTTPS binding by running following command at the VPN server command prompt - “netsh http show ssl”. For further details, please refer to <a href="https://blogs.technet.com/rrasblog/archive/2007/11/08/do-you-want-to-change-the-certificate-used-by-the-sstp-server-read-how.aspx">this</a> blog.</p>       </td>     </tr>   </tbody></table>  <p>Further References:</p>  <p><a href="https://blogs.technet.com/rrasblog/archive/tags/Troubleshooting/default.aspx">Troubleshooting articles @ RRAS blog site</a></p>  <p><a href="https://support.microsoft.com/kb/947031">How to troubleshoot SSTP based connection failure in Windows</a></p>  <p>Please send in your feedback via <a href="https://blogs.technet.com/rrasblog/contact.aspx">email</a>, in case we are missing some errors that you encounter most commonly in your deployment. </p>  <p>Cheers,</p>  <p>Dinesh Agarwal </p>  <p>Amit Kumar (WINDOWS)</p>  <p>Windows Networking</p>  <p>[This posting is provided &quot;AS IS&quot; with no warranties, and confers no rights.]</p>]]></content:encoded>
    </item>
    <item>
      <title>How to deploy RRAS based VPN server that gives dedicated IP to remote users/machines and allow them to access Internet using a dedicated public IP address</title>
      <link>https://docs.microsoft.com/archive/blogs/rrasblog/how-to-deploy-rras-based-vpn-server-that-gives-dedicated-ip-to-remote-usersmachines-and-allow-them-to-access-internet-using-a-dedicated-public-ip-address</link>
      <pubDate>Thu, 30 Jul 2009 10:21:00 GMT</pubDate>
      <dc:creator><![CDATA[rrasblog]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rrasblog/2009/07/30/how-to-deploy-rras-based-vpn-server-that-gives-dedicated-ip-to-remote-usersmachines-and-allow-them-to-access-internet-using-a-dedicated-public-ip-address/</guid>
      <description><![CDATA[Hello Customers,  In this blog, I will go through the steps to enable the following scenario:  Let...]]></description>
      <content:encoded><![CDATA[<p>Hello Customers,</p>  <p>In this blog, I will go through the steps to enable the following scenario:</p>  <p align="left">Let us say you have a bunch of remote application servers that should be exposed to Internet only after routing them via a central server (which does accounting/firewall etc). And as they are application servers, you will like to reserve a public IP address for each of them – so that their external name to public IP address mapping is maintained. </p>  <p>How to enable this scenario?</p>  <p>You can deploy Windows based RRAS server role as a VPN server plus a NAT router and configure it in such a way that a dedicated public IP address is allocated to each VPN clients (i.e. your application servers in this case). The way we will do this is: Enable NAT router functionality on the VPN server to redirect public IP addresses to private IP addresses using 1o1 mapping. Then enable VPN server to assign each VPN username a dedicated private IP address. And then create VPN client on the application server with different username.</p>  <p>Let me walk you through the quick steps to do this:</p>  <ul>   <li>Install Windows server on one of your edge machine at the central site. And connect it to Internet. </li>    <li>     <div align="justify">Obtain a range of public IP addresses from the ISP – let us say IP1, IP2, IP3 .... IP10 - first one (i.e. IP1) by VPN server and rest nine (IP2 to IP9) for remote application servers that are exposed by this VPN server.</div>   </li>    <li>On this Windows server machine:      <ul>       <li>         <div align="justify">Configure all the IP addresses given by ISP to Ethernet interface facing Internet (i.e. IP1 to IP10 in this example) – let us call this interface as “Internet Interface”.</div>       </li>        <li>Open “Server Manager” and install Routing and Remote Access server role. </li>        <li>         <div align="justify">Click on “Routing and Remote Access” MMC snap-in, configure RRAS as VPN server by following the steps 2.1 to 2.3 given in <a href="https://blogs.technet.com/rrasblog/archive/2009/03/25/remote-access-deployment-part-2-configuring-rras-as-a-vpn-server.aspx" mce_href="https://blogs.technet.com/rrasblog/archive/2009/03/25/remote-access-deployment-part-2-configuring-rras-as-a-vpn-server.aspx">this</a> blog – using “Internet Interface” as the public interface. <b>Note</b>: Please ensure you have not selected “Enable security on the selected interface by setting up static packet filters” on the wizard. Because RRAS static filters and NAT doesn’t work together. </div>       </li>        <li>         <div align="justify">Now install the NAT component. On the MMC snap-in, select “IPv4” and “General”. Right click and select “New Routing Protocol” and select “NAT”. You will then see “NAT” node under IPv4.&#160; </div>       </li>     </ul>      <p align="center"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT0_2.png" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT0_2.png" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT0_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="NAT0" border="0" alt="NAT0" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT0_thumb.png" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT0_thumb.png" width="366" height="242" mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT0_thumb.png" /></a> </p>      <ul>       <li>         <div align="justify">Now configure the NAT component with a pool of public IP addresses. Right-click on NAT node and select the “Internet Interface”. Click OK. Select Interface Type as “Public Interface connected to the Internet” and select “Enable NAT on this interface”. </div>       </li>     </ul>      <p align="center"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT1_4.png" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT1_4.png" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT1_4.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="NAT1" border="0" alt="NAT1" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT1_thumb_1.png" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT1_thumb_1.png" width="248" height="267" mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT1_thumb_1.png" /></a> </p>      <ul>       <li>         <div align="justify">Click on “Address Pool” tab at the top, click on “Add” and enter the range of IP addresses that you have allocated for your remote application servers (i.e. IP2 to IP10 in this example). Ensure you have entered the network mask correctly. Once done click OK. </div>       </li>     </ul>      <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT2_2.png" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT2_2.png" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT2_2.png"><img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="NAT2" border="0" alt="NAT2" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT2_thumb.png" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT2_thumb.png" width="306" height="219" mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT2_thumb.png" /></a> </p>      <ul>       <li>         <div align="justify">Now do a 1-to-1 mapping of each public IP address to a private IP address – that you will assign to your remote application servers when they establish VPN connection to this machine. Let us say the private IP addresses are – IPA, IPB, ... IPI. Click on “Reservations” button on “Address Pool” tab and add the reservation – e.g. public IP2 mapped to private IPA; public IP3 mapped to private IPB and so on.... Once done click OK.</div>       </li>     </ul>      <p align="center"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT3_2.png" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT3_2.png" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT3_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="NAT3" border="0" alt="NAT3" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT3_thumb.png" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT3_thumb.png" width="356" height="220" mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/NAT3_thumb.png" /></a> </p>      <ul>       <li>         <div align="justify">The above step gets your NAT router mapping ready for one public IP address to one private IP address and vice-versa.</div>       </li>        <li>         <div align="justify">Now configure the NAT component with VPN interface as the private interface. Right-click on NAT node and select the interface named “Internal” (this is the pseudo interface created by VPN server which is representing the interface on which all clients connect). Select Interface Type as “Private Interface connected to private network”.</div>       </li>        <li>         <div align="justify">Now you need to configure the VPN server to ensure each remote application server when connects to this machine over VPN – gets a dedicated private IP address (one of IP address in IPA to IPI pool in this example) . This way after VPN connection, when these remote machine send packets to any machine beyond VPN server (say on Internet), their IP packets gets rightly translated – e.g. for appserverA – it is translated from IPA to IP2 when going out to Internet and vice versa when coming in from Internet.</div>       </li>     </ul>   </li> </ul>  <blockquote>   <p align="justify">To enable this, click on “Users and Groups” snap-in (i.e. lusrmgr.msc) on the machine where the usernames are created with which each application server will establish a VPN connection. This can be a local machine OR the active directory machine (if RRAS server or its Radius server is joined to the domain). Open the snap-in, click on the username (e.g. appserverA), click on “Dial-in” tab, select “Network Access Permission” as “Allow access”, select “Assign Static IP Addresses” and then enter the static IPv4 address – i.e. private IP address assigned to this machine i.e. IPA. </p>    <p align="justify"><a href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/lusr1_2.png" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/lusr1_2.png" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/lusr1_2.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="lusr1" border="0" alt="lusr1" src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/lusr1_thumb.png" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/lusr1_thumb.png" width="435" height="246" mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/RRASasVPNserverprovidingdedicatedIPassig_11733/lusr1_thumb.png" /></a> </p> </blockquote>  <blockquote>   <p align="justify">Repeat the same step for all the other username for other application servers (e.g. appserverB to appserverI) – with different private IP addresses (i.e. IPB to IPI).</p> </blockquote>  <ul>   <li>     <div align="justify">Create VPN client connection on each of your application server machine – giving destination IP address of VPN server (i.e. IP1) and corresponding username (e.g. application server A using appserverA as the username).</div>   </li>    <li>     <div align="justify">Once the above steps are done – you are all set.</div>   </li> </ul>  <p>How does it work?</p>  <ul>   <li>     <div align="justify">Remote application servers working as VPN client connect to VPN server at the edge of your network.</div>   </li>    <li>     <div align="justify">The VPN client machine gets a private IP address assigned to them – e.g. application server A connecting with VPN username as appserverA gets IP address IPA.</div>   </li>    <li>     <div align="justify">When the machine sends an IP packet on Internet, the IP packet goes with inner IP header having source IP address as private IPA till the VPN server. When it reaches VPN server, it removes&#160; the outer IP header, looks at inner IP header and does NAT translation to change the source IP address from private IPA to public IP2. And then send it on public Interface onto Internet.</div>   </li>    <li>     <div align="justify">The packet reaches the peer machine on internet. When the return IP packet traverses the Internet, the ISP forwards the packet to the VPN server machine.</div>   </li>    <li>     <div align="justify">VPN server receives the packet on Internet interface, looks at the NAT mapping and then changes destination IP address in IP header from public IP2 to private IPA. And then sees the private IPA is assigned to a VPN client. And it sends the packet on “Internal” interface which sends over VPN tunnel, adds outer IP header and the packet finally reaches the VPN client with destination IP address as IPA.</div>   </li> </ul>  <p>Thanks to Aria Fahimipour from <a href="https://www.ariaservers.com/" mce_href="https://www.ariaservers.com/">Aria servers</a> for providing me the required details about this common usage scenario which has worked for them.</p>  <p>Let me know if that works for you too.</p>  <p>With Regards,</p>  <p>Samir Jain</p>  <p>Senior Program Manager</p>  <p>Windows Networking</p>  <p>[This posting is provided “AS IS” with no warranties, and confers no rights.]</p>]]></content:encoded>
    </item>
    <item>
      <title>How to configure Network Load Balancing (NLB) based cluster of VPN Servers</title>
      <link>https://docs.microsoft.com/archive/blogs/rrasblog/how-to-configure-network-load-balancing-nlb-based-cluster-of-vpn-servers</link>
      <pubDate>Thu, 02 Jul 2009 06:37:00 GMT</pubDate>
      <dc:creator><![CDATA[rrasblog]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rrasblog/2009/07/02/how-to-configure-network-load-balancing-nlb-based-cluster-of-vpn-servers/</guid>
      <description><![CDATA[Hello All, in this blog, I will discuss how to configure a "Network Load Balancing Cluster" of vpn...]]></description>
      <content:encoded><![CDATA[<P>Hello All, in this blog, I will discuss how to configure a "Network Load Balancing Cluster" of vpn servers to ensure high availability and scalability of vpn service. 
<P>For information about "Network Load Balancing (NLB)" feature in "Windows Server 2008 R2" please refer the following link: <A href="https://technet.microsoft.com/en-us/library/cc725691.aspx" mce_href="https://technet.microsoft.com/en-us/library/cc725691.aspx">https://technet.microsoft.com/en-us/library/cc725691.aspx</A> 
<P><B>How network load balancing cluster enhances scalability of vpn server?</B> 
<P>To create a NLB VPN cluster each host runs Remote Access (VPN) Service &amp; NLB Service. NLB allows all of the computers in the cluster to be addressed by the same cluster IP address. NLB distributes incoming client requests across the vpn servers in the cluster. The load weight to be handled by each vpn server can be configured as necessary. You can also add a vpn server dynamically to the cluster to handle increased load. In addition, NLB can direct all traffic to a designated single vpn server, which is called the default host. 
<P><B>How network load balancing cluster ensures high availability of vpn server?</B> 
<P>When a vpn server fails or goes offline, active connection to the failed or offline server are lost. But new connection request is automatically redistributed among the vpn servers that are still operating. However, if you bring a host down intentionally, you can use "drainstop" command to service all active connection prior to bringing the computer offline. Drainstop allows the host to continue surviving active connections but disables all new traffic to that host. 
<P><B>How to configure a NLB cluster?</B> 
<P>To configure the Network Load Balancing (NLB) cluster, you must configure three types of the parameters: 
<UL>
<LI><I>Host parameters</I>, which are specific to each host in a NLB cluster. 
<LI><I>Cluster parameters</I>, which apply to an NLB cluster as a whole. 
<LI><I>Port rules</I>, which control how the cluster functions. By default, a port rule equally balances all TCP/IP traffic across all servers. </LI></UL>
<P><B>In the following section we will describe step by step guide to deploy an nlb cluster of vpn servers for test lab.</B> 
<P><B></B>
<TABLE cellSpacing=0 cellPadding=0>
<TBODY>
<TR>
<TD width=16></TD></TR>
<TR>
<TD></TD>
<TD><A href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image001_2.gif" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image001_2.gif" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image001_2.gif"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image001 border=0 alt=clip_image001 src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image001_thumb.gif" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image001_thumb.gif" width=640 height=410 mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image001_thumb.gif"></A></TD></TR></TBODY></TABLE><B></B>
<P><B></B>
<P><B></B>
<P><B></B>
<P><B></B>
<P><B></B>
<P><B></B>
<P><B></B>
<P><B></B>
<P><B></B>
<P><B></B>
<P><B></B>
<P><B></B>
<P><B></B>
<P><B>Verification step to make sure vpn server is configured properly before installing nlb:</B> 
<P>1. Assign satic ip to vpn-server1 (say 201.0.0.1), vpn-server2 (say 201.0.0.2) [Note: NLB does not support DHCP. NLB disables DHCP on each interface that it configures, so the IP addresses must be static] 
<P>2. Ensure client is able to make vpn connection to both the servers for different tunnel types (PPTP, L2TP, SSTP or IKEv2). 
<P><B>Install &amp; Configure NLB in vpn-servers:</B> 
<P>3. Install NLB in vpn-server1 &amp; vpn-server2. 
<P>4. Create a new cluster using the NLB manager [Open nlbmgr.msc (in Administrative tools)] of vpn-server1 according the steps mentioned below. Add host to the cluster, choose priority of the host &amp; assign cluster IP (say 201.0.0.11). 
<P>a) Add new host to the cluster: 
<P>Give host name or ip address and select the interface of the host for configuring cluster. 
<P><A href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image003_2.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image003_2.jpg" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image003_2.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image003 border=0 alt=clip_image003 src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image003_thumb.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image003_thumb.jpg" width=644 height=483 mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image003_thumb.jpg"></A> 
<P>b) Host parameter configuration: 
<P><A href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image005_2.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image005_2.jpg" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image005_2.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image005 border=0 alt=clip_image005 src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image005_thumb.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image005_thumb.jpg" width=644 height=483 mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image005_thumb.jpg"></A> 
<P>c) Configuring the cluster parameter 
<P><A href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image007_2.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image007_2.jpg" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image007_2.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image007 border=0 alt=clip_image007 src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image007_thumb.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image007_thumb.jpg" width=644 height=483 mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image007_thumb.jpg"></A> 
<P>Select cluster operation mode as unicast to specify that a unicast media access control (MAC) address should be used for cluster operation. In this mode, the MAC address of the cluster is assigned to the network adapter of the computer, and the built-in MAC address of the network adapter is not used. Unicast is the default setting for Cluster operation mode. 
<P><A href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image009_2.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image009_2.jpg" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image009_2.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image009 border=0 alt=clip_image009 src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image009_thumb.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image009_thumb.jpg" width=644 height=483 mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image009_thumb.jpg"></A> 
<P>d) Configuring Port Rules: 
<P>· Select <B>Affinity </B>Single or Network to ensure that all network traffic from a particular client is directed to the same host. 
<P>· Select <B>Filtering mode </B>to Multiple hosts or Single host considering the following: 
<P>o The <B>Multiple hosts</B> parameter specifies that multiple hosts in the cluster will handle network traffic for the associated port rule. This filtering mode provides scaled performance and fault tolerance by distributing the network load among multiple hosts. You can specify that the load be equally distributed among the hosts or that each host will handle a specified load weight. 
<P>o The <B>Single host</B> parameter specifies that network traffic for the associated port rule be handled by a single host in the cluster according to the specified handling priority. This filtering mode provides port specific fault tolerance for handling network traffic. 
<P><A href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image011_2.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image011_2.jpg" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image011_2.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image011 border=0 alt=clip_image011 src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image011_thumb.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image011_thumb.jpg" width=644 height=483 mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image011_thumb.jpg"></A> 
<P>5. Add vpn-server2 to the nlb cluster using nlb manager of the vpn-server1. (you can also do this step using the nlb manager of the vpn-server2 after "connecting to existing cluster" with cluster ip 201.0.0.11) 
<P>a) Add new host to the cluster 
<P><A href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image013_2.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image013_2.jpg" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image013_2.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image013 border=0 alt=clip_image013 src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image013_thumb.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image013_thumb.jpg" width=644 height=483 mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image013_thumb.jpg"></A> 
<P>b) Host parameter configuration 
<P><A href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image015_2.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image015_2.jpg" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image015_2.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image015 border=0 alt=clip_image015 src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image015_thumb.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image015_thumb.jpg" width=644 height=483 mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image015_thumb.jpg"></A> 
<P>c) Configuring Port Rules 
<P><A href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image017_2.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image017_2.jpg" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image017_2.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image017 border=0 alt=clip_image017 src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image017_thumb.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image017_thumb.jpg" width=644 height=483 mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image017_thumb.jpg"></A> 
<P>d) Configuring load weight for the host 
<P><A href="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image019_2.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image019_2.jpg" mce_href="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image019_2.jpg"><IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=clip_image019 border=0 alt=clip_image019 src="https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_technet/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image019_thumb.jpg" original-url="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image019_thumb.jpg" width=644 height=483 mce_src="https://blogs.technet.com/blogfiles/rrasblog/WindowsLiveWriter/ConfiguringNetworkLoadBalancingNLBCluste_EB0F/clip_image019_thumb.jpg"></A> 
<P>6. Ensure both the server got same MAC Address for that interface &amp; Cluster IP. [Note: NLB automatically instructs the driver that belongs to the cluster adapter to override the adapter's unique, built-in network address and to change its MAC address to the cluster's MAC address. This is the address used on all cluster hosts.] 
<P><B>Verification after configuring nlb cluster for vpn server:</B> 
<P>7. Make Connection from the client using Cluster IP. Connection should succeed &amp; it should be connected to high priority server (vpn-sever1 in this case). 
<P>8. Give nlb drainstop on vpn-server1. 
<P>9. Drainstop allows the host to continue surviving active connections but disables all new traffic to that host. All new connections should go to vpn-server2. 
<P>10. Give nlb drainstop on the vpn-server2. 
<P>11. Now all new connections should fail since both the servers are in "drainstop" mode. 
<P>12. Give nlb start. 
<P>13. Client should be able to connect to vpn-server1. 
<P>With Regards, 
<P>Anupam Chakraborty (SDET, Windows Networking) </P>
<SCRIPT type=text/javascript>
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "https://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</SCRIPT>

<SCRIPT type=text/javascript>
try {
var pageTracker = _gat._getTracker("UA-1700161-11");
pageTracker._trackPageview();
} catch(err) {}</SCRIPT>]]></content:encoded>
    </item>
    <item>
      <title>SSTP support on Forefront TMG server</title>
      <link>https://docs.microsoft.com/archive/blogs/rrasblog/sstp-support-on-forefront-tmg-server</link>
      <pubDate>Wed, 10 Jun 2009 07:36:00 GMT</pubDate>
      <dc:creator><![CDATA[rrasblog]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rrasblog/2009/06/10/sstp-support-on-forefront-tmg-server/</guid>
      <description><![CDATA[Hello Customers,If you are wondering, when will Forefront based VPN server be available on Windows...]]></description>
      <content:encoded><![CDATA[<p>Hello Customers,<p>If you are wondering, when will Forefront based VPN server be available on Windows server 2008 &ndash; specifically when will Forefront VPN server support SSTP &ndash; which is&nbsp; the VPN tunnel that was added in Windows server 2008/Vista SP1 that provides ubiquitous VPN connectivity across firewalls/NAT using HTTPS. </p><p>So here is the good news &ndash; Forefront team <a href="https://blogs.technet.com/isablog/archive/2009/06/09/forefront-tmg-beta-3-is-released.aspx" mce_href="https://blogs.technet.com/isablog/archive/2009/06/09/forefront-tmg-beta-3-is-released.aspx">released Beta3 of new Forefront Threat Management Gateway (TMG)</a>.&nbsp; This release of TMG has bunch of features including SSTP integration i.e. TMG based VPN server will now support SSTP based VPN tunnels. Please check-it out, test it out and provide your valuable feedback to us.</p><p>With Regards,</p><p>Samir Jain</p><p>Senior Program Manager</p><p>Windows Networking</p><p>[This posting is provided "AS IS" with no warranties, and confers no rights.]</p><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "https://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-1700161-11");
pageTracker._trackPageview();
} catch(err) {}</script></p>
]]></content:encoded>
    </item>
    <item>
      <title>What type of certificate to install on the VPN server</title>
      <link>https://docs.microsoft.com/archive/blogs/rrasblog/what-type-of-certificate-to-install-on-the-vpn-server</link>
      <pubDate>Wed, 10 Jun 2009 06:52:00 GMT</pubDate>
      <dc:creator><![CDATA[rrasblog]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rrasblog/2009/06/10/what-type-of-certificate-to-install-on-the-vpn-server/</guid>
      <description><![CDATA[Hello Friends,In my previous posting related to VPN tunnel selection, I discussed various scenarios...]]></description>
      <content:encoded><![CDATA[<p>Hello Friends,<p>In my previous posting related to <a href="https://blogs.technet.com/rrasblog/archive/2009/03/17/remote-access-design-guidelines-part-3-tunnel-selection-authentication-authorization-and-accounting.aspx" mce_href="https://blogs.technet.com/rrasblog/archive/2009/03/17/remote-access-design-guidelines-part-3-tunnel-selection-authentication-authorization-and-accounting.aspx">VPN tunnel selection</a>, I discussed various scenarios in which you need to install a certificate on the VPN server. To summarize this requirement in a nutshell: except PPTP tunnel, for all the other tunnel types (i.e. IKEv2, SSTP and L2TP/IPSec) VPN server machine should be installed with a <em>valid</em> certificate. And what does <em>valid </em>means is what I am going to discuss in this blog.</p><p>Let us take a simple deployment scenario: You have one VPN server which is enabled for all VPN tunnels and is also used as NPS based Radius server &ndash; with EAP-TLS authentication. </p><p>Here are the steps you need to follow:</p><p>1) Install a certificate inside <em>machine store</em> (i.e. Local Computer certificate store) of the VPN server. The key properties that you MUST ensure are set inside the machine certificate includes:</p><ul>
<li><strong>Common name (CN):</strong> Same as the hostname OR IPv4/v6 address that is configured as VPN destination on the VPN client. i.e. if the VPN client is configured with the hostname, then set this as same hostname OR if the VPN client is configured with the IP address, then set this as same IP address. </li>
<li><strong>Extended Key Usage (EKU)</strong>:&nbsp; Select &ldquo;Server Authentication&rdquo; and &ldquo;IP Security IKE intermediate&rdquo;. </li>
<li><strong>Key Usage: </strong>Select Digital signature and Key encipherment. </li></ul><p>This certificate must be requested from the certificate authority (CA) &ndash; who trust chain is installed on the VPN client machine (see next step on special care if you are using public CA). The certificate can be requested from the CA using any mechanism that supports requesting above set of properties. For example, if you are using Active Directory Certificate Services &ndash; you can request a certificate by creating a &ldquo;Custom request&rdquo; by clicking on relevant certificate store inside Certificate Manager (certmgr.msc). And you can then submit the certificate request to the CA. And once the request is approved, you can install the machine certificate on the VPN Server.</p><p>2) Once the certificate is installed on the VPN server, you must configure the VPN server appropriately to point to the relevant machine certificate:</p><p>For <u>SSTP</u>: Ensure the SSTP tunnel is configured for this certificate. For Windows 2008 R2 &ndash; RRAS server has a UI/netsh way of selecting the certificate that will be used by SSTP &ndash; which is blogged <a href="https://blogs.technet.com/rrasblog/archive/2009/02/11/sstp-certificate-selection.aspx" mce_href="https://blogs.technet.com/rrasblog/archive/2009/02/11/sstp-certificate-selection.aspx">here</a>. For Windows 2008, there is a regkey driven way of ensuring the same which is blogged <a href="https://blogs.technet.com/rrasblog/archive/2007/11/08/do-you-want-to-change-the-certificate-used-by-the-sstp-server-read-how.aspx" mce_href="https://blogs.technet.com/rrasblog/archive/2007/11/08/do-you-want-to-change-the-certificate-used-by-the-sstp-server-read-how.aspx">here</a> and <a href="https://blogs.technet.com/rrasblog/archive/2007/10/04/how-to-change-the-machine-certificate-of-sstp-based-rras-server.aspx" mce_href="https://blogs.technet.com/rrasblog/archive/2007/10/04/how-to-change-the-machine-certificate-of-sstp-based-rras-server.aspx">here</a>.</p><p>For <u>L2TP/IPSec</u>: No other configuration is required</p><p>For <u>IKEv2 EAP authentication</u>: No other configuration is required</p><p>For <u>IKEv2 machine certificate authentication</u>: Ensure the trusted root certificate store on the VPN Server contains **<strong>only</strong>** the trust root certificate that matches the trust chain with which the client will send the machine certificate. And you MUST delete all the other trust chain on the VPN Server &ndash; to avoid any malicious client machine having a certificate with one of those trust chain to be able to successfully connect to this VPN server using IKEv2 machine certificate authentication. <strong><font color="#ff0000">WARNING</font></strong>: If you have enabled IKEv2 machine certificate authentication scenario, you MUST NOT install any trusted root certificates from a public certificate authority (e.g. Verisign) on the VPN server machine. Otherwise, any malicious user&nbsp; with a machine certificate from that particular public CA &ndash; can connect with your VPN server. You must only install the trusted root certificate of your own certificate authority.</p><p>Hope this posting helps you select the right certificate</p><p>For further details about the certificates, please refer to <a href="https://www.carbonwind.net/blog/post/2009/05/30/VPN-Reconnect-in-Windows-7-RC-redux.aspx" mce_href="https://www.carbonwind.net/blog/post/2009/05/30/VPN-Reconnect-in-Windows-7-RC-redux.aspx">this</a> excellent blog by Adrian.</p><p>With Regards,</p><p>Samir Jain</p><p>Senior Program Manager</p><p>Windows Networking</p><p>[This posting is provided "AS IS" with no warranties, and confers no rights.]</p><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "https://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-1700161-11");
pageTracker._trackPageview();
} catch(err) {}</script></p>
]]></content:encoded>
    </item>
    <item>
      <title>How to configure RRAS based SSTP VPN server behind F5 BIGIP SSL load balancer</title>
      <link>https://docs.microsoft.com/archive/blogs/rrasblog/how-to-configure-rras-based-sstp-vpn-server-behind-f5-bigip-ssl-load-balancer</link>
      <pubDate>Tue, 26 May 2009 05:50:00 GMT</pubDate>
      <dc:creator><![CDATA[rrasblog]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rrasblog/2009/05/26/how-to-configure-rras-based-sstp-vpn-server-behind-f5-bigip-ssl-load-balancer/</guid>
      <description><![CDATA[Hello All,In this blog, I will discuss how to load balance SSTP based VPN servers using a F5 BIGIP...]]></description>
      <content:encoded><![CDATA[<p>Hello All,<p>In this blog, I will discuss how to load balance SSTP based VPN servers using a F5 BIGIP SSL load balancer. </p><p>Lets look at the deployment scenario first: You are having a pool of RRAS based VPN servers hosted behind F5 BIGIP load balancer. The F5 BIGIP load balancer terminates the HTTPS connections coming in from different SSTP based VPN clients, load balances the same by sending HTTP connections to one of the VPN server from this&nbsp; pool of RRAS based VPN servers.</p><p>I will walk-through a sample lab set-up, however you can modify the same according to your own deployment.</p><p align="center"><strong>Configuring F5 BIGIP</strong></p><ol>
<li>Connect to F5 BIGIP management console web interface. Go to Local Traffic </li>
<li><strong>SSL Certificates: </strong>Import the SSL certificate that will be used during HTTPS negotiation. Please note: the subject name (CN) of the certificate should be same as the VPN destination name as configured inside VPN client. This can be either hostname or IP address &ndash; depending upon the VPN client configuration. Also note: The thumbprint of this certificate will be configured inside RRAS server (under Sha1CertificateHash and Sha256CertificateHash registry keys as given in step 3 under <strong>Configuring RRAS as SSTP VPN server</strong>). </li>
<li><strong>Profiles: </strong>Create two profiles: a) Name: <em>SSTP_Http</em> profile derived from the existing parent template `HTTP&rsquo;.&nbsp; This profile will be attached to the virtual server so that we can add an iRule to do HTTP filtering based on SSTP URI. b) Name: <em>SSTP_Client</em> profile derived from the existing parent template `ClientSSL&rsquo;. This will be configured with the certificate imported in step 2 and will be used to terminate the HTTPS connections coming in from the client side. </li>
<li><strong>Nodes: </strong>Create nodes specifying IP address of each of the VPN servers (i.e. RRAS server&rsquo;s IP address facing towards BIGIP or Internet). </li>
<li><strong>Pools</strong>: Create a pool with name <em>SSTP-Pool</em> that contains the node we created in step 4. Enter the name of the pool, add gateway_icmp health monitor, select the nodes and select the service port as 80 or any other value that is configured on SSTP based VPN server&nbsp; to listen for incoming HTTP connections. </li>
<li><strong>iRules:</strong>&nbsp; <em>This is the best part of F5 BIGIP</em> &ndash; without doing any firmware code change, we were able to get SSTP VPN server getting load balanced &ndash; by creating&nbsp; a new iRule with name: <em>SSTP_iRule </em>as given in the end of this article. </li>
<li><strong>Virtual Server: </strong>Create a new Virtual server &ndash; name: <em>SSTP_VirtualServer</em>. Specify the destination IP address, service port as 443 (HTTPS), configuration as `Basic&rsquo;. For HTTP profile &ndash; select <em>SSTP_Http</em> and SSL client profile &ndash; select <em>SSTP_Client</em> </li>
<li><strong>Resources: </strong>Add the iRule created in step 6 &ndash; i.e. <em>SSTP_iRule</em> to the virtual server. </li></ol><p align="center"><strong>Configuring RRAS as SSTP VPN server</strong></p><ol>
<li>On WS 2008 or later OS, using Server Manager, install RRAS server role inside &ldquo;Network Policy and Access server&rdquo; node. </li>
<li>Once installed, configure RRAS server as VPN server &ndash; using RRAS configuration wizard (details given in SSTP step-by-step guide -&nbsp; in references). </li>
<li>By default SSTP based VPN server is configured to listen for HTTPS connections coming in from VPN clients &ndash; however in this scenario it is required to be configured for accepting HTTP connections. To configure RRAS VPN server to listen for HTTP connections, configure <em>UseHTTPS, ListenerPort, Sha1CertificateHash and Sha256CertificateHash </em>registry keys (details given in KB947030 and KB947054). Basically &ndash; you need to specify UseHTTPS as 0 (i.e. listen for HTTP connections), ListenerPort as 80 or some other value on which you will like to listen on HTTP connections (<em>the same MUST be set inside F5 pool), </em>Sha1CertificateHash and Sha256CertificateHash with the thumbprint of the certificate installed on F5 BIGIP (which will be sent to the client during HTTPS connection establishment phase). </li>
<li>Once you have set the regkeys, restart RRAS server. </li>
<li>Follow the same steps on all the RRAS servers hosted behind F5 BIGIP (i.e. for all the nodes created on BIGIP). </li>
<li>And you are all set-to-go and test the stuff. </li></ol><p align="center"><strong>Testing</strong></p><ol>
<li>
<div align="left">Create a SSTP VPN client on Vista SP1 or later OS &ndash; give the destination name as the name/IP address of F5 BIGIP virtual server. Note: This must be same as the subject name of SSL certificate installed on the F5 BIGIP SSL certificate.</div></li>
<li>
<div align="left">Install the trusted root certificate on the client machine</div></li>
<li>
<div align="left">Click connect. The HTTPS connection must go through F5 BIGIP virtual server terminating HTTPS connection and redirecting HTTP connection to one of the RRAS server. </div></li>
<li>
<div align="left">For further troubleshooting, look at F5 logs and RRAS event logs.</div></li></ol><p>References</p><ol>
<li><a href="https://download.microsoft.com/download/b/1/0/b106fc39-936c-4857-a6ea-3fb9d1f37063/Deploying%20SSTP%20Remote%20Access%20Step%20by%20Step%20Guide.doc" mce_href="https://download.microsoft.com/download/b/1/0/b106fc39-936c-4857-a6ea-3fb9d1f37063/Deploying%20SSTP%20Remote%20Access%20Step%20by%20Step%20Guide.doc">Step-by-step guide: Deploying SSTP Remote Access</a> </li>
<li><a href="https://support.microsoft.com/kb/947030" mce_href="https://support.microsoft.com/kb/947030">KB947030: How to deploy SSTP based VPN server behind SSL load balancer</a> </li>
<li><a href="https://support.microsoft.com/kb/947054" mce_href="https://support.microsoft.com/kb/947054">KB947054: Registry entries that RRAS adds in WS08</a> </li>
<li>Here is the <strong>iRule</strong> with name <em>SSTP_iRule </em>that must be created on F5 BIGIP to redirect SSTP client connections to a pool of VPN servers: </li></ol><p>################################## </p><p>when HTTP_REQUEST { </p><blockquote>
<p>log local0. "HTTP Method: [HTTP::method]"</p></blockquote><blockquote>
<p>log local0. "HTTP URI: [HTTP::uri]"</p></blockquote><blockquote>
<p>log local0. "HTTP Host: [HTTP::host]"</p></blockquote><blockquote>
<p>log local0. "Content Length: [HTTP::header Content-Length]"</p></blockquote><blockquote>
<p>if { ([HTTP::method] eq "SSTP_DUPLEX_POST") and</p></blockquote><blockquote>
<p>([HTTP::uri] eq "/sra_{BA195980-CD49-458b-9E23-C84EE0ADCD75}/") } {</p></blockquote><blockquote>
<p>log local0. "Found SSTP Request, routing to sstp_servers pool"</p></blockquote><blockquote>
<p>pool SSTP-Pool</p></blockquote><blockquote>
<p># disable the HTTP profile for the rest of the connection</p></blockquote><blockquote>
<p>HTTP::disable</p></blockquote><blockquote>
<p>} else {</p></blockquote><blockquote>
<p>log local0. "Non SSTP Request, dropping connection. You can change it according to your use"</p></blockquote><blockquote>
<p>drop</p></blockquote><blockquote>
<p>}</p></blockquote><p>} </p><p>##################################</p><p>Cheers,</p><p>Samir Jain</p><p>Senior Program Manager</p><p>Windows Networking</p><p>[This posting is provided &ldquo;AS IS&rdquo; with no warranties, and confers no rights.]</p><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "https://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-1700161-11");
pageTracker._trackPageview();
} catch(err) {}</script></p>
]]></content:encoded>
    </item>
    <item>
      <title>Windows7 PPPoE or VPN connectivity experience – we would like to hear back from you</title>
      <link>https://docs.microsoft.com/archive/blogs/rrasblog/windows7-pppoe-or-vpn-connectivity-experience-we-would-like-to-hear-back-from-you</link>
      <pubDate>Wed, 13 May 2009 07:22:07 GMT</pubDate>
      <dc:creator><![CDATA[rrasblog]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rrasblog/2009/05/13/windows7-pppoe-or-vpn-connectivity-experience-we-would-like-to-hear-back-from-you/</guid>
      <description><![CDATA[Hello Friends,As you know &ndash; Windows7 RC is out and we will like to hear back from you !In...]]></description>
      <content:encoded><![CDATA[<p>Hello Friends,<p>As you know &ndash; Windows7 RC is out and we will like to hear back from you !</p><p>In Windows7, we did couple of changes on the remote access client that includes dialup, broadband (aka PPPoE) and VPN scenarios. Windows7 brings in simpler connectivity experience inside View Available Networks (VAN) that is shown in networking system tray icon. </p><p>In Windows7 beta release, we heard from you on some PPPoE connectivity issues in certain regions and some PPPoE performance issues. We actively listened to your valuable feedback and quickly acted on it. We have fixed all of those issues in Windows7 RC release. </p><p>If you are using Windows7 RC build and still facing any connectivity or performance issues in&nbsp; dialup, PPPoE or VPN area, please get back to us by sending us an email (click on the <a href="https://blogs.technet.com/rrasblog/contact.aspx">Email</a> link above).</p><p>We sincerely appreciate your feedback. </p><p>With Regards,</p><p>Samir Jain</p><p>Senior Program Manager</p><p>Windows Networking</p><p>[This posting is provided &ldquo;AS IS&rdquo; with no warranties, and confers no rights.]</p></p>
]]></content:encoded>
    </item>
    <item>
      <title>Enhancements to VPN Reconnect in W7 RC</title>
      <link>https://docs.microsoft.com/archive/blogs/rrasblog/enhancements-to-vpn-reconnect-in-w7-rc</link>
      <pubDate>Mon, 11 May 2009 09:30:00 GMT</pubDate>
      <dc:creator><![CDATA[rrasblog]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rrasblog/2009/05/11/enhancements-to-vpn-reconnect-in-w7-rc/</guid>
      <description><![CDATA[Hello Folks,By now all of you must have heard about the formal release of W7 RC. In case you...]]></description>
      <content:encoded><![CDATA[<p>Hello Folks,<p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="3"><font face="Calibri">By now all of you must have heard about the formal release of W7 RC. In case you don&rsquo;t have it already here is the link from where you can download the RC bits<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><p></p></font></font></p><p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><a href="https://www.microsoft.com/windows/windows-7/default.aspx" mce_href="https://www.microsoft.com/windows/windows-7/default.aspx"><span style="COLOR: windowtext"><font size="3" face="Calibri">https://www.microsoft.com/windows/windows-7/default.aspx</font></span></a><p></p></p><p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><font size="3"><font face="Calibri">In RC the RAS team has made some enhancements to the VPN Reconnect feature. Here are the details of the change and some recommendations on deployment. <p></p></font></font></p><p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo1" class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri"><span style="mso-list: Ignore"><font size="3" face="Calibri">1.</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font size="3"><font face="Calibri">Change in method used to calculate MSK<p></p></font></font></p><p style="MARGIN: 0cm 0cm 0pt 36pt" class="MsoListParagraph"><u><span style="mso-bidi-font-weight: bold; mso-ansi-language: EN-US" lang="EN-US"><font size="3"><font face="Calibri">Details of Enhancement<p></p></font></font></span></u></p><p style="MARGIN: 0cm 0cm 0pt 36pt" class="MsoListParagraph"><span style="mso-ansi-language: EN-US" lang="EN-US"><font size="3"><font face="Calibri">In accordance with the IKEv2 RFC, in EAP &nbsp;authentication, the shared secret generated is used by the IKEv2 connection initiator and responder to generate AUTH payloads &nbsp;for EAP (see section 2.16 in RFC 4306 for more details). This shared secret is called the MSK. <p></p></font></font></span></p><p style="MARGIN: 0cm 0cm 0pt 36pt" class="MsoListParagraph"><span style="mso-ansi-language: EN-US" lang="EN-US"><p><font size="3" face="Calibri">&nbsp;</font></p></span></p><p style="MARGIN: 0cm 0cm 0pt 36pt" class="MsoListParagraph"><span style="mso-ansi-language: EN-US" lang="EN-US"><font size="3" face="Calibri">In W7 RC we have changed the method used to calculate the MSK for EAP-MSCHAPv2 . The new method has been documented on MSDN and can be found at </font><a href="https://msdn.microsoft.com/en-us/library/cc224635(PROT.13).aspx" mce_href="https://msdn.microsoft.com/en-us/library/cc224635(PROT.13).aspx"><font size="3" face="Calibri">https://msdn.microsoft.com/en-us/library/cc224635(PROT.13).aspx</font></a><p></p></span></p><p style="MARGIN: 0cm 0cm 0pt 36pt" class="MsoListParagraph"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0cm 0cm 0pt 36pt" class="MsoListParagraph"><u><span style="mso-bidi-font-weight: bold"><font size="3"><font face="Calibri">Impact<p></p></font></font></span></u></p><p style="MARGIN: 0cm 0cm 0pt 36pt" class="MsoListParagraph"><font size="3"><font face="Calibri">The MSK calculation method used in RC is different from that in Beta and implementation of the new method involved changes on both the client and server. Hence RC build is required on both client and server to successfully setup an IKEv2 connection using EAP-MSCHAPv2 authentication. IKEv2 connections between Beta client and RC server and vice versa will fail if EAP-MSCHAPv2 authentication is used <p></p></font></font></p><p style="MARGIN: 0cm 0cm 0pt 36pt" class="MsoListParagraph"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="MARGIN: 0cm 0cm 0pt 36pt" class="MsoListParagraph"><font size="3"><font face="Calibri">Vendors implementing EAP-MACHAPv2 for IKEv2 MUST derive the MSK as specified in <span style="mso-ansi-language: EN-US" lang="EN-US"><a href="https://msdn.microsoft.com/en-us/library/cc224635(PROT.13).aspx" mce_href="https://msdn.microsoft.com/en-us/library/cc224635(PROT.13).aspx">https://msdn.microsoft.com/en-us/library/cc224635(PROT.13).aspx</a><p></p></span></font></font></p><p style="MARGIN: 0cm 0cm 0pt 36pt" class="MsoListParagraph"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo1" class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri; mso-bidi-font-weight: bold"><span style="mso-list: Ignore"><font size="3" face="Calibri">2.</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="mso-bidi-font-weight: bold"><font face="Calibri"><font size="3">Validation of VPN server machine certificate by client for better security<p></p></font></font></span></p><p style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class="MsoNormal"><u><span style="mso-bidi-font-weight: bold"><font face="Calibri"><font size="3">Details of Enhancement<p></p></font></font></span></u></p><p style="MARGIN: 0cm 0cm 0pt 36pt" class="MsoNormal"><font face="Calibri"><font size="3">We have made a change to IKEv2 on the client side to start validating the machine certificate sent by the VPN server that it is connecting to. This change helps prevent possible MITM and dictionary attacks thereby strengthening IKEv2 security. It is not possible to disable these checks on the client<p></p></font></font></p><p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><p><font size="3" face="Calibri">&nbsp;</font></p></p><p style="TEXT-INDENT: 35.45pt; MARGIN: 0cm 0cm 0pt" class="MsoNormal"><u><span style="mso-bidi-font-weight: bold"><font face="Calibri"><font size="3">Deployment Recommendation<p></p></font></font></span></u></p><p style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 2cm; mso-list: l0 level1 lfo2" class="MsoListParagraph"><span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span style="mso-list: Ignore"><font size="3">&middot;</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span><font size="3"><font face="Calibri">Certificate installed on the server should have the following values for certain important fields in the certificate. Corresponding root certificates should be installed on the client<p></p></font></font></p><p style="LINE-HEIGHT: 115%; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 67.6pt; mso-list: l3 level1 lfo4" class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri"><span style="mso-list: Ignore"><font size="3" face="Calibri">&nbsp;&nbsp;&nbsp;&nbsp; -</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></span><font size="3"><font face="Calibri">Certificate Name (CN): This field should contain the name or IP address of the server (depending on which one is being used by the client) that is&nbsp;&nbsp;</font></font></p><p style="LINE-HEIGHT: 115%; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 67.6pt; mso-list: l3 level1 lfo4" class="MsoListParagraph"><font size="3"><font face="Calibri">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; being validated by the client. <p></p></font></font></p><p style="LINE-HEIGHT: 115%; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 67.6pt; mso-list: l3 level1 lfo4" class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri"><span style="mso-list: Ignore"><font size="3" face="Calibri">&nbsp;&nbsp;&nbsp;&nbsp; -</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font size="3" face="Calibri">EKU: Should be a &lsquo;Server Authentication&rsquo; certificate. If there are multiple certificates present in the machine store of the server then additionally </font></p><p style="LINE-HEIGHT: 115%; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 67.6pt; mso-list: l3 level1 lfo4" class="MsoListParagraph"><font size="3" face="Calibri">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; specifying &lsquo;</font><span style="LINE-HEIGHT: 115%; FONT-FAMILY: 'MS Shell Dlg 2','sans-serif'; FONT-SIZE: 10pt; mso-ansi-language: EN-US" lang="EN-US">IP security IKE intermediate&rsquo; (OID: 1.3.6.1.5.5.8.2.2)</span><font face="Calibri"><font size="3"> in the EKU of the cert will ensure that the cert is picked over other certificates in the </font></font></p><p style="LINE-HEIGHT: 115%; TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 67.6pt; mso-list: l3 level1 lfo4" class="MsoListParagraph"><font face="Calibri"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; store. The latter is <b>highly recommended</b><p></p></font></font></p><p style="TEXT-INDENT: -18pt; MARGIN: 0cm 0cm 0pt 2cm; mso-list: l2 level1 lfo3" class="MsoListParagraph"><span style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"><span style="mso-list: Ignore"><font size="3">&middot;</font><span style="FONT: 7pt 'Times New Roman'">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><font size="3"><font face="Calibri">If you are running SSTP already in your setup then the same server machine certificate can be used for both SSTP and IKEv2 but the certificate should satisfy the criteria mentioned above. Since root certs required for SSTP are already present on the client no client side changes are needed in this case<p></p></font></font></p><p style="MARGIN: 0cm 0cm 0pt" class="MsoNormal"><b><p><font size="3" face="Calibri">&nbsp;</font></p></b></p><p style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class="MsoNormal"><u><span style="mso-bidi-font-weight: bold"><font size="3"><font face="Calibri">Impact/Troubleshooting Tips</font></font></span></u></p><p style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class="MsoNormal"><u><span style="mso-bidi-font-weight: bold"></span></u><span style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-ansi-language: EN-IN; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-bidi-language: AR-SA">If right certificate is not configured on IKEv2 server or if correct trusted root certificate is not present on the client then IKEv2 connections might fail. Error code seen </span></p><p style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-ansi-language: EN-IN; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-bidi-language: AR-SA">is 13801 which indicates that validation of the server certificate is failing. If multi-tunnel VPN strategy is used, then a fall back to the next tunnel will happen and the </span></p><p style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class="MsoNormal"><span style="FONT-FAMILY: 'Calibri','sans-serif'; FONT-SIZE: 11pt; mso-fareast-font-family: Calibri; mso-ansi-language: EN-IN; mso-fareast-theme-font: minor-latin; mso-fareast-language: EN-IN; mso-bidi-language: AR-SA">VPN connection will go through. For e.g. for &lsquo;Automatic&rsquo; tunnel type fall back will happen to SSTP</span></p><script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "https://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-1700161-11");
pageTracker._trackPageview();
} catch(err) {}</script></p>
]]></content:encoded>
    </item>
    <item>
      <title>3rd party VPN client compatibility with Windows 7 and Windows Server 2008 R2</title>
      <link>https://docs.microsoft.com/archive/blogs/rrasblog/3rd-party-vpn-client-compatibility-with-windows-7-and-windows-server-2008-r2</link>
      <pubDate>Tue, 05 May 2009 07:39:00 GMT</pubDate>
      <dc:creator><![CDATA[rrasblog]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/rrasblog/2009/05/05/3rd-party-vpn-client-compatibility-with-windows-7-and-windows-server-2008-r2/</guid>
      <description><![CDATA[
]]></description>
      <content:encoded><![CDATA[<meta name="ProgId" content="Word.Document">
]]></content:encoded>
    </item>
  </channel>
</rss>