VPN-сервер на macOS High Sierra и macOS Mojave

Согласно этому сообщению в блоге MacMiniVault.com , Apple больше не включает сервер виртуальной частной сети (VPN) . macOS Server Mojave был лишен почти всех предыдущих «серверных» функций, оставив только 3 вещи: Profile Manager , Open Directory и Xsan .

Может ли кто-нибудь предложить безопасный надежный VPN-сервер, который в настоящее время работает на macOS Sierra, который, вероятно, также будет работать на macOS Mojave?

Моя цель — позволить моим MacBook Pro, iPhone, iPad и им подобным устанавливать VPN-подключения непосредственно из встроенной функции VPN-клиента, предоставляемой Apple.

Я не хочу устанавливать какое-либо клиентское приложение VPN. Избегание сторонних уровней/приложений VPN исключает использование любого коммерческого поставщика VPN-как-услуги. Каждый провайдер услуг VPN, которого я встречал, настаивает на использовании только собственного проприетарного установщика клиента, а не на встроенном VPN-клиенте Apple. Отсюда мое желание запустить VPN-сервер на удаленном Mac mini, подключенном к быстрому интернет-соединению, например, в colo .

Я бы предпочел избежать установки HomeBrew или любых других дополнительных слоев Unix-приложений (чего я никогда не понимал и боюсь испортить свою macOS).

В этом бюллетене поддержки от Apple «Подготовка к изменениям в macOS Server » перечислены три альтернативы функции VPN-сервера, исключенной из выпуска macOS Server:

Я не знаю, как судить об этом, за исключением того, что я понимаю, что OpenVPN не соответствует моему основному критерию: устройства Mac и iOS могут подключаться с помощью встроенного VPN-клиента Apple без необходимости что-либо устанавливать.

Ответы (4)

В моей компании у нас был доступ к VPN через сервер macOS, и мы могли выполнить следующие шаги, чтобы запустить его в Мохаве. (ПРИМЕЧАНИЕ: этот ответ скопирован из другой темы, которую я создал ).

Эти инструкции в основном такие же, как и в официальном PDF-файле, который проходит процесс миграции , но с (надеюсь) полезным дополнением, что неправильная команда исправлена, а другие команды можно копировать как есть.

  1. Отключите службу VPN в приложении «Сервер». (Если видно. У меня его не было.)

  2. Убедитесь, что вы в wheelгруппе. Я выполнил следующие шаги (ссылка)

  3. Откройте терминал (где будут выполняться остальные инструкции) и перейдите в соответствующий каталог с помощью:

    cd /Library/LaunchDaemon

  4. Создайте пустой файл с именем vpn.ppp.l2tp.plistв текущем каталоге с помощью:

    sudo touch vpn.ppp.l2tp.plist

  5. Установите правильного владельца для файла с помощью

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

  6. Откройте файл с помощью nano(чтобы избежать проблем с сохранением, которые могут возникнуть, если вы используете TextEdit или аналогичный):

    sudo nano vpn.ppp.l2tp.plist

  7. Скопируйте и вставьте содержимое ниже в 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. Сохраните изменения, нажав Control+ o, подтвердите имя файла с помощью Enterи закройте nano с помощью Control+ q.

  9. Загрузите новый файл, запустив:

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

  10. Подтвердить с помощью:

    launchctl print system/vpn.ppp.l2tp

Эти шаги сработали для меня. Надеюсь, они смогут помочь кому-то еще, кто, как и я, изо всех сил пытался снова запустить функцию VPN после обновления macOS Mojave.

В официальном руководстве в формате PDF (упомянутом выше) есть дополнительная информация о «Непрерывном управлении»:

Настройки можно изменить после настройки vpnd, отредактировав /Library/Preferences/SystemConfiguration/ com.apple.RemoteAccessServers.plistфайл. Подробную информацию о формате конфигурации см. на справочной странице vpnd (5). После внесения изменений вы можете попросить службу перечитать файл конфигурации, выполнив команду sudo killall -HUP vpnd.

OpenVPN — это собственный протокол VPN, поэтому для него требуется специальное клиентское программное обеспечение. Для клиентов MacOS это Tunnelblick .

Связанной проблемой со всеми вышеупомянутыми опциями является интеграция аутентификации пользователя. Я считаю, что всем им требуется отдельное программное обеспечение сервера RADIUS для аутентификации (например, FreeRADIUS ) в отношении Open Directory .

Для настройки SoftEther требуется диспетчер SoftEther VPN Server на базе Windows.

Примечательно, что FreeRADIUS 3.x не компилируется из исходников на Мохаве по умолчанию. Самая последняя версия доступна через Homebrew , но не через Macports .

Я успешно установил strongSwan через Homebrew и заставил его работать, чтобы предоставить VPN-сервер IKEv2, к которому могут подключаться другие компьютеры Mac, используя их собственный VPN-клиент.

К сожалению, установка не особенно тривиальна, так как требует некоторого знания командной строки, но она не так уж и плоха: я основывался на инструкциях по настройке strongSwan в Ubuntu, предоставленных DigitalOcean , за исключением того, что я:

  • Вместо этого используется brew install strongswanна шаге 1.
  • Обязательно используйте /usr/local/etc/вместо /etc/на шаге 4 и 5.
  • Обязательно укажите допустимые значения для leftsubnetи rightsourceipв конфигурации IPSec.
  • Пропущен шаг 6, хотя вам может потребоваться настроить маршрутизатор для переадресации портов.

У меня не было проблем с подключением к VPN с помощью другого Mac, но я не мог подключиться с помощью iOS, я думаю, из-за проблем с сертификатом. Если бы мне не нужно было использовать самозаверяющий сертификат (используя настоящий центр сертификации), я думаю, это сработало бы.

Кажется, что VPN не запускается с macOS, поэтому мне также пришлось предоставить демон запуска для запуска ipsec start, что заняло некоторое время, чтобы выяснить, поскольку мне также пришлось добавить /usr/local/binкак $PATHчасть команды.

Я понимаю, что ОП не хочет использовать Терминал, поэтому я предоставляю этот ответ, поскольку он помог бы мне, когда я искал VPN-сервер, работающий на macOS и предоставляющий типы VPN, родные для macOS. В противном случае в Интернете почти нет ресурсов, описывающих, как это сделать, не прибегая к использованию устаревших технологий в macOS Server.

MacOS Server удалил графический интерфейс конфигурации для VPN-сервера, но базовый VPN-сервер остался. Есть продукт под названием iVPN, который восстанавливает графический интерфейс. Я использую iVPN версии 7.4.3 в Мохаве, и он отлично работает. Вы также можете вручную настраивать и контролировать базовый VPN-сервер (используя терминал и текстовый редактор), но я считаю, что удобство графического интерфейса iVPN вместе с его монитором, показывающим состояние сервера и клиентов, стоит номинальной стоимости.

Сайт iVPN https://macserve.org.uk .