Servidor VPN en macOS High Sierra y macOS Mojave

Según esta publicación de blog de MacMiniVault.com , Apple ya no incluye un servidor de red privada virtual (VPN) . macOS Server Mojave ha sido eliminado de casi toda la funcionalidad anterior de "Servidor", dejando solo 3 cosas: Profile Manager , Open Directory y Xsan .

¿Alguien puede sugerir un servidor VPN seguro y confiable que actualmente se ejecute en macOS Sierra y que probablemente también se ejecute en macOS Mojave?

Mi objetivo es permitir que mi MacBook Pro, iPhone, iPad y similares realicen conexiones VPN directamente desde la función de cliente VPN integrada proporcionada por Apple.

No quiero instalar ninguna aplicación de cliente VPN . Evitar capas/aplicaciones de VPN de terceros impide el uso de cualquier proveedor comercial de VPN como servicio. Todos los proveedores de servicios VPN que he visto insisten en usar solo su propio instalador de cliente propietario en lugar de usar el cliente VPN integrado de Apple. De ahí mi deseo de ejecutar un servidor VPN en un Mac mini remoto conectado a una conexión rápida a Internet, como en un colo .

Preferiría evitar tener que instalar HomeBrew o cualquier otra capa adicional de aplicaciones de Unix (que nunca he entendido realmente, y temo estropear mi macOS).

Este boletín de soporte de Apple, Prepárese para los cambios en macOS Server , enumera tres alternativas para la función del servidor VPN que se eliminará de la edición de macOS Server:

No sé cómo juzgarlos, excepto que entiendo que OpenVPN no cumple con mi criterio principal: las Mac y los dispositivos iOS pueden conectarse usando el cliente VPN integrado de Apple, sin necesidad de instalar nada.

Respuestas (4)

En mi empresa teníamos acceso a VPN a través de macOS Server y podíamos seguir los pasos a continuación para ponerlo en funcionamiento en Mojave. (NOTA: esta respuesta está copiada y pegada de otro hilo que creé ).

Estas instrucciones son en gran parte las mismas que las del archivo PDF oficial que pasa por el progreso de la migración , pero con la adición (con suerte) útil de que el comando incorrecto se corrige y los otros comandos se pueden copiar tal como están.

  1. Desactive el servicio VPN en la aplicación Servidor. (Si es visible. Para mí no lo fue).

  2. Asegúrate de estar en el wheelgrupo. Seguí estos pasos (enlace)

  3. Abra la Terminal (donde se ejecutarán el resto de las instrucciones) y vaya al directorio apropiado con:

    cd /Library/LaunchDaemon

  4. Cree un archivo vacío llamado vpn.ppp.l2tp.plisten el directorio actual con:

    sudo touch vpn.ppp.l2tp.plist

  5. Establezca el propietario correcto para el archivo con

    sudo chown root:wheel ./vpn.ppp.l2tp.plist

  6. Abra el archivo con nano(para evitar problemas al guardar que pueden ocurrir si usa TextEdit o similar):

    sudo nano vpn.ppp.l2tp.plist

  7. Copie y pegue el contenido a continuación en nano:

    <?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>Disabled</key>
        <true/>
        <key>EnableTransactions</key>
        <true/>
        <key>Label</key>
        <string>vpn.ppp.l2tp</string>
        <key>KeepAlive</key>
        <true/>
        <key>Program</key>
        <string>/usr/sbin/vpnd</string>
        <key>ProgramArguments</key>
        <array>
          <string>vpnd</string>
          <string>-x</string>
          <string>-i</string>
          <string>com.apple.ppp.l2tp</string>
        </array>
        <key>EnableTransactions</key>
        <false/>
        <key>EnablePressuredExit</key>
        <false/>
      </dict>
    </plist>
    
  8. Guarde los cambios presionando Control+ o, confirme el nombre del archivo con Entery cierre nano con Control+ q.

  9. Cargue su nuevo archivo ejecutando:

    sudo launchctl load -w ./vpn.ppp.l2tp.plist

  10. Verifique con:

    launchctl print system/vpn.ppp.l2tp

Estos pasos funcionaron para mí. Con suerte, pueden ayudar a alguien más que, como yo, tuvo problemas para volver a poner en funcionamiento la función VPN después de la actualización de macOS Mojave.

La guía oficial en PDF (mencionada anteriormente) tiene información adicional sobre "Gestión en curso":

La configuración se puede cambiar después de configurar vpnd editando el /Library/Preferences/SystemConfiguration/ com.apple.RemoteAccessServers.plistarchivo. Consulte la página del comando man vpnd (5) para obtener detalles sobre el formato de configuración. Después de realizar los cambios, puede hacer que el servicio vuelva a leer el archivo de configuración ejecutando el comando sudo killall -HUP vpnd.

OpenVPN es su propio protocolo VPN y, por lo tanto, requiere un software de cliente específico. Para clientes de MacOS, eso es Tunnelblick .

Un problema relacionado con todas las opciones mencionadas anteriormente es la integración de la autenticación de usuario. Creo que todos requieren un software de servidor RADIUS separado para la autenticación (por ejemplo , FreeRADIUS ) contra Open Directory .

La configuración de SoftEther parece requerir un administrador de servidor VPN SoftEther basado en Windows

Cabe señalar que FreeRADIUS 3.x no se compila desde el origen en Mojave de forma predeterminada. La versión más reciente está disponible a través de Homebrew pero no a través de Macports .

Instalé con éxito strongSwan a través de Homebrew y lo hice funcionar para proporcionar un servidor VPN IKEv2 que se puede conectar con otras Mac usando su cliente VPN nativo.

Desafortunadamente, la configuración no es particularmente trivial, ya que requiere un poco de conocimiento de la línea de comandos, pero no fue tan mala: basé la configuración en las instrucciones para configurar strongSwan en Ubuntu proporcionadas por DigitalOcean , excepto que yo:

  • Se utiliza brew install strongswanen su lugar en el paso 1.
  • Asegúrese de usar /usr/local/etc/en lugar de /etc/en los pasos 4 y 5.
  • Asegúrese de proporcionar valores válidos para leftsubnety rightsourceipen la configuración de IPSec.
  • Omitió el paso 6, aunque es posible que deba configurar su enrutador para reenviar puertos.

No tuve problemas para conectarme a la VPN usando otra Mac, pero tuve problemas para conectarme usando iOS, creo que debido a problemas con el certificado. Si no tuviera que usar un certificado autofirmado (mediante el uso de una autoridad de certificación real), creo que habría funcionado.

La VPN no parece comenzar con macOS, por lo que también tuve que proporcionar un demonio de lanzamiento para que se ejecutara ipsec start, lo que tomó un tiempo para averiguarlo, ya que también tuve que agregarlo /usr/local/bincomo $PATHparte del comando.

Entiendo que el OP no quiere usar Terminal, por lo que proporciono esta respuesta, ya que me habría ayudado cuando estaba buscando un servidor VPN que se ejecutara en macOS y proporcionara tipos de VPN nativos para macOS. De lo contrario, parece que casi no hay recursos disponibles en la web que describan cómo hacerlo sin recurrir al uso de tecnología obsoleta en macOS Server.

MacOS Server eliminó la GUI de configuración para el servidor VPN, pero el servidor VPN subyacente todavía está allí. Hay un producto llamado iVPN que restaura la GUI. Estoy usando iVPN versión 7.4.3 en Mojave y funciona bien. También puede configurar y controlar manualmente el servidor VPN subyacente (usando Terminal y un editor de texto), pero creo que la conveniencia de la GUI de iVPN, junto con su monitor que muestra el estado del servidor y los clientes, vale la pena el cargo nominal.

El sitio web de iVPN es https://macserve.org.uk .