SBS 2008 series : VPN setup in Small Business Server 2008


How To Configure a SBS 2008 Virtual Private Network ( VPN )

VPN ( Virtual Private Networks ) are essential vehicles for mobile and home office based employees to gain access to resources on their company internal networks. Included in the software of Small Business Server are the components that also support VPN access. Today’s post is a guide to understanding the setup of up a virtual private network on your Small Business Server as well as an open discussion of some of key aspects of completing that configuration sucessfully.

BTW… our VPN walkthrough for SBS 2003 is here

Remote Access Services ( RRAS ) : using the Windows SBS Console to configure RAS and open TCP port 1723 in Windows Firewall

The first step to granting remote access to mobile or home based workers directly to the internal network is to allow that type of access to occur. In Small Business Server 2008, the process is simple and can be completed using the built in Remote Access wizards. Here’s how:

  • Launch Windows SBS Console
  • select the Network tab
  • select the Connectivity tab
    • in the main section, observe the list of connections (their Names, Descriptions and their status)
  • in the right hand pane, under Tasks, select Configure a Virtual Private Network
    • this will launch the Setup Virtual Private Networking wizard
  • select Allow users to connect to the server by using a VPN , click Next
    • the system will configure virtual private networking on server and if possible, configure your Internet Router as well.
    • These functions functions combine what Small Business Server 2003 accomplished with the CEICW and Remote Access Wizard.
    • NOTE: your Firewall and/or Internet Router must have PNP configuration enabled for SBS to configure the Firewall/Internet Router. In many cases it will be necessary to manually configure the router/firewall opening TCP port 1723 for Virtual Private Networking.
  • The Setup Virtual Private Networking Wizard will execute at this point configurin VPN on the Server and the Firewall/Internet Router (if possible)
  • If the Wizard completes “successfully”, a confirmation is displayed.
    • “IF” there are any issues or failures in configuring the VPN or the Firewall/Internet Router, Details on the failure(s) will be linked
  • once complete, move on to the Users and Groups and allow VPN access (content below)

HERE ARE A SERIES OF SCREENSHOTS OUTLINING THESE STEPS

Windows SBS Console in Small Business Server 2008

Windows SBS Console Small Business Server 2008

SBS Console Configure a Virtual Private Network Small Business Server 2008

SBS Console Configure a Virtual Private Network Small Business Server 2008

Allow Users to connect to the server by using a VPN in SBS 2008

Allow Users to connect to the server by using a VPN Small Business Server 2008

Setting up virtual private networking Wizard in SBS 2008

Setting up virtual private networking Wizard Small Business Server 2008

The Virtual Private Networking Wizard makes all this look easy (and that’s a good thing unless you like books as much as this writer does :) ). So that we gain understanding of what accomplished by the wizard, let’s look a little deepr at what VPN Setup wizard is being asked to do:

  • Enable virtual private networking (VPN)
  • Create packet filters for Point-to-Point Tunneling Protocol (PPTP)
  • Enable Point-to-Point Tunneling Protocol (PPTP) to pass through the Windows Firewall
  • Use DHCP to assign IP addresses to remote client computers
  • Configure the Remote Access Policy to allow members of the Windows SBS Virtual Private Networking Users security group to have remote access.
  • Mobile client computers, such as laptops, that are currently connected to the local network can now be configured with the connection settings (by launching the Network Connection Wizard on each client computer).
  • Remote client computers not currently connected to the local network should be JOINED to the Domain and then later, configured with the connection settings to the VPN.
  • Virtual Private Networking wizard finished successfully SBS 2008

    Virtual Private Networking wizard finished successfully Small Business Server 2008

    If any Warnings are present, we should View Warning Details

    Warning Details - Server cannot open ports on the router. Manually open port 1723. SBS 2008

    Warning Details - Server cannot open ports on the router. Manually open port 1723. Small Business Server 2008

    What we see here is a reminder to open TCP Port 1723 on our Firewall/Internet Router (i.e. create and Inboud rule passing PPTP traffic). Since our Firewall/Internet Router does not have PNP configuration enabled, we will do this manually later in the article.

    Grant SBS 2008 Users permission to remotely access the Small Business Server network

    Because Small Business Server takes care of configuring the Routing and Remote Access Service policies for us including which “Security Groups” are allowed VPN access, all that is left for us to do is make sure our VPN users are placed in the appropriate Group.

    On Small Business Server 2008 that group is named: Windows SBS Virtual Private Network Users

    Group assignment is still entirely wizard based in the new SBS, so being an Admin on the box is still very easy. Here’s how to assign VPN access rights to a User:

    • Launch the SBS Console
    • Select Users and Groups, then select the Users tab
    SBS Console - Users and Groups - User Properties <br />Small Business Server 2008

    SBS Console - Users and Groups - User Properties - Small Business Server 2008

    • Select the User to whom you wish to assign the right to access the VPN.
    • Open the Properties dialog for the User, select Remote Access
    • click OK, your done! (and of course… move on to the next User until all users have been granted access)
    Remote Access - User can access Virtual Private Network - Small Business Server 2008

    Remote Access - User can access Virtual Private Network Small Business Server 2008

    A quick note about the new Groups in SBS 2008: Small Business Server has become far more granular with it’s permissions in the 2008 release. One aspect of this granularity can be found in the variety of new security Groups. To view these groups, select the Users and Groups [tab] in the WIndows SBS Console.

    Windows SBS Virtual Private Network User - Small Business Server 2008

    Groups tab in SBS Console Users and Groups - Small Business Server 2008

    We can also view our specific target Group in assigning a User access to the Virtual Private Network: The Windows SBS Virtual Private Networking Users. This SBS specific VPN Group can be seen here in the Windows SBS Console.

    Windows SBS Virtual Private Network Users - Small Business Server 2008

    Windows SBS Virtual Private Network Users - Small Business Server 2008

    Once Remote Access Services have been configured and once Users have been added to the Windows SBS Virtual Private Network Users security group, it’s time to configure the external Firewall and/or Internet Router Firewall.

    Configuring the External Hardware Firewall for VPN Virtual Private Network access

    Most Small Business Networks deploy a hardware firewall of some sort (or at least enable the firewall in the Internet Router). “How To” configure a hardware firewall varies from device to device so do your homework. You will need to consult the manufacturers resources and owners manual for specifics. In general , the key first step for our VPN is to open TCP port 1723 allowing PPTP Point to Point Tunneling Protocol traffic INBOUND to your SBS Server. The second step is to allowGRE and IPSec passthrough.

    STEPS:

    • PPTP “FIRST STEP” – TCP Port 1723 must be allowed to pass PPTP traffic INTO your SBS 2003 server. This is accomplished by port mapping traffic from the Firewall to the IP address of the Small Business Server (remember, the new SBS uses only 1 NIC).
      • 1 NIC – create an INBOUND rule “port-mapping” TCP Port 1723 to the Local Area Network (LAN) facing Network Interface card – port mapping is generally done when only one network interface is installed on the SBS Server (NOTE: 1 NIC is the default now in SBS 2008). To pass VPN connection requests from a public facing IP, map them to the internal IP of the SBS 2008 Server.
      • Your firewall may describe terms such as: PPTP, Port 1723, VPN, Remote Access, etc….
    • GRE “SECOND STEP” – GRE Protocol 47 must be allowed to pass traffic also (this allows “Authentication” to occur over PPTP VPN connection once the connection has been made)

    … Generic Routing Encapsulation (the GRE Protocol 47) passes IPSec traffic (Internet Protocol Security) for the IPSec session that is part of Client Computer connection process. If the GRE protocol does not pass, the connection cannot “authenticate”. This “Authentication” failure will occur even when PPTP traffic has been allowed by opening TCP Port 1723 (PPTP) on your firewall. GRE issues most often occur client side when a GRE block results in the Username and Password authentication failing to finish the authentication process because of the block. In this case, the VPN connection attempt simply times-out on the client side. This is experienced by the User as a Verifying User name and password dialog (show during the connection process) that just hangs there with the progress bar running on and on.

    To pass GRE Protocol 47 on your firewalls (Client side -and- Server side) look for features that:

    • enable the “VPN feature” (if one exists)
    • enable “IPSec pass through” (if  IPSec pass through exists)
    • expressly allows the GRE protocol (GRE = Protocol 47)
    • explicitly creates Inbound and Outbound rules allowing GRE and IPSec passthrough
    • NOTE: you may have to upgrade your Router’s Firmware or your Firewall’s Firmware to enable/access these features on older devices

    An explicit Rule (if you have to define one) would take on these objectives:

    #PPTP Virtual Private Network
    pass protocol tcp, to port 1723 >> state, done
    pass protocol 47 >> done

    Whatever the case, passing GRE Protocol 47 from inside>out is needed to allow IPSec traffic for your authentication. This is most often a concern for the end user at their home or reote location (meaning not the Server side – BUT ON THE CLIENT SIDE). Many home firewalls may block (and often do block) GRE traffic by default. Please provide these helpful links about GRE and passing Generic Routing Encapsulation traffic to your users.

    Testing a Client VPN Connection and confirming DHCP is assigning VPN IP Addresses

    Once your VPN is setup and the Firewall rules established, testing your VPN is the next step. A Client Computer should be used to create a VPN Connection to the SBS 2008 Server and test the SBS 2008 VPN. Workstations have this connectivity built in and making the connection is as easy as using the Network Connection wizard available in both Windows Vista or Windows XP.

    Since this article is about the Server side, I want to focus on one particularly “overlooked” aspect of VPN connections…. DHCP.

    Earlier in our article (when we described just exactly what the Remote Access Setup Wizard accomplishes) we learned the RAS wizard completes this task:

    • Use DHCP to assign IP addresses to remote client computers

    The importance of this can be most effectivly communicated with a screenshot of the DHCP  management console. This screen shot is taken after VPN connections have been made.

    DHCP leases assigned to the Remote Access Service in Small Business Server 2008

    DHCP leases assigned to the Remote Access Service in Small Business Server 2008

    Looking at the DHCP console, we can see a series of leases assigned to the Remote Access Service (you can confirm a RAS lease is made just by looking under the Unique ID column for the word RAS ). In viewing DHCP we confirm both the RAS description on Unique ID as well as a different icon (computer with phone) for IP leases from RAS. Realizing then that RAS is handing out IP’s from DHCP , we recognize why the SBS DHCP service is so important to the Client VPN connections made through RAS.

    When the Remote Acccess service is properly configured and a remote connection is made the the VPN, the Remote Access service grabs a range of IP addresses from DHCP. These IP’s are reserved for additional VPN clients “immediately” upon the first VPN connection being made. The default number of additional leases requested by RAS (and reserved from DHCP) is 10.

    The reason we discuss this here is that Small Business Server 2008 is designed to shut down the DHCP Service “automatically” if it senses another DHCP Server anywhere on the network (routers, wireless routers, DSL modems, Firewalls, etc…).  Although this may seem a little “off-topic”, in reality it’s not. In short, if DHCP fails or is disabled on SBS, there is no way for SBS DHCP to provide DHCP leases to RAS.

    While most administrators review their network topology and know exactly how DHCP is implemented (some small offices do not). When the LAN has been happily functioning based on DHCP “working somewhere”, it’s not always a big deal. However, being clear on where and how IP’s are handed is very important for your VPN Connections. Not only this, but in some Small Business Server deployments I have been asked to review, DHCP is intentionally given over to the Internet Router so that if there is a Server failure, client computers can still access the internet. While this may be a reasonable solution on some levels (one I do not support BTW), it does negate all the additional DHCP configurations that are made or customized by the SBS DHCP Server. Failing to use the SBS DHCP Service in this case can lead to incorrect scope options, proper DNS Server not being defined, entires in SBS DNS never being seen by the network, and so on.

    The key point for our article is this, if the DHCP Service has been assigned to an Internet Router or some other device in your network, the Remote Access Service may not be able to provide (or authorized to request) DHCP address to client computers making VPN connections.

    A properly configured VPN that can appropriately access DHCP on Small Business Server 2008 will effectivvely provide DHCP leases to both client computers on the LAN and remote access computers connecting on the VPN.

    To see this in it’s VPN form, let’s take a look at this sample IP Configuration from a client computer which has connected to a SBS VPN. In this Configuration please note there are two IP leases that have been made.

    1. one using the PPP WIGITAL VPN Connection
      1. note the ourcompany.pri Domain (provided by DHCP on the SBS 2008 Server)
      2. note the 10.13.15.x subnet (provided by DHCP on the SBS 2008 Server)
    2. one using the Wireless Network Connection
      1. note the my.homenetwork.local Domain (provided by the home network Wireless Service Set)
      2. note the 192.168.1.x subnet (provided by the home network Wireless Service Set)

    To view this data: from the computer connected to the VPN, go to Start, Run, type CMD, at the command line type IPCONFIG /ALL

    Windows IP Configuration

    Host Name . . . . . . . . . . . . : my-mackbookpro
    Primary Dns Suffix . . . . . . . : ourcompany.pri
    Node Type . . . . . . . . . . . . : Broadcast
    IP Routing Enabled. . . . . . . . : No
    WINS Proxy Enabled. . . . . . . . : No
    DNS Suffix Search List. . . . . . : ourcompany.pri
    my.homenetwork.local

    PPP adapter WIGITAL VPN Connection:

    Connection-specific DNS Suffix . :
    Description . . . . . . . . . . . : WIGITAL VPN Connection
    Physical Address. . . . . . . . . :
    DHCP Enabled. . . . . . . . . . . : No
    Autoconfiguration Enabled . . . . : Yes
    IPv4 Address. . . . . . . . . . . : 10.13.15.18(Preferred)
    Subnet Mask . . . . . . . . . . . : 255.255.255.255
    Default Gateway . . . . . . . . . : 0.0.0.0
    DNS Servers . . . . . . . . . . . : 10.13.15.1
    Primary WINS Server . . . . . . . : 10.13.15.1
    NetBIOS over Tcpip. . . . . . . . : Enabled

    Ethernet adapter Local Area Connection:

    Media State . . . . . . . . . . . : Media disconnected
    Connection-specific DNS Suffix . :
    Description . . . . . . . . . . . : Marvell Yukon 88E8058 PCI-E Gigabit Ethernet
    net Controller
    Physical Address. . . . . . . . . : 00-2F-F3-D0-EE-93
    DHCP Enabled. . . . . . . . . . . : Yes
    Autoconfiguration Enabled . . . . : Yes

    Wireless LAN adapter Wireless Network Connection:

    Connection-specific DNS Suffix . : my.homenetwork.local
    Description . . . . . . . . . . . : Brodcom 802.11n Network Adapter
    Physical Address. . . . . . . . . : 00-2F-6B-CC-37-2C
    DHCP Enabled. . . . . . . . . . . : Yes
    Autoconfiguration Enabled . . . . : Yes
    Link-local IPv6 Address . . . . . : fe80::b81a:ccdf:b0b4:254d%10(Preferred)
    IPv4 Address. . . . . . . . . . . : 192.168.1.46(Preferred)
    Subnet Mask . . . . . . . . . . . : 255.255.255.0
    Lease Obtained. . . . . . . . . . : Sunday, March 08, 2009 7:34:16 PM
    Lease Expires . . . . . . . . . . : Monday, March 09, 2009 7:34:18 PM
    Default Gateway . . . . . . . . . : 192.168.1.1
    DHCP Server . . . . . . . . . . . : 192.168.1.1
    DNS Servers . . . . . . . . . . . : 192.168.1.1
    192.168.1.1
    NetBIOS over Tcpip. . . . . . . . : Enabled

    Reviewing the IPCONFIG DATA should give us all ample reminder to check out DHCP, confirm DHCP is providing leases to the Remote Access Server and work with our client connections to make sure those leases are being handed out properly.

    That concludes our article.

    Thanks for reading. Please comment for the community. If this information has helped you, please link back here. It helps us as well as others who may need the information.

    Thank you.
    Mark Raborn
    WIGITAL

    PS…

    Note
      It is recommended that you set up a VPN only if Remote Web Workplace does not meet the needs of your organization. While Remote Web Workplace provides remote access to several network resources, some line-of-business applications require the computer to be connected to the network. For these scenarios, you can use a Virtual Private Network. For information about setting up Remote Web Workplace on Windows SBS 2008, see the Microsoft Web site ( http://go.microsoft.com/fwlink/?LinkId=105270 ).

    more

    , , , , , , ,

    1. #1 by Cindy on 2009/06/02 - 10:08

      how do you grant remote access to a user who has a MAC computer and wants to log in to her work pc workstation through sbs 2008?

    2. #2 by Mark Raborn on 2009/06/02 - 20:10

      TO ALL READERS – THIS RESPONSE IS NOT RELATED TO THE ARTICLE ABOVE. HOWEVER, IT IS RELATED TO THE COMMENT ABOVE. I’M POSTING A REPLY TO HELP ANSWER THE QUESTION IN THE COMMENTS. THANK YOU.

      Cindy, hi

      read this post about RWW on Official SBS Blog

      …about 3/4′s of the way through you will see this image

      Focus your attention on the TS Proxy section of the article and start reading.

      Now, I “realize” that I’m responding by pointing you to an SBS 2003 post and your questions is SBS 2008 based. However, the same principals apply in that SBS uses a terminal services proxy. SBS 2008 achieves the remote connection to the internal workstation using tsweb in a (new for SBS2008) “Terminal Services Proxy method over HTTP”. In both old (2003) and new (2008) you will find that an Active X control is needed.

      The challenge with RWW on any other platform besides Windows is “very specifically” with how terminal services connectivity to internal workstations is achieved via SBS. Because of the SBS implementation, you will not be able to connect to a Client Desktop via SBS RWW from a Mac.

      The reason: the remote connection through RWW requires an Active X control which Safari, Firefox, Opera, etc… do not support. IE is the only browser that will fulfill the requirement. This requirement is based on SBS development which employs the TS Proxy connection method (mentioned above) to remotely connect an external user (initially via a web browser session) to a system on the internal network. The older method (SBS 2003) required opening additional ports like port 3389. The new method does not.

      To see what ports SBS 2008 needs open, read this article
      http://blogs.technet.com/nking/archive/2008/11/26/remote-web-workplace-sbs-port-settings.aspx

      To learn more about what Microsoft is achieving with Terminal Services, read this article
      http://technet.microsoft.com/en-us/library/cc771530.aspx

      A LITTLE HOPE

      Your user still can connect remotely one of two ways that I can think of.

      1. Download Remote Desktop Connection Client for Mac here

      http://www.microsoft.com/mac/products/remote-desktop/default.mspx

      1a. dedicate an IP address for terminal services to that user
      1b. Open port 3389
      1c. Port forward the connection directly to that users Workstation

      2. Buy VM Fusion http://www.vmware.com/products/fusion/ or Parallels http://www.parallels.com/ and launch a virtual Windows OS for the purpose of connecting to RWW using Internet Explorer (which of course supports Active X controls).

      I’m aware this is almost certainly not the answer that you are looking for but it’s the best data I’m aware of.

      hope this helps
      Mark Raborn
      WIGITAL

    3. #3 by David on 2009/09/15 - 08:57

      Thanks for posting this in such detail – it was extremely helpful.

    4. #4 by Jorge on 2009/09/15 - 23:55

      Thanks for posting this in such detail – it was extremely helpful.

      Also thanks for letme have an functional VPN on my server and the best of all is tha I understand what is happening and how it was done

    5. #5 by david on 2009/09/17 - 07:16

      I’m running into a configuration problem. I have an SBS 2008 server with one NIC. When I enable VPN, the workstations on the LAN cannot see the server anymore (ping timeout) and the server cannot reach the LAN (ping to local router gives “General Failure”).

      If I stop the RRAS service or disable VPN, the problem goes away.

      What am I missing?

      Thanks
      David

    6. #6 by Chris on 2009/10/27 - 10:02

      I am having the exact same issue as David on post #5.

      Anyone found a solution to this? My Server and all workstations lose internet connection, not to mention my server seems to go a bit buggy.

      Has anyone had these issues or some suggestions? I’ve tried reconnects, restarts, running the SBS consol fixes/wizards, and restarting DHCP… Yet as soon as I run VPNCW.exe from the SBS consol to reconfigure NOT allowing VPN connections everything is fine…..

      Help?

      Thanks,
      Chris

    7. #7 by Bernie on 2009/11/13 - 13:38

      On Windows server 2008 go to Server Manager/Network Policy and Access Services then Right click Routing and Remote Access and go to properties, then under IPV4 router select Local Area Network (LAN) routing Only instead of LAN and demand dial routing and click apply and OK. You have to do this while RRAS is running.

    8. #8 by Bernie on 2009/11/13 - 13:44

      Right click on Routing and Remote Access and go to Properties, then under IPV4 router select Local Area Connection (LAN) routing only instead of LAN and demand dial routing. You have to do this since you only have 1 NIC installed

    9. #9 by Bish on 2009/11/30 - 07:32

      Hi Mark,

      Thanks for the detailed step-by step guide. It is very thorough.

      I am having some real problems with this. I have done everything using the wizards, and all seems to work fine until I try to connect from a client computer.

      I’m getting the following error message:
      “Error 795: The tunnel type RADIUS attribute for this user is not correct”.

      I am trying to connect from an XP Pro SP3 machine. I thought that to eliminate any firewall issues the best way to test this was to try and connect the VPN whilst both on the same internal private network using the SBS private IP as the address on the VPN client.

      Your assistance would be gratefully appreciated.

      Thanks in advance!

    10. #10 by Bastien on 2010/02/05 - 06:25

      If I disabled the DHCP on the sbs and put it on the router, what do I have to do for the VPN to work ?
      How do I make sure that the VPN will know where the DHCP is and attribute it to the remote users ?

    11. #11 by Mark Raborn on 2010/02/05 - 08:44

      Hi Bastien

      you can assign Static IP’s using Active Directory in Dial-in tab of a users account in Active Directory

      http://support.microsoft.com/kb/303684

      you can assign a Static IP Pool in RRAS to dial in users

      see http://blogs.technet.com/rrasblog/archive/2009/03/17/remote-access-design-guidelines-part-4-ip-routing-and-dns.aspx

      You can also assign static routes if need be as well using RRAS

      http://support.microsoft.com/kb/178993

      Hope this helps
      Mark

    12. #12 by Karen on 2010/07/27 - 09:55

      STEP MISSING ABOVE: in assigning users to the VPN group, you must not only
      - select “Remote Access”
      but actually also
      - *check the box* for “User can access Virtual Private Network” before clicking ‘OK.’

      It’s clear in the screenshot, just not in the text.

    (will not be published)