If you've decided you need a virtual private network (VPN), but you don't want to pay for a third-party VPN service, then macOS Server can be a great alternative. It's built on the macOS you already know and love and lets you quickly and easily get your very own VPN up and running.
Set up macOS Server
Find your router's internet-facing IP Address
Before we begin with the actual setup of the VPN service, you'll need to know your internet "co-ordinates" — your router's IP address.
It's quite easy to determine your current IP address by merely Googling: "What is my IP Address." Most home users have what's called a dynamic IP address, though. That means that your router's IP address may change every so often.
If you use a dynamic IP address to set up your VPN service, there is no guarantee that you'll have that IP address will still be yours in the future, and the remote connection will fail.
As a workaround, there are several dynamic domain name services you can purchase. That way, you'll get an alias known as a "hostname" that won't change, even if your IP address does.
Many ISPs also offer static IP addresses. These are typically used for business accounts but, depending on your ISP, can be available for an additional fee.
Once you have your static IP address or have a hostname for your dynamic IP address, you can go on and configure your VPN service in macOS Server.
Configure the macOS Server VPN service
- Launch the Server app from your applications.
- Log into your macOS Server.
- Select VPN under the Services listings.
- Under VPN Host Name, enter either your static IP address or dynamic hostname depending on the method you used when finding out your IP address above.
- Click Edit Permissions and select the users you want to be able to connect to your VPN.
- Create a new Shared Secret. The more complicated and random, the better.
- Optionally click Client Addresses if you want to change the number of VPN clients that can simultaneously connect to your VPN server.
- Optionally click DNS Settings if you want to change the default DNS server your VPN clients will use when connected to your VPN server.
- Optionally click Routes if you need special networking routes you need to configure.
- Optionally click Save Profile if you wish to create a configuration file so that clients can simply load your server's connection information for easier client setup.
- Select your macOS Server computer name.
- Select the Access tab.
- Click the Add button (looks like +) and select VPN.
- Select Allow Connections From only some users.
- Enter the users you wish to have VPN access.
- Click OK.
- Select VPN under the Services listings.
- Toggle the ON/OFF switch to On.
If you're on an Apple-centric network with an Airport Base Station, you'll be prompted to automatically setup your Airport Base Station to allow for connections to your macOS Server VPN service.
If you don't have an Apple Airport Base Station, you'll have to manually set up your router to allow for VPN traffic to travel through your router to your macOS Server. Here's how!
Allow VPN traffic through your router to macOS Server
Depending on who manufactured your router, you'll have to consult the documentation from the manufacturer to be able to allow VPN traffic to your internally networked macOS Server running the VPN service. The ports you need to have forwarded to your macOS Server are UDP 500, UDP 1701, and UDP 4500. Here is what it would like on an Airport Base Station if you were to set up port forwarding of VPN traffic manually.
- Launch Airport Utility.
- Select your router and click Edit.
- Select the Network tab at the top.
- Under Port Settings click the +.
- Type VPN in the Description.
- In Public UDP Ports type in 500, 1701, 4500.
- In Private IP Address enter the internal IP address of your macOS Server running the VPN service.
- In Private UDP Ports type in 500, 1701, 4500.
- Click Save.
- Click Update and allow your Airport Base Station to restart.
Connect using your various clients
All you have left to do is connect with your various client devices! The VPN service on macOS Server is using L2TP over IPSec as it's authentication module, so simply select that version of VPN when you set up your clients. Enter your user name and password as well as the shared key you created above.
Have you set up a macOS Server VPN?
The benefits of VPN access go beyond just having a secure connection to your home or office network. It allows for having encrypted traffic so that your private usage remains precisely that. Private. It offers a layer of protection from hackers trying to get access to your passwords. It deters ISPs from collecting your browsing habits.
Have you set up a macOS Server VPN? Are you considering it? Leave a comment or question below!
Get the best of iMore in in your inbox, every day!
I understood VPN was deprecated on MacOS Server in High Sierra and completely removed in Mojave. Does this article mean it has now been restored in Catalina - or is this just a recycled how to from several years ago - more in the category of "Fake News" than "Help & How To"?
I'm running Catalina and have Server installed and VPN is nowhere to be found. I'm pretty sure this article is automatically recycled, because nothing it states is applicable to a modern Mac with Catalina.
Thank you for signing up to iMore. You will receive a verification email shortly.
There was a problem. Please refresh the page and try again.