08/11/2019
Как много раз уже писал и говорил об этом, компьютерная техника Apple – это по сути не понты модных мальчиков и девочек. Хотя такое часто и имеет место случаться в жизни. Техника Apple – это прежде всего очень технологичное оборудование и программное обеспечение, предоставляющее широкий спектр возможностей своим пользователям. В этой статье рассмотрим красивые ноутбуки и компьютеры MAC с точки зрения гиков. Хочется показать, как превратить обычный MacBook в WiFi VPN роутер, который сможет обеспечивать небольшое подразделение организации доступом в головной офис. Конечно же, для того, чтобы это реализовать есть более дешевые и подходящие средства. Как пример – уже готовые аппаратные модемы или Linux на небольшом сервере. Но, если возникает такая необходимость, а под рукой ничего из вышеперечисленного нет, мы можем использовать для этих целей и MacBook.
Возьмем гипотетический пример, что в центре города у нас распологается центральный офис нашей организации. А где-то на окраине мы открыли филиал. И нам необходима безопасная передача данных между двумя подразделениями. Также предположим, что в нашей организации работают любители техники Apple, которые пользуются именно ей в своей работе. А также то, что специального оборудования для организации VPN доступа в филиале мы еще не купили. В такой ситуации мы можем задействовать один из компьютеров с MacOS в качестве маршрутизатора, WiFi точки доступа, и VPN клиента. Несколько лайфхаков как это сделать приводится ниже. Основную цель, которую приследую при этом, показать обилие возможностей, заложенных в MacOS, о которых большая часть пользователей и не подозревает.
Настройки системы
Во-первых, рассмотрим как сделать из Макбука – WiFi точку доступа. Наверное, каждый пользователь техники Apple задумывался о том, что если iPhone легко превратить в WiFi хот спот, то почему нельзя то же самое проделать и с MacOS. Оказывается, да можно. И это не составит большого труда даже для начинающего.
Для этого у нас должно быть одно проводное подключение компьютера к сети Интернет, а также рабочая WiFi карта. Проводим необходимые настройки в операционной системе в System Preferences -> Sharing. Находим в меню слева Internet Sharing. После того, как мы поставим галочку рядом, предварительно выбрав нужные интерфейсы откуда берется Интернет и куда раздается, мы получим желаемый результат. Скриншот, показывающий это, приведен ниже.
В Wi-Fi Options можно сконфигурировать тип безопасности беспроводной сети и пароль, который должны будут использовать клиенты, подключающиеся к нашему Макбуку.
После проведенных выше манипуляций, прочие ноутбуки в сети, планшеты и мобильные телефоны смогут получать доступ в Интернет по WiFi с помощью нашего компьютера.
Теперь, во-вторых, создадим VPN подключение к OpenVPN серверу. Для этого используется специальный клиент Tunnelblick. У нас предварительно должен быть настроен OpenVPN сервер в центральном офисе компании. Загрузив с этого сервера профайл для подключения к нему в клиент tunnelblick, мы получим шифрованное соединение с макбука до центрального офиса. Во многих случаях этого более, чем достаточно, чтобы получить удаленное подключение в центральный офис для отдельного сотрудника. Однако в рамках данной статьи, это лишь один из компонентов по организации Wi-Fi VPN роутера.
И наконец, в-третьих, настроим перенаправление и маршрутизацию сетевых пакетов от Wi-Fi клиентов, подключающихся к нашему Макбуку, в VPN туннель. Все что описано далее по тексту делается на базе статьи на сайте superuser.com. Здесь придется заглянуть под “капот” нашего Макбука и поработать в командной строке. Нам необходимо будет определить название OpenVPN сетевого интерфейса в системе. Для этого выполним команду ifconfig в терминале MacOS. В результате вывода команды найдем интерфейс, который начинается на utun. Пример вывода описания интерфейса OpenVPN приведен ниже.
#ifconfig ... utun1: flags=8051 mtu 1500 inet 10.0.10.11 --> 10.0.10.11 netmask 0xffffff80
В данном примере виртуальный интерфейс для OpenVPN подключения называется utun1. Аналогично с помощью команды ifconfig узнается название интерфейса Wi-Fi. После того, как эти данные получены, приступаем к настройке фаервола PF.
В MacOS пакет PF по умолчанию отключен. Данный брандмауэр во многом схож с аналогом во FreeBSD. Поэтому те, кто хорошо знаком с этой операционной системой, смогут с легкостью использовать его и на Макбуке. Первым делом настроим правила трансляции портов с помощью pf в файле /etc/pf.conf сразу после строчки ‘rdr-anchor “com.apple/*” ‘.
lan="{192.168.2.0/24}" ext_if=en2 vpn_if="utun1" nat on $ext_if from $lan to any -> ($ext_if) nat on $vpn_if from $lan to any -> ($vpn_if)
Переменная lan описывает ipv4 подсеть, которая используется для Wi-Fi сети. Именно клиенты этой сети будут туннелироваться в OpenVPN подключение. Переменные ext_if и vpn_if соответственно идентифицируют Wi-Fi и OpenVPN интерфейсы в системе. Описав правила pf в конфигурации, необходимо корректно запустить его. Для этого выполняем ряд комманд в терминале.
# sudo pfctl -d # sudo pfctl -F all # sudo pfctl -f /etc/pf.conf -e
Первые две команды отключают pf и удаляют все существующие правила, третья загружает правила из файла /etc/pf.conf и актвирует работу брандмауэра. Далее в процессе работы для траублшутинга возможно понадобится знание команды, выводящей работающие правила NAT в pf.
# pfctl -v -s nat
Проделав все вышеуказанные манипуляции, мы получим работающий Wi-Fi VPN роутер на. базе MacOS.
Заключение
Статья обогатит обычного пользователя техники Apple небольшими практическими навыками, полезными в повседневной работе. Далеко не все вещи в операционной системе от Стива Джобса интуитивно понятны и наглядны. Материал данной статьи будет полезен ITшникам, а также обычным любителям техники Apple.