Newsroom Update

Beginning in May, a special Today at Apple series titled “Made for Business” will offer small business owners and entrepreneurs free opportunities to learn how Apple products and services can support their growth and success. Learn more >

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Migrated VPN Service Broken with Catalina

My Mac mini has been working just fine with macOS Mojave as a VPN server following the migration method described in https://developer.apple.com/support/downloads/macOS-Server-Service-Migration-Guide.pdf , but after upgrading to macOS Catalina there is trouble:


The VPN clients connect just fine on the internal network, but not on an external network; which makes the VPN server a bit pointless! I can confirm that all was working well with the server running macOS Mojave, and my iOS 13 and iPadOS 13 clients have been connecting just fine; it is the upgrade to macOS Catalina on the server that has caused this problem.


Here are the log entries for a failed connection:





Posted on Oct 11, 2019 9:42 AM

Reply

Similar questions

120 replies

Dec 2, 2019 3:09 PM in response to clubbyestatedriver

Has anyone tried this guide? It says that it has been tested on Catalina. Unfortunately, I am unwilling to upgrade to test as loss of VPN tremendously affects my workflow:


https://robintiwari.com/post/how-to-set-up-vpn-server-on-macos


BTW - there is another thread of angry users with the same issue:


https://discussions.apple.com/thread/250719946?page=1

Apr 16, 2020 7:19 AM in response to Ivan Pavlov

I thought I had solved the problem, but not quite. I can get the Mojave vpnd to work fine on Catalina *IF* I connect from my local network which is not much use. If I connect from the Internet I get 7 incoming calls, and then 7 hangups. I assumed there might have been a port forwarding problem, so I tried forwarding to the Mojave Parallels client I had been using to get around this problem and that worked fine. If I forwarded back to Catalina... NG. VPN Log extracts follow.








Jan 15, 2020 2:35 PM in response to essandess

Here's what I see:


  • Catalina vpnd works on the LAN, as noted by the OP
  • On the LAN, a successful connection in /var/log/ppp/vpnd.log looks like:

L2TP incoming call in progress from '10.0.1.14'...

L2TP received SCCRQ

L2TP sent SCCRP

L2TP received SCCCN

L2TP received ICRQ

L2TP sent ICRP

L2TP received ICCN

L2TP connection established.

  • Catalina vpnd doesn't connect from many external networks, as noted by the OP
  • An unsuccessful connection in /var/log/ppp/vpnd.log looks like:

L2TP incoming call in progress from '199.199.199.199'...

L2TP received SCCRQ

L2TP sent SCCRP

Incoming call... Address given to client = 10.0.1.50

  • Note that "L2TP received SCCCN" never happens
  • Bizarrely, my ISP is Comcast, and external connections from Xfinity WiFi hotspots work , and the logs look the same as on the LAN
  • I tried using the Mojave vpnd binary, with the same results, so it's a system problem with Catalina, not the binary


I don't know what the issue is, but it's not a simple network block, and it's not the Catalina vpnd binary.

Jan 15, 2020 2:45 PM in response to lcrooks

macOS vpnd L2TP configuration uses four things:

  1. macOS networking and firewall (pf, application) infrastructure
  2. The /usr/sbin/vpnd binary
  3. The config file /Library/Preferences/SystemConfiguration/com.apple.RemoteAccessServers.plist
  4. The PSK in the System Keychain in the entry com.apple.net.racoon


MacPorts uses an example config file (based on the old Server.app one), here: https://github.com/macports/macports-ports/blob/master/net/macos-vpn-server/files/com.apple.RemoteAccessServers.plist.macports


The Portfile shows how to add the PSK to the Keychain, here: https://github.com/macports/macports-ports/blob/f16847defa1b99199baf0a569d2fbeb36a8f908f/net/macos-vpn-server/Portfile#L56


/usr/bin/security add-generic-password -a org.macports.ppp.l2tp -s com.apple.net.racoon -T /usr/sbin/racoon -w ${vpn_pre_shared_secret} -U /Library/Keychains/System.keychain

Apr 14, 2020 12:15 PM in response to ElKoeppe10

I'm running through these myself now, but thought I'd post for visibility.


  1. Obtain `vpnd` binary from Mojave.
  2. If you want to overwrite the bad vpnd binary in `/usr/sbin`. Note, future OS updates may result in overwriting this file.
    1. You can't just copy to `/usr/sbin` due to security enhacements (e.g. rootless) introduced in El Capitan (I think).
    2. To disable this security feature you have to reboot your computer and hold `CMD+R` at start to boot into OS X Recovery Mode.
    3. Then OS X Utilities => Terminal => `csrutil disable; reboot`.
    4. Once you've reboot, mv the `vpnd` binary to `/usr/sbin`, `sudo mv vpnd /usr/sbin`.
    5. Note, you'll want to repeat this process to reenable later using `csrutil enable; reboot`.
  3. If you don't want to mess with the OS version of `vpnd`, simply copy the binary into somewhere like `/usr/local/bin`.
    1. If you went this route, update your vpnd plist file to point to the new location.
    2. `sudo launchctl -w unload /Library/LaunchDaemons/vpnd.plist`.
    3. `sudo vim /Library/LaunchDaemons/vpnd.plist`.

vpnd.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" “http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
     <key>Label</key>
     <string>vpn.ppp.l2tp</string>
     <key>KeepAlive</key>
     <true/>
     <key>Program</key>
     <string>/usr/sbin/vpnd</string> <!-- Update Here -->
     <key>ProgramArguments</key>
     <array>
       <string>vpnd</string>
       <string>-x</string>
       <string>-i</string>
       <string>com.apple.ppp.l2tp</string>
     </array>
  </dict>
</plist>


4. `sudo launchctl -w load /Library/LaunchDaemons/vpnd.plist`.

Jun 16, 2020 6:59 PM in response to mini-bob

Hello All- just stumbled upon this thread after experiencing the same issues still in (2020 June)- unfortunately I'm not a networking /IT expert. I am using both the Sophos connect and OpenVPN connect to connect remotely to our company's VPN. These are my 'lay-person' experiences for both clients-

  1. Unable to connect to work VPN after upgrading to Catalina.
  2. All devices unable to connect following Catalina Update (Macbook 12", MacBookPro 15" (2013), MacbookPro16" (2019)
  3. However - iPadPro2018 appears to connect just fine
  4. Home setup comprises of a Router (provided by service provider) and a AirPort Extreme in another bedroom as wifi extender.
    1. Somehow - I managed to get it to 'sort-of'* work after forcing my MacBook to 'forget' the wifi extender (Apple AirPort Extreme)
    2. *sort-of > connection stutters about about 10-15mins but doesn't connection does not drop.


Hopefully there is a solution for this- hopefully will be addressed soon with WWDC coming up!

Oct 21, 2019 3:58 AM in response to sahid1

Virtual machines have become essential with the mess Apple has made of recent Server releases, and you could also use a macOS Mojave virtual machine connected to Open Directory on the upgraded server. I did something similar when Apple messed up named with Mojave but with the host connected to a Virtual machine running Open Directory in the background with Parallels Desktop Pro.

I wish Apple would just abandon Server and release the code so that a third party can take over and bring macOS Server back to the way it was a few major releases ago because for a very short period of time, Server.app became of age and worked well.


I have a feeling that Apple are not going to fix our broken VPN’s given how inaccurate some of the information provided was in the migration guide.

Oct 30, 2019 12:37 AM in response to Ivan Pavlov

Well that’s just brilliant! Well done Apple for imposing their networking hardware on every network to get things working. Ohh wait: they’ve discontinued their routers!

So all we need is a time machine so that we can visit the Apple Store in the past and buy all the AirPort hardware we can, and who says Apple don’t care about their loyal customers?


Thanks Ivan for letting us know about your experiment, perhaps you’ve helped narrow things down a little. It could be that there is something going on relating to Bonjour since AirPort routers are the only routers I know of that use it.

Migrated VPN Service Broken with Catalina

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.