Part 1 of this series looked at how to connect a computer to a remote network using VPN. This article continues the discussion of VPN services for Mac OS X from the opposite perspective, that of configuring Mac OS X Server’s VPN service. The VPN service of Mac OS X Server supports both the L2TP over IPSec and PPTP protocols commonly used by both Macs and Windows PCs. It also integrates with Open Directory, enabling you to configure VPN access based on individual users and groups as well as offering various additional security and authentication methods.
To configure the VPN service, launch Server Admin and select VPN in the Computer & Services list for the appropriate server. If you are using NAT on your network, remember that the VPN server must have a public IP address to accept connections from outside your network as well as an internal IP address. Also make certain that the ports for the appropriate VPN protocols (1701 for L2TP, 1723 for PPTP) are open in your firewall configuration. After the VPN service is configured, you use the Start Service button in the Server Admin toolbar to start the VPN service.
As you can see in Figure 1, the VPN service contains four primary panes for which there are tabs at the bottom of the window: Overview, Log, Connections, and Settings. Overview enables you to see the status of both VPN protocols and the number of connections. Log allows you to view the VPN service log. Connections displays information for all current VPN connections, including the user who is connected, the remote IP address from which they are connected, the internal IP address assigned to them by the VPN service, which VPN protocol they are connected by, and how long they have been connected. The Settings Pane, which is shown in Figure 1, is where you configure the VPN service.
Figure 1 VPN Service Settings pane in Server Admin
Configuring L2TP Access
The VPN Settings pane includes four tabs: L2TP, PPTP, Logging, and Client Information. The L2TP and PPTP tabs allow you to enable and configure each of the two VPN protocols (you can opt to use either or both protocols). The L2TP tab, shown in Figure 1, includes a checkbox to enable the service as well as a starting and ending IP address field and radio buttons for selecting an IPSec authentication method. As discussed in Part 1 of this series, L2TP offers additional security over PPTP by allowing the server to ensure that the computer requesting a VPN connection is a trusted computer by the use of security certificates or a shared secret (a string of text entered on both the server and remote computer).
If you are using a shared secret instead of a security certificate for L2TP, enter it in this field. If you are using a shared secret, remember to make it as secure as possible and to change it on a regular basis (informing users that connect using L2TP) as a precaution against the secret becoming available to individuals other than authorized VPN users. Using security certificates, which can be generated using the General Server information pane of Server Admin is inherently more secure than using a shared secret. If you choose to use a certificate, select the appropriate radio button and then select your certificate from the pop-up menu.
The IP address fields are used to assign the IP address pool for each protocol. These IP address ranges function much like a DHCP scope and are used to assign internal network IP addresses to each computer that connects using VPN. You must create VPN IP address ranges that are unique from your DHCP scope(s) and static IP addresses to avoid IP address conflicts within the network. You should also make certain that you assign ranges large enough to accommodate all the VPN users that you need to support.
The PPP Authentication pop-up menu allows you to choose what method will be used for verifying users’ names and passwords when they attempt to establish a VPN connection. You can choose to use either Kerberos or MS-CHAPv2. Kerberos is a more secure option, but it does require that your VPN server and remote computers be bound to the same Open Directory domain and that Kerberos be properly configured for that domain to function. MS-CHAPv2 exchanges usernames and passwords in solidly encrypted form and is more broadly supported and can be easier to troubleshoot. If you are supporting Windows PCs as remote computers, you should choose MS-CHAPv2.