Installing and Configuring VPN on Windows Server 2003
A virtual private network (VPN) is a network that uses a public telecommunication infrastructure, such as the Internet, to provide remote offices or individual users with secure access to their organization's network. A virtual private network can be contrasted with an expensive system of owned or leased lines that can only be used by one organization. The goal of a VPN is to provide the organization with the same capabilities, but at a much lower cost.
A VPN works by using the shared public infrastructure while maintaining privacy through security procedures and tunneling protocols such as the Layer Two Tunneling Protocol (L2TP). In effect, the protocols, by encrypting data at the sending end and decrypting it at the receiving end, send the data through a "tunnel" that cannot be "entered" by data that is not properly encrypted. An additional level of security involves encrypting not only the data, but also the originating and receiving network addresses.
Components of VPN
- Click Start, point to Administrative Tools, and then click Routing and Remote Access.
- Click the server icon that matches the local server name in the left pane of the console. If the icon has a red circle in the lower-left corner, the Routing and Remote Access service has not been turned on. If the icon has a green arrow pointing up in the lower-left corner, the Routing and Remote Access service has been turned on. If the Routing and Remote Access service was previously turn on, you may want to reconfigure the server. To reconfigure the server:
- Right-click the server object, and then click Disable Routing and Remote Access. Click Yes to continue when you are prompted with an informational message.
- Right-click the server icon, and then click Configure and Enable Routing and Remote Access to start the Routing and Remote Access Server Setup Wizard. Click Next to continue.
- Click Remote access (dial-up or VPN) to turn on remote computers to dial in or connect to this network through the Internet. Click Next to continue.
- Click to select VPN or Dial-up depending on the role that you intend to assign to this server.
- In the VPN Connection window, click the network interface which is connected to the Internet, and then click Next.
- In the IP Address Assignment window, click Automatically if a DHCP server will be used to assign addresses to remote clients, or click From a specified range of addresses if remote clients must only be given an address from a pre-defined pool. In most cases, the DHCP option is simpler to administer. However, if DHCP is not available, you must specify a range of static addresses. Click Next to continue.
- If you clicked From a specified range of addresses, the Address Range Assignment dialog box opens. Click New. Type the first IP address in the range of addresses that you want to use in the Start IP address box. Type the last IP address in the range in the End IP address box. Windows calculates the number of addresses automatically. Click OK to return to the Address Range Assignment window. ClickNext to continue.
- Accept the default setting of No, use Routing and Remote Access to authenticate connection requests, and then click Next to continue. Click Finish to turn on the Routing and Remote Access service and to configure the server as a Remote Access server.
The Routing and Remote Access Wizard Component
Like most wizards, the first screen of the Routing and Remote Access wizard is purely informational and you can just click Next.
The second screen in this wizard is a lot meatier and asks you to decide what kind of remote access connection you want to provide. Since the goal here is to set up a PPTP-based VPN, select the "Virtual Private Network VPN and NAT" selection and click Next.
Select the VPN option and click Next |
The next screen of the wizard, entitled VPN Connection, asks you to determine which network adapter is used to connect the system to the Internet. For VPN servers, you should install and use a separate network adapter for VPN applications. Network adapters are really cheap and separation makes the connections easier to secure. In this example, I've selected the second local area network connection , a separate NIC from the one that connects this server to the network. Notice the checkbox labeled "Enable security on the selected interface by setting up Basic Firewall" underneath the list of network interfaces. It's a good idea to enable since option it helps to protect your server from outside attack. A hardware firewall is still a good idea, too.
Select the network adapter that connects your server to the Internet |
With the selection of the Internet-connected NIC out of the way, you need to tell the RRAS wizard which network external clients should connect to in order to access resources. Notice that the adapter selected for Internet access is not an option here.
Select the network containing resources needed by external clients |
Just like every other client out there, your external VPN clients will need IP addresses that are local to the VPN server so that the clients can access the appropriate resources. You have two options (really three รข€" I'll explain in a minute) for handling the doling out of IP addresses.
First, you can leave the work up to your DHCP server and make the right configuration changes on your network equipment for DHCP packets to get from your DHCP server to your clients. Second, you can have your VPN server handle the distribution of IP addresses for any clients that connect to the server. To make this option work, you give your VPN server a range of available IP addresses that it can use. This is the method I prefer since I can tell at a glance exactly from where a client is connecting. If they're in the VPN "pool" of addresses, I know they're remote, for example. So, for this setting, as shown in below, I prefer to use the "From a specified range of addresses" option. Make your selection and click Next.
Your choice on this one! I prefer to provide a range of addresses |
If you select the "From a specified range of addresses" option on the previous screen, you now have to tell the RRAS wizard exactly which addresses should be reserved for distribution to VPN clients. To do this, click the New button on the Address Range Assignment screen. Type in the starting and ending IP addresses for the new range and click OK. The "Number of addresses" field will be filled in automatically based on your entry. You can also just enter the starting IP address and the number if IP addresses you want in the pool. If you do so, the wizard automatically calculates the ending IP address. Click OK in the New Address Range window; your entry appears in the Address Range Assignment window. Click Next to continue.
You can have multiple address ranges, as long as they are all accessible |
The next screen asks you to identify the network that has shared access to the Internet. This is generally the same network that your VPN users will use to access shared resources.
Pick the network adapter that gives you access to the Internet |
Authenticating users to your network is vital to the security of your VPN infrastructure. The Windows VPN service provides two means for handling this chore. First, you can use RADIUS, which is particularly useful if you have other services already using RADIUS. Or, you can just let the RRAS service handle the authentication duties itself. Give users access to the VPN services by enabling dial-in permissions in the user's profile (explained below). For this example, I will not be using RADIUS, but will allow RRAS to directly authenticate incoming connection requests.
Decide what means of authentication you want to provide |
That's it for the RRAS wizard! You're provided with a summary screen that details the selections you made.
The RRAS wizard summary window |
This also completes the installation of the Remote Access/VPN Server role.
User ConfigurationBy default, users are not granted access to the services offered by the VPN; you need to grant these rights to each user that you want to allow remote access to your network. To do this, open Active Directory Users and Computers (for domains) or Computer Management (for stand alone networks), and open the properties page for a user to whom you'd like to grant access to the VPN. Select that user's Dial-In properties page. On this page, under Remote Access Permissions, select "Allow access". Note that there are a lot of different ways to "dial in to" a Windows Server 2003 system; a VPN is but one method. Other methods include wireless networks, 802.1x, and dial-up. This article assumes that you're not using the Windows features for these other types of networks. If you are, and you specify "Allow access", a user will be able to use multiple methods to gain access to your system. I can't go over all of the various permutations in a single article, however.
Allow the user access to the VPN |
These are the steps needed on the server to get a VPN up and running.
How to Configure a VPN Connection from a Client Computer
- On the client computer, confirm that the connection to the Internet is correctly configured.
- Click Start, click Control Panel, and then click Network Connections. Click Create a new connection under Network Tasks, and then click Next.
- Click Connect to the network at my workplace to create the dial-up connection. Click Next to continue.
- Click Virtual Private Network connection, and then click Next.
- Type a descriptive name for this connection in the Company name dialog box, and then click Next.
- Click Do not dial the initial connection if the computer is permanently connected to the Internet. If the computer connects to the Internet through an Internet Service Provider (ISP), click Automatically dial this initial connection, and then click the name of the connection to the ISP. Click Next.
- Type the IP address or the host name of the VPN server computer (for example, VPNServer.SampleDomain.com).
- Click Anyone's use if you want to permit any user who logs on to the workstation to have access to this dial-up connection. Click My use only if you want this connection to be available only to the currently logged-on user. Click Next.
- Click Finish to save the connection.
- Click Start, click Control Panel, and then click Network Connections.
- Double-click the new connection.
- Click Properties to continue to configure options for the connection. To continue to configure options for the connection, follow these steps:
- If you are connecting to a domain, click the Options tab, and then click to select the Include Windows logon domain check box to specify whether to request Windows Server 2003 logon domain information before trying to connect.
- If you want the connection to be redialed if the line is dropped, click theOptions tab, and then click to select the Redial if line is dropped check box.
- Click Start, point to Connect to, and then click the new connection.
- If you do not currently have a connection to the Internet, Windows offers to connect to the Internet.
- When the connection to the Internet is made, the VPN server prompts you for your user name and password. Type your user name and password, and then clickConnect.
Your network resources must be available to you in the same way they are when you connect directly to the network.NOTE: To disconnect from the VPN, right-click the connection icon, and then click Disconnect.
Troubleshooting
Troubleshooting Remote Access VPNs
Cannot Establish a Remote Access VPN Connection- Cause: The name of the client computer is the same as the name of another computer on the network.
Solution: Verify that the names of all computers on the network and computers connecting to the network are using unique computer names.
- Cause: The Routing and Remote Access service is not started on the VPN server.
Solution: Verify the state of the Routing and Remote Access service on the VPN server. - Cause: Remote access is not turned on on the VPN server.
Solution: Turn on remote access on the VPN server. - Cause: PPTP or L2TP ports are not turned on for inbound remote access requests.
Solution: Turn on PPTP or L2TP ports, or both, for inbound remote access requests. - Cause: The LAN protocols used by the VPN clients are not turned on for remote access on the VPN server.
Solution: Turn on the LAN protocols used by the VPN clients for remote access on the VPN server. - Cause: All of the PPTP or L2TP ports on the VPN server are already being used by currently connected remote access clients or demand-dial routers.
Solution: Verify that all of the PPTP or L2TP ports on the VPN server are already being used. To do so, click Ports in Routing and Remote Access. If the number of PPTP or L2TP ports permitted is not high enough, change the number of PPTP or L2TP ports to permit more concurrent connections.
- Cause: The VPN server does not support the tunneling protocol of the VPN client.
By default, Windows Server 2003 remote access VPN clients use the Automaticserver type option, which means that they try to establish an L2TP over IPSec-based VPN connection first, and then they try to establish a PPTP-based VPN connection. If VPN clients use either the Point-to-Point Tunneling Protocol (PPTP) or Layer-2 Tunneling Protocol (L2TP) server type option, verify that the selected tunneling protocol is supported by the VPN server.
By default, a computer running Windows Server 2003 Server and the Routing and Remote Access service is a PPTP and L2TP server with five L2TP ports and five PPTP ports. To create a PPTP-only server, set the number of L2TP ports to zero. To create an L2TP-only server, set the number of PPTP ports to zero.
Solution: Verify that the appropriate number of PPTP or L2TP ports is configured.
- Cause: The VPN client and the VPN server in conjunction with a remote access policy are not configured to use at least one common authentication method.
Solution: Configure the VPN client and the VPN server in conjunction with a remote access policy to use at least one common authentication method.
- Cause: The VPN client and the VPN server in conjunction with a remote access policy are not configured to use at least one common encryption method.
Solution: Configure the VPN client and the VPN server in conjunction with a remote access policy to use at least one common encryption method.
- Cause: The VPN connection does not have the appropriate permissions through dial-in properties of the user account and remote access policies.
Solution: Verify that the VPN connection has the appropriate permissions through dial-in properties of the user account and remote access policies. For the connection to be established, the settings of the connection attempt must:- Match all of the conditions of at least one remote access policy.
- Be granted remote access permission through the user account (set to Allow access) or through the user account (set to Control access through Remote Access Policy) and the remote access permission of the matching remote access policy (set to Grant remote access permission).
- Match all the settings of the profile.
- Match all the settings of the dial-in properties of the user account.
- Cause: The settings of the remote access policy profile are in conflict with properties of the VPN server.
The properties of the remote access policy profile and the properties of the VPN server both contain settings for:- Multilink.
- Bandwidth allocation protocol (BAP).
- Authentication protocols.
Solution: Verify that the settings of the remote access policy profile are not in conflict with properties of the VPN server.
See the Windows Server 2003 Help and Support Center for more information about additional information about multilink, BAP and authentication protocols. Click Start to access the Windows Server 2003 Help and Support Center.
- Cause: The answering router cannot validate the credentials of the calling router (user name, password, and domain name).
Solution: Verify that the credentials of the VPN client (user name, password, and domain name) are correct and can be validated by the VPN server.
- Cause: There are not enough addresses in the static IP address pool.
Solution: If the VPN server is configured with a static IP address pool, verify that there are enough addresses in the pool. If all of the addresses in the static pool have been allocated to connected VPN clients, the VPN server cannot allocate an IP address, and the connection attempt is rejected. If all of the addresses in the static pool have been allocated, modify the pool. See the Windows Server 2003 Help and Support Center for more information about TCP/IP and remote access, and how to create a static IP address pool.
- Cause: The VPN client is configured to request its own IPX node number and the VPN server is not configured to permit IPX clients to request their own IPX node number.
Solution: Configure the VPN server to permit IPX clients to request their own IPX node number.
- Cause: The VPN server is configured with a range of IPX network numbers that are being used elsewhere on your IPX network.
Solution: Configure the VPN server with a range of IPX network numbers that is unique to your IPX network.
- Cause: The authentication provider of the VPN server is improperly configured.
Solution: Verify the configuration of the authentication provider. You can configure the VPN server to use either Windows Server 2003 or Remote Authentication Dial-In User Service (RADIUS) to authenticate the credentials of the VPN client.
- Cause: The VPN server cannot access Active Directory.
Solution: For a VPN server that is a member server in a mixed-mode or native-mode Windows Server 2003 domain that is configured for Windows Server 2003 authentication, verify that:- The RAS and IAS Servers security group exists. If not, create the group and set the group type to Security and the group scope to Domain local.
- The RAS and IAS Servers security group has Read permission to the RAS and IAS Servers Access Check object.
- The computer account of the VPN server computer is a member of the RAS and IAS Servers security group. You can use the netsh ras show registeredserver command to view the current registration. You can use thenetsh ras add registeredserver command to register the server in a specified domain.
If you add (or remove) the VPN server computer to the RAS and IAS Serverssecurity group, the change does not take effect immediately (because of the way that Windows Server 2003 caches Active Directory information). To immediately effect this change, restart the VPN server computer. - The VPN server is a member of the domain.
- Cause: A Windows NT 4.0-based VPN server cannot validate connection requests.
Solution: If VPN clients are dialing in to a VPN server running Windows NT 4.0 that is a member of a Windows Server 2003 mixed-mode domain, verify that the Everyone group is added to the Pre-Windows 2000 Compatible Access group with the following command:"net localgroup "Pre-Windows 2000 Compatible Access""If not, type the following command at a command prompt on a domain controller computer, and then restart the domain controller computer:net localgroup "Pre-Windows 2000 Compatible Access" everyone /add
- Cause: The VPN server cannot communicate with the configured RADIUS server.
Solution: If you can reach your RADIUS server only through your Internet interface, do one of the following:- Add an input filter and an output filter to the Internet interface for UDP port 1812 (based on RFC 2138, "Remote Authentication Dial-In User Service (RADIUS)"). –or-
- Add an input filter and an output filter to the Internet interface for UDP port 1645 (for older RADIUS servers), for RADIUS authentication and UDP port 1813 (based on RFC 2139, "RADIUS Accounting"). -or-
- -or- Add an input filter and an output filter to the Internet interface for UDP port 1646 (for older RADIUS servers) for RADIUS accounting.
- Cause: Cannot connect to the VPN server over the Internet using the Ping.exe utility.
Solution: Because of the PPTP and L2TP over IPSec packet filtering that is configured on the Internet interface of the VPN server, Internet Control Message Protocol (ICMP) packets used by the ping command are filtered out. To turn on the VPN server to respond to ICMP (ping) packets, add an input filter and an output filter that permit traffic for IP protocol 1 (ICMP traffic).
- Cause: The appropriate demand-dial interface has not been added to the protocol being routed.
Solution: Add the appropriate demand-dial interface to the protocol being routed.
- Cause: There are no routes on both sides of the router-to-router VPN connection that support the two-way exchange of traffic.
Solution: Unlike a remote access VPN connection, a router-to-router VPN connection does not automatically create a default route. Create routes on both sides of the router-to-router VPN connection so that traffic can be routed to and from the other side of the router-to-router VPN connection.
You can manually add static routes to the routing table, or you can add static routes through routing protocols. For persistent VPN connections, you can turn on Open Shortest Path First (OSPF) or Routing Information Protocol (RIP) across the VPN connection. For on-demand VPN connections, you can automatically update routes through an auto-static RIP update. See Windows Server 2003 online Help for more information about how to add an IP routing protocol, how to add a static route, and how to perform auto-static updates.
- Cause: A two-way initiated, the answering router as a remote access connection is interpreting router-to-router VPN connection.
Solution: If the user name in the credentials of the calling router appears under Dial-In Clients in Routing and Remote Access, the answering router may interpret the calling router as a remote access client. Verify that the user name in the credentials of the calling router matches the name of a demand-dial interface on the answering router. If the incoming caller is a router, the port on which the call was received shows a status of Active and the corresponding demand-dial interface is in a Connectedstate.
- Cause: Packet filters on the demand-dial interfaces of the calling router and answering router are preventing the flow of traffic.
Solution: Verify that there are no packet filters on the demand-dial interfaces of the calling router and answering router that prevent the sending or receiving of traffic. You can configure each demand-dial interface with IP and IPX input and output filters to control the exact nature of TCP/IP and IPX traffic that is permitted into and out of the demand-dial interface.
- Cause: Packet filters on the remote access policy profile are preventing the flow of IP traffic.
Solution: Verify that there are no configured TCP/IP packet filters on the profile properties of the remote access policies on the VPN server (or the RADIUS server if Internet Authentication Service is used) that are preventing the sending or receiving of TCP/IP traffic. You can use remote access policies to configure TCP/IP input and output packet filters that control the exact nature of TCP/IP traffic permitted on the VPN connection. Verify that the profile TCP/IP packet filters are not preventing the flow of traffic.
This is really helpful! it's easy as 123. Thank you for this post! I am really glad I found this site. I thought that creating VPN account was that complicated. Thank you and more power to your site!
VPN
change the font color...its not visible
I have internet connection in my house and in my office separately.
but both connections are from different ISPs. some websites are blocked in 1 ISP whereas the other one is not.
so if i create VPN server in my house and connect to the house vpn from my office according to your guide, will it work?
Please reply and help me on this.