воскресенье, 14 июня 2015 г.

Домашняя VPN - настройка клиентов, работающих под упралением Android

Продолжаем тему про настройку и использование домашней VPN сети. Было уже и теоретическое введение, и настройка роутера в качестве VPN сервера на практике. Подошло время рассказать про настройку клиентских устройств. Ведь вся эту канитель с VPN затевалась для того, чтобы иметь доступ к домашней сети, находясь вне дома. Наверное, я повторюсь, но все же, перечислю, какие для этого у меня есть возможности. Обычно, в то время, когда я нахожусь вне дома, в моем распоряжении имеются (не обязательно одновременно):



  • планшет под управлением Android (с недавнего времени используется версия Android 5.0.1 на планшете Asus Memo Pad 7)
  • смартфон Asus ZenFone 5, тоже уже с Android 5 на борту
  • планшет Acer Iconia Tab W701 под управлением Windows 8.1 Professional
  • ноутбук-трансформер HP TouchSmart 2 на котором установлена профессиональная версия Windows 7.
  • беспроводное устройство хранения данных Seagate Wireless Plus с какой-то урезанной версией Linux

Еще у меня есть пара мобильных роутеров: TP LINK MR-3040, в который можно подключить как GSM так и CDMA модемы (они у меня есть и прекрасно работают с этим роутером), и Huawei E5776, известный также, как МТС 821FT. К этому роутеру никаких внешних модемов подключить нельзя, у него встроенный модем, поддерживающий, кстати, 4G.

Также, я довольно активно пользуюсь виртуалками, в основном, для работы - я разрабатываю и тестирую на них софт. Все мои виртуалки созданы и выполняются при помощи VirtualBox. Среди них есть машинки под Linux, Windows XP и, в последнее время, стали появляться под Windows 7.

Что с операторами? Несмотря на наличие в Memo Pad-е слота для микросим и поддержку встроенным в него модемом стандарта LTE, планшет, на сегодняшний день, переведен в "Режим полета", то есть, GSM модуль выключен, используются только WiFi и Bluetooth. Смартфон (ZenFone) снабжен симкой МТС, на ней имеется подключенный пакет интернета, Бит, по моему. В основном, передача мобильных данных тоже выключена. А все почему? Потому, что в роутере от Huawei установлена симка Мегафона, на которой подключен хороший пакет интернета (не скажу какой, потому что дорогой, вдруг жена прочитает). Этот роутер трудится постоянно - и на работе, и в автомобиле, и даже при пеших прогулках. Именно к нему подключены и смарт,  и планшет, и планшет с Windows 8.1 (опять же, несмотря на слот для микросимки), когда я ими пользуюсь вне дома. Ну, иногда я включаю MR-3040, с модемом от Скайлинка, тоже для раздачи интернета всем моим устройствам. Вот так обстоят дела с доступом в интернет вне домашних стен.

Почему, собственно,  я так рвался в домашнюю сеть извне? Во-первых, я хотел получить доступ к домашнему хранилищу данных, размещенному на WD MyBook Live и MyBook Live Duo. Музыка, книги, софт, фильмы, документы, резервные копии - все там. Иногда к этому нужен доступ, причем не вечером, когда вернусь с работы, а вот прямо сейчас. Во-вторых, иногда нужно поуправлять какими-нибудь устройствами, например, компьютером, который подключен к телевизору. Там у меня торентокачалка, и не только. Нет, я использую TeamViewer, но... Ведь весь этот трафик идет через чьи-то сервера, и, хотя, скорее всего, никому до меня нет дела, да и трафик, как обещают, защищен, ощущение, что за мной все-таки могут подглядывать, пусть и чисто теоретически, мне не нравится. А так подключился в локальную сеть, и делай, все что надо через SSH, или по RDP, и не надо пробрасывать порты, выводить компьютеры в DMZ. Можно привести и в-третьих, и в-четвертых, и, может быть, если хорошенько подумать, даже в-пятых. Так что, есть, как видите, причины подключаться к домашней сети извне.

Как я уже писал, для начала я выбрал вариант, простейший с точки зрения получения конечного результата, и не требующий стороннего софта, а именно, развертывание VPN сети по протоколу PPTP. Сервер настроен, учетная запись заведена, опишу-ка я настройку доступа в VPN своих устройств, работающих под управлением Android.

Первое, что необходимо сделать - войти в настройки (я обычно делаю это через шторку):


Но не надейтесь, что сразу увидите что-то вроде "Настройки VPN". Нужный пункт спрятан в глубине, для того, чтобы добраться до него, надо, для начала, выбрать пункт " Ещё..."


и только потом появится возможность перейти непосредственно к настройкам VPN.


При выборе пункта "VPN" на экране появится список виртуальных сетей, которые уже настроены, а также элементы, позволяющие выполнить другие действия, в частности, настроить новую сеть. На приведенной ниже картинке список сетей пуст и нам надо открыть меню операций:


Для добавления новой VPN сети необходимо выбрать соответствующий пункт меню:


На самом деле, есть один нюанс - если на устройстве никогда не настраивалась ни одна виртуальная сеть, и устройство не защищено ни паролем, ни пином, ни графическим ключом - ничем, то, при попытке настроить VPN, система потребует установить такую защиту. Это, конечно, отвлекает от достижения цели, но ненадолго. Надо вернуться в настройки системы и немного прокрутить экран. В группе "Личные данные" находим пункт "Экран блокировки":


Выбрав его, попадаем в соответствующий экран настроек.


На моем скриншоте пункт "Блокировка экрана" имеет значение "Граический ключ", просто потому, что я уже проходил эти шаги. Выбрав этот пункт, получаем возможность определиться, как хотим разблокировать экран: графическим ключом, PIN-кодом или же паролем:


Вдоволь намучившись с вводом пароля, я, в конце концов, остановился на графическом ключе.

Итак, пароль установлен, вернемся к процессу добавления новой VPN сети. После выбора пункта меню "Добавить профиль VPN" на экране отобразится окно, в котором надо заполнить несколько полей:


Поле "Название сети" ни на что особенно не влияет. То, что будет в него введено, будет показываться в списке сетей, к которым можно будет подключиться.


Поле "Тип" значительно важнее, с помощью него задается, а, вернее, выбирается из списка, протокол, по которому будет производиться подключение к серверу VPN.


Мой сервер использует протокол PPTP, который, к счастью, присутствует в списке выбора, в отличии, например, от того же OpenVPN. Надо, также, отметить, что значение, выбранное в этом поле, может повлиять на список параметров, которые надо задать. Мы рассматриваем случай для PPTP. 

Поле "Адрес сервера" тоже очень важное - значение, которое будет указано в этом поле, позволит подсоединиться именно к вашему серверу, а не какому-нибудь другому.


В качестве значения можно указать либо IP адрес, либо обычный URL сервера - его домен. Именно поэтому, в случае с домашним  VPN сервером, очень часто можно встретить указание на то, что для него провайдером должен быть выделен фиксированный "белый" IP. Белый - потому, что иначе ваш сервер будет не виден внешним клиентам, а фиксированный - потому, что иначе придется перенастраивать клиентов каждый раз, когда ваш провайдер предоставляет вам новый адрес.

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

Конечно же, если у вас статический IP адрес и есть имя домена, связанное с этим адресом, смело можете указывать этот домен в описываемом поле.

В моем случае, все несколько интересней. У меня провайдер выдает условно постоянный белый IP адрес. Этот адрес не меняется при переподключениях, длительном отключении и так далее. Но стоит просрочить оплату по счетам, как адрес изменится. Также, у меня есть домен, но он привязан к Google Apps, как и парочка поддоменов, заведенных под блоги. Вообще-то, у меня есть в планах выделить поддомен и связать его со своим условно постоянным IP адресом, выданным провайдером, при помощи какого-нибудь сервиса динамического DNS. Но  это - планы, а пока я указываю в этом поле тот самый условно фиксированный IP адрес, и стараюсь не забывать вовремя оплачивать интернет.

Еще в окне настройки VPN есть две галки: одна - для управлением шифрованием (ну как управлением, включить и выключить), ее я включил (вернее, оставил включенной), так как сервер настроен на использование шифрования; вторая - для доступа к дополнительным параметрам. Эту вторую, в моем случае, включать не потребовалось - все заработало и так, но если все-таки ее включить, то появится возможность понастраивать еще три параметра. На всякий случай, приведу их описание тут, тем более, что эту информацию трудно найти собранной в одном месте. Итак.


Поле "Домены для поиска DNS" служит вот для чего. Если за VPN сервером имеется полноценная локальная сеть, например, корпоративный интранет, то в ней могут использоваться локальные домены и внутренние DNS сервера. Это поле позволяет указать, какие домены ищутся внутренними DNS серверами первыми. По этому поводу довольно хорошо написано тут.

Поле "DNS серверы" позволяет задать не что иное, как DNS серверы. Они будут использоваться, когда Android устройство подключено к VPN. Если надо указать больше одного сервера, их следует разделить пробелом.

И последнее поле - "Маршруты пересылки" - позволяет указать, какой трафик будет проходить через VPN. Все, что не будет отвечать заданным правилам, через VPN не пойдет. Маршруты задаются в формате CIDR.

После того, как вся нужная информация введена и сохранена, можно попробовать подключиться к VPN серверу. Для этого надо снова проделать путь в настройках до списка настроенных  VPN сетей и выбрать в нем нужную сеть (идентифицировать ее можно по названию, которое задавали при настройке):


Затем, в появившемся окошке, надо вбить имя и пароль.


Естественно, они должны соответствовать тем значениям, которые задавались при настройке удаленного пользователя на сервере. И, кстати, в окошке соединения можно включить галочку "Сохранить учетные данные". Тогда, при последующих подключениях, поля для имени пользователя и пароля будут уже заполнены нужными значениями.

Потом некоторое время на экране устройства повисит вот такая заставка, щекоча нервы - получится или нет?


Лично у меня все прошло просто замечательно, подключение состоялось, и я действительно получил доступ к ресурсам, размещенным в домашней сети.



Осталось лишь описать процесс завершения работы с VPN соединением. Сделать это совсем не сложно. Для завершения сеанса работы нужно войти в настройки, добраться до нужной сети, и, выбрав ее, в появившемся окна нажать на "Разъединить".


В Android KitKat можно было вытянуть шторку, и, выбрав в ней строчку, соответствующую оповещению о том, что соединение состоялось, опять-таки,  нажать на "Разъединить". Однако в Lollipop такого оповещения более не выводится и, соответственно, через шторку операцию не выполнить. А жаль.

Вот такая настройка производится для устройств под управлением Android 5.0.1. Для других версий она очень похожа, может, немного отличаются внешние виды окон, или названия пунктов меню, но принцип остается одинаковым.

В следующий раз поговорим о настройке какой-нибудь другого устройства с другой операционной системой на борту. Так что, продолжение следует....

Комментариев нет:

Отправить комментарий