Mac os openvpn tap

Строим OpenVPN мост под Mac OSX

Однажды у меня появилась необходимость иметь доступ к локальной сети из удаленного места. Для выполнения данной задачи на iMac был поставлен OSX server в котором был настроен удаленный доступ VPN. Все работало вполне сносно кроме mDNS(Bonjour). Как оказалось данная реализация VPN не поддерживает мультикаст. А он был жизненно необходим из за наличия некоторых специальных приложений которые работают только в локальной сети.

После непродолжительного поиска нашлось несколько решений данной проблемы. Одно из них бесплатное предполагало установку программы «Network Beacon» и прописывания в ней руками путей к службам «Bonjour». Другое решение было платным и предполагало установку специального приложения «ShareTool» которое во первых может строить собственные SSH туннели и во вторых передавать по туннелю информацию о службах на стороне сервера.

Минусов у этого решения два. Первый это то что надо покупать лицензию на каждую машину. Ну и второй заключается в том что это решение все равно костыль. А мне хотелось все сделать как можно чище.

Решением оказалась постройка VPN моста на базе OpenVPN с виртуальным адаптером «tap».
Но как это сделать? В сети я нашел много разных инструкций по настройке подобной конфигурации но ни одного варианта постройки моста под OSX.

И тут я вспомнил как настраивал мост для расширения беспроводной сети и решил сделать все похожим образом.

Шаг первый — Настраиваем OpenVPN

Все последующие шаги будут требовать прав суперпользователя. По этому открываем терминал и сразу переходим в режим безграничных возможностей.

Для начала устанавливаем драйвер TunTap
Загрузить его можно по этой ссылке: tuntap_20111101.tar.gz
Распаковываем, запускаем инсталлятор. После окончания установки загружаем модули в ядро.

Далее устанавливаем и сам OpenVPN посредством MacPorts.

Для тех кто еще не знает — Easy-RSA больше не входит в состав пакета OpenVPN по этому качаем его отдельно по ссылке:
easy-rsa-release-2.x.zip

Для большего удобства копируем содержимое папки «openvpn2» в «/etc/openvpn».

Распаковываем в нее Easy-RSA 2.

Правим под себя vars и генерируем ключи. Правка «vars» заключается в исправлении информации о держателе сертификата и ключа а также изменении (при необходимости) длинны параметров Диффи — Хеллмана.

В заключении генерируем параметры Диффи — Хеллмана.

Правим образец из «/etc/openvpn/sample-config-files/» или создаем новый «server.conf».
Для примера мой вариант

Теперь переходим к следующему этапу создаем мост средствами самой MacOS.

Шаг второй — «Мостостроительство»

Запускаем Системные настройки и выбираем Сеть.

Жмем на шестеренку и выбираем «Управлять виртуальными интерфейсами».

Далее кликаем на плюс и выбираем «Новый мост…».

Здесь мы никогда не увидим наш интерфейс «tap» даже при запущенном сервере OpenVPN. Но как оказалось при всей «дружественности» MacOs дает возможность создать сетевой мост с одним интерфейсом. А это как раз то что нам необходимо. Выбираем адаптер которым мы подключены к сети и обзываем мост по своему усмотрению. Жмем «создать» и «готово».

Далее настраиваем подключение моста также как был настроен сетевой интерфейс и кликаем Применить.

Все, сеть настроена и окно можно закрывать. Оно больше не понадобится.
Теперь можно проверить в терминале наличие моста с одним членом. Запускаем команду «ifconfig» и убеждаемся в наличии моста bridge0 с одним членом в роли которого выступает интерфейс который мы выбрали при его создании.

Читайте также:  Windows выключается вместо перезагрузки

Следующий этап представляет из себя создание скрипта который должен выполнить две функции. Во первых убедить ядро пропускать пакеты и во вторых добавить интерфейс «tap» в мост.

Шаг третий — Запуск

Создаем файл «/etc/openvpn/scripts/up.sh».

Сохраняем и делаем его исполняемым.

Путь к этому скрипту прописывается в конфигурации сервера и запускается после создания виртуального интерфейса.

Сервер запустился? Если да то убиваем его «Control+C». Если вылетел с ошибками то смотрим с какими и исправляем.

Теперь переходим к автозапуску сервера.

Создаем файл «/Library/LaunchDaemons/org.openvpn.bridge.plist» следующего содержания.

Сохраняем и запускаем сервер.

Все, с запуском сервера справились. Переходим к клиенту.

Шаг четвертый — Клиент

Я коротко опишу только вариант запуска клиента из под MacOS. Так как я подключаюсь к этому серверу с МакБука, и у меня не было необходимости ставить на него Xcode и MacPorts, я решил использовать решение типа «все включено» каким является «Tunnelblick».

Создаем папку конфигурации. Например на рабочем столе. Делать это проще на сервере. Далее будет понятно почему.
В папке создаем файл «config.ovpn» и прописываем конфигурацию.

Сохраняем и копируем в ту же папку ключи и сертификаты созданные в начале.

После копирования ключей и сертификатов необходимо поменять им владельца. Он должен совпадать с пользователем под которым мы строим конфигурацию. За одно покидаем рай суперпользователей.

Далее переименовываем папку с конфигурацией и ключами (имя папки будет названием конфигурации в «Tunnelblick») и добавляем расширение «.tblk»

После этого переносим конфигурацию на клиент с установленным «Tunnelblick» любым удобным способом. После чего открываем «Finder» находим расположение конфигурации и щелкаем по ней дважды. Она автоматически добавится к конфигурациям.
Запускаем «Tunnelblick», выбираем из списка свою конфигурацию и жмем кнопку «Соединится». И если все сделано правильно то через несколько секунд у нас уже есть полный доступ к удаленной локальной сети включая все мультикаст протоколы.

Источник

Настройка OpenVPN в macOS

Настройка для Tunelblick

Если ваша версия macOS старшее MacOS X Leopard, вы можете воспользоваться клиентом OpenVPN Tunnelblick.
Tunnelblick также работает и на современных версиях macOS. Для настройки работы Tunellblick выполните следующие действия:

1. Скачайте инсталятор Tunelblick Tunnelblick и установите его.

2. Распакуйте конфигурационные файлы, выданные техподдержкой. Вы также можете их скачать в личном кабинете.

3. Откройте файл с конфигурационного файла ovpn в программе Tunnelblick.

4. Выберите в меню Tunelblick пункт Connect config. При запросе логина и пароля, ввести их, взяв из файла pass.txt,
который также был в архиве с конфигурационными файлами.

5. Для проверки работы сервиса, можете обратитесь к странице https://whoer.net/ru. В отчете Вы можете увидеть текущий IP-адрес.
После окончания работы с VPN, кликните в меню Tunelblick выберите Disconnect config.

Настройка для Viscosity

Если у Вас Mac OS X Leopard или новее, наиболее удобной в использовании является клиент OpenVPN Viscosity.
В этом случае настройка VPN-сервиса сводится к следующим действиям:

1. Скачайте последнюю версию программы Viscosity и установите.

2. Распакуйте конфигурационные файлы, доступные в ваших заказах, в любой каталог.

3. Откройте конфигурационный файл ovpn в программе Viscosity.

4. Далее в верхнем меню рядом с часами кликаем на икноку Viscosity и в выпадающем меню программы выбираем Connect,

в диалоговом окне вводим имя пользователя и пароль (находятся в файле pass.txt в архиве в Ваших заказах).

5. Для проверки работы сервиса, можете обратитесь к странице https://whoer.net/ru. В отчете Вы можете увидеть текущий IP-адрес.
После окончания работы с VPN, кликните в меню Viscosity выберите Disconnect.

Настройка для OpenVPN Connect 3

1. Скачайте дистрибутив OpenVPN Connect 3 с официального сайта openvpn.net и установите его.

2. Скачайте конфигурационные файлы из личного кабинете и распакуйте их

3. Чтобы добавить конфигурационный файл в OpenVPN Connect просто переместите файл на приложение.

Читайте также:  Как включить драйвер nvidia linux

4. Отметье галочкой — Connect after import и нажмите Add

5. При появлении ошибки Connection error — Missing external certificate, нажмите Continue.

6. Вы можете избежать появления данной ошибки в будущем, добавив в конфигурационый файл ovpn строчку

после этого, изменённый конфигурационный файл нужно снова передобавить в OpenVPN Connect.

7. Впн подключение активируется, вы сможете управлять им в OpenVPN Connect.

Источник

OpenVPN для MacOS

OpenVPN — это «бронебойный» способ подключиться к локальной сети удаленно. В самой MacOS нет поддержки OpenVPN, её можно добавить только установив сторонний софт. Есть очень много клиентов openvpn для MacOS как платных, так и бесплатных. Среди них, наверное, самый продвинутый это – Tunnelblick.

Tunnelblick — это бесплатный OpenVPN-клиент для MacOS со всем нужным функционалом.

Скачать Tunnelblick можно с официального сайта здесь

Создание конфигов

В любом удобном месте создаем папку, в которой положим все необходимые файлы. В итоге должно получиться 3 файла:

  1. auth.cfg — текстовый файл с логин/паролем пользователя на OpenVPN-сервере;
  2. cert_export_user1.p12 — экспортированный клиентский сертификат;
  3. zavod.ovpn – обычный текстовый файл с конфигурационными настройками.

auth.cfg

В папке создаем новый текстовый файл с содержимым:

Где на первой строчке логин, а на второй пароль. Файл должен иметь название auth.cfg

zavod.ovpn

Создаем новый текстовый файл с любым названием и расширением .ovpn. В нашем случае это zavod.ovpn . Название нужно давать осмысленное, так как это название вы будете видеть в меню программы при подключении к серверу. Можно использовать русский язык.

  • remote 92.189.141.111 1194 — IP-адрес сервера и порт;
  • pkcs12 cert_export_user1.p12 — файл сертификатов;
  • auth SHA1 — протокол авторизации;
  • cipher AES -256- CBC — протокол шифрования;
  • auth-user-pass auth.cfg — файл логин/пароля пользователя для аутентификации на сервере;
  • route 192.168.0.0 255.255.255.0 192.168.0.1 — маршрутизация для доступа к ресурсам удаленной сети. Роутов может быть несколько. Каждый роут на новой строке. Если у Вас и у удаленной сети одинаковые подсети, то работать без доп. настроек или смены вашей подсети на другую вы не сможете.

Конфиг приведен для сертификата в формате pkcs12, где всего 1 файл. Если у вас 3 файла: user1.crt, user1.key и ca.crt, то нужно заменить:

Импорт конфига

Для того, чтобы импортировать наш конфиг в программу достаточно кликнуть на файле zavod.ovpn 2 раза. Программа запросит пароль и добавит все сама.

Как пользоваться

В трее выбираем нужное соединение из выпадающего списка. Программе нужно примерно 30 сек. для подключения. При повторном клике происходит отключение от удаленной сети.

Источник

Connecting to Access Server with macOS

Each macOS device needs a client application to connect with your OpenVPN Access Server. We recommend using OpenVPN Connect, which is pre-configured to connect with your Access Server. This document provides information on using OpenVPN Connect as well as alternative solutions.

Installing a client application

The OpenVPN protocol is not built into macOS. Therefore, you must install a client app to handle communication with Access Server. A client app is required to capture the traffic you want to send through the OpenVPN tunnel, encrypt it, pass it on to the server, and decrypt the return traffic.

OpenVPN Connect with your Access Server

Your installation of OpenVPN Access Server includes a copy of OpenVPN Connect, which is a separate package called openvpn-as-bundled-clients that is updated when new versions of OpenVPN Connect are released. OpenVPN Connect is our official client app and your users can download it directly from your client UI, pre-configured to connect with your server, or download it separately from our website and import a connection profile.

Steps: Access your client UI

  • Open a browser and enter your Access Server IP address or the custom hostname if you have set that up (recommended).
  • Enter your username and password.
    • Once you have signed in, the recommended OpenVPN Connect app for your device displays at the top. Also shown are downloads for other platforms as well as connection profiles.
Читайте также:  Статьи по kali linux

OpenVPN Connect only supports one active VPN tunnel at a time. It was purposely designed to not support connections to two or more servers simultaneously. Connecting to two servers at the same time requires two different adjustments to the routing table on the client computer. Therefore, it is very easy to make a mistake and break connectivity or cause traffic to flow to the wrong destination. Limiting connections to one server ensures connectivity and traffic flow. OpenVPN Connect can store many profiles for different servers, but you can only actively connect to one at a time.

OpenVPN Connect also supports client-side scripting, importing connection profiles directly from Access Server, and connecting with a server-locked profile. A server-locked profile enables you to authenticate any valid user on your Access Server without installing unique connection profiles for each user.

OpenVPN Connect v3

We recommend and support OpenVPN Connect v3 as the official app for OpenVPN Access Server and OpenVPN Cloud. The client software offers client connectivity across four major platforms: Windows, macOS, Android, and iOS. For Linux, we recommend the open source OpenVPN client.

We recommend downloading OpenVPN Connect v3 directly from your Access Server web client UI. You can also download the installation file for OpenVPN Connect v3 from the download page on our site or with the link below. The app installation from our site does not contain any connection settings, so you’ll need to take additional steps to configure the connection to your Access Server. If you are installing the below file on a computer that already has OpenVPN Connect v3 installed and configured, it simply updates it to the latest version and retains all settings.

OpenVPN Connect v2

This is the previous generation of OpenVPN Connect client software for OpenVPN Access Server. It is still supported but we recommend people to use OpenVPN Connect v3 instead.

Alternative OpenVPN open source client: Tunnelblick

The open source project also has a client for macOS called Tunnelblick. Tunnelblick supports the option to connect to multiple OpenVPN servers simultaneously, which can cause connection issues if not configured correctly. You must not implement conflicting routes and subnets. Unlike on Windows platform, however, you don’t need to add multiple virtual network adapters because they are provisioned automatically.

Tunnelblick also supports drag-and-drop for adding OpenVPN connection profiles, which can be .conf or .ovpn file extensions. For example, you can download a user-locked or auto-login profile from the OpenVPN Access Server web interface and drag-and-drop it on the Tunnelblick icon. The system tray menu then shows you the options for using the connection profile. Tunnelblick doesn’t support client-side scripting, importing connection profiles directly from an Access Server, or connecting with a server-locked profile.

Alternative OpenVPN client: Viscosity

Viscosity is a third-party OpenVPN client that is created by SparkLabs. Viscosity is available for Windows and macOS and is compatible with OpenVPN Access Server.

Other client GUI projects

There are many VPN clients built for the OpenVPN protocol that will also work with OpenVPN Access Server. Refer to the community website for the current list.

Helpful Resources

For further information on VPN configuration details, refer to this documentation:

Источник

Оцените статью