суббота, 30 мая 2015 г.

Домашняя VPN

Жизнь вокруг нас стремительно меняется. Речь сейчас не об экономике или политике, хотя... Развитие технологий, безусловно, оказывает влияние на все сферы жизни человека, да и общества в целом. Но я сейчас не об этом. Блог называется "Компьютерные заметки", поэтому - гаджеты и все, что с ними связано. Сегодня наша цифровая жизнь стремительно вырывается из под нашего контроля, прорвав границу личного пространства и выйдя за периметр, в котором все в наших руках и власти.




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

Еще бы, раньше, если вы захотели выложить фотографии, например, в Одноклассниках, надо было сделать множество действий, некоторые из которых требовали определенной квалификации. Но, для начала, надо было добраться до компьютера с интернетом и сохранить при этом желание чем-то поделиться.

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

В результате, в облаках, социальных сетях, службах обмена сообщениями, оказывается неисчислимое количество фотографий, видеороликов, различных документов и так далее и тому подобное. А что, это ведь удобно, все всегда под рукой, не надо покупать всякие там SD карты, флешки. Да и владельцы облачных сервисов на что только не идут, чтобы привязать к себе пользователя - только купи телефон и вот тебе столько места, сколько надо, чтобы вместить все твои фотографии, хранящиеся на устройстве сейчас и появляющиеся в будущем. Даже процесс переноса автоматизируют и нужные (или ненужные?) настройки сделают.

Через облачные же сервисы реализуют, например, удаленное управление компьютером. Причем, поступают очень изобретательно, все направлено на то, чтобы у пользователя не возникало необходимости что-то там настраивать. Ведь чтобы настраивать необходимо иметь какие-то знания, а это может отрезать от сервиса большое количество потенциальных потребителей.
 
Таким образом, огромное количество нашей информации оказывается размещенной где-то там, вне наших устройств хранения данных, в датацентрах каких-то посторонних компаний. Плохо это, или нет? Каждый выбирает ответ самостоятельно, если, конечно, вообще задается таким вопросом.
 
Что касается меня, то могу сказать, что мне не очень нравится такое положение вещей. Тут следует отметить, что я не страдаю от крайней степени мании преследования. Ну в самом деле, кому я интересен, кто будет пытаться найти и украсть мои фотографии, или видео, или тексты описания установки разработанного мною на работе ПО. Сто лет это никому не нужно. Но мне не нравится, что все это уже не находится под моим контролем. Нет, вернее, не так. Теперь все это находится не только под моим контролем.

Конечно, как я уже отмечал, все эти облачные навороты очень удобны - программисты не зря же едят свой хлеб. И все мы ими пользуемся, взять те же сервисы электронной почты GMail или Hotmail. Но время от времени меня посещает мысль: а нельзя ли хотя бы какие-то функции вернуть из облаков обратно - на землю, так сказать. Под полный собственный контроль. Можно, конечно, и на святое замахнуться, я про электронную почту, но начать можно с чего угодно, и, желательно - с чего-нибудь попроще.

И так удачно сложились звезды, что мне не пришлось долго ломать голову при выборе претендента. Все дело в том, что в качестве роутера у меня трудится Asus RT-N56U. А для этого роутера даже в родной прошивке есть возможность настроить и запустить собственный сервер VPN, что уж говорить про альтернативную прошивку от гуру Padavan-а.

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

Конечно, мой роутер не единственный, который может выступать в роли VPN сервера, у того же Asus-а есть еще несколько моделей,  есть такие и у TP LINK-а, и DLink-а. Кроме того, если для роутера есть какая-нибудь кастомная прошивка, например, dd-wrt, Tomato, или, может, какая-нибудь другая, то, с большой долей вероятности, можно утверждать, что на таком роутере можно будет настроить VPN сервер. Ну, вот, для примера, инструкция по настройке VPN для dd-wrt, а вот тут есть инструкция для одной из разновидностей Tomato - TomatoUSB,

Но что же такое этот VPN сервер, что скрывается за этой аббревиатурой, зачем он нужен и почему это хорошо. Или не хорошо. Конечно, надо почитать, что пишут об этом знающие люди во всемирном банке знаний, который, кстати, недавно отпраздновал день рождения. Или, вот, на языке международного общения. Можно найти и почитать другие источники - это будет очень полезно. Но все-таки, что скрывается за всеми этими PPTP, IPSec, и прочими L2TP? Как вообще организована наша домашняя цифровая жизнь?

На бытовом уровне можно попробовать описать эту технологию следующим образом. Вот у вас есть беспроводной роутер, благодаря которому, все ваши устройства, такие, как смартфоны, планшеты, компьютеры, ноутбуки и прочие смартТВ, могут выходить в интернет, одновременно, через шнурок, протянутый от оборудования вашего провайдера на чердаке или в подвале, до вашей квартиры (а помните времена, когда провайдеры в договорах прописывали пункт, запрещающий использование роутеров под страхом смерти отключения). Конечно, роутер может и не иметь поддержки WiFi, но без такой функциональности подключение смартфонов , например, выглядит проблематичным.

Однако, выход в интернет - не единственное, что дает роутер. Благодаря ему в квартире появляется небольшая домашняя сеть, в которой устройства могут иметь доступ к друг к другу, и, соответственно, обмениваться информацией. И в этом случае имеет смысл одно из, или несколько, устройств использовать в качестве хранилища информации. И не важно, раскошелитесь ли вы на специализированное устройство - полноценный NAS, или просто будете хранить данные на одном из компьютеров. Главное, что вы получаете централизованное хранилище своих данных.

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

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

При этом, весь остальной мир не будет иметь доступа (опять же, в идеале) к этой растянувшейся домашней сети, так же, как и не имел его раньше, до подключения внешнего устройства к VPN серверу на роутере. И это не смотря на то, что взаимодействие между всеми устройствами, входящими в сеть, теперь не ограничивается проводами в квартире или защищенной WiFi точкой доступа, а использует и внешние каналы связи, которые вам не принадлежат и которые управляются не вами. Сеть по прежнему остается личной - чужие здесь не ходят, и именно отсюда в аббревиатуре VPN буковка "P" - от слова "private" - частная, личная сеть.

Как обеспечивается эта приватность? Для пользователя это не так уж и важно, но, если вкратце и по простому, то все данные, передаваемые между устройствами, шифруются и подписываются. Шифрование защищает данные от посторонних глаз - нельзя подсмотреть, что передается; подписывание - от посторонних рук - нельзя изменить передаваемую информацию. VPN сервер роутера шифрует и подписывает весь трафик, который направляется из вашей домашней сети к внешним подключившимся устройствам. Эти устройства смогут расшифровать и проверить полученную информацию, так как в момент подключения VPN сервер снабдил их всем необходимым для этого. Кроме того, отправляя информацию в вашу домашнюю сеть, внешние устройства также шифруют и подписывают ее, используя полученную в момент подключения служебную информацию, а VPN сервер дешифрует и проверяет ее, делая доступной внутренним устройствам. В жизни все сложнее и разнообразнее, но, еще раз, нам-то, конечным пользователям, какое до этого дело?
 
Помимо приватности, удаленные устройства должны не чувствовать себя таковыми. Они должны чувствовать себя частью вашей домашней сети, каковыми они, на самом деле, не являются. Но и тут на помощь приходит VPN сервер роутера. Что-то он такого там делает, после чего внутренние и внешние устройства считают, что находятся в одной сети. Опять же, в двух словах, организуется туннель, то есть, все передаваемые пакеты снабжаются дополнительными заголовками, и, с точки зрения связываемых устройств, все выглядит так, как будто они находятся рядом. Все подробности того, как на самом деле связаны устройства, через какие сети проходит передаваемый пакет, оказываются скрытыми. Со стороны это выглядит так, как будто до удаленного устройства протягивается провод, виртуальный провод. Отсюда и буковка "V" - от слова "virtual", то бишь, виртуальная.

Итак, если у вас есть роутер, который способен выступать в качестве VPN сервера - часть проблемы создания виртуальной частной сети решена. Другая часть проблемы заключается в том, что удаленные устройства тоже должны быть снабжены специальным программным обеспечением для организации связи - VPN клиентом. И тут все тоже более или менее в порядке. Практически все современные смартфоны и планшеты, что под управлением Android, что под управлением iOS, и даже под управлением Windows Phone (речь про версию 8.1), имеют встроенные VPN клиенты сразу, что называется, из коробки. То же самое можно сказать и про современные десктопные операционные системы, включая Windows, Linux и MacOS.

Еще один важный аспект проблемы – ваш роутер должен быть чисто физически доступен извне. Самый простой способ решить эту задачу - получить от провайдера постоянный или временный “белый” IP адрес. Без такого адреса тоже можно будет попытаться добиться результата, но на этом пути вас будет ожидать нелегкое взаимодействие со специалистами техподдержки провайдера, если они вообще будут с вами общаться по этому поводу.

Итак, имея все составляющие головоломки, можно попробовать составить пазл. Но прежде - небольшое отступление. Должен признаться, что VPN у себя я настроил довольно давно, и даже сумел убедить в необходимости использовать эту технологию нескольких своих знакомых. Сейчас же, сделаем вид, что это не так, что я только-только собираюсь окунуться в эту авантюру. Какие же цели я преследовал и чего намеревался добиться, находясь в самом начале пути? (Позже я обязательно подведу итоги и поделюсь тем, насколько сбылись мои ожидания.)

Первое, я намеревался получить доступ к своему домашнему хранилищу, размещенному на паре домашних NAS (назовем их так) от компании Western Digital, а именно, WD MyBook Live и WD MyBook Live Duo. Я надеялся, что, получив такой доступ, я смогу минимизировать использование облачных хранилищ от Google, Microsoft, Box, Dropbox и так далее.

Второе, я использовал для удаленного доступа к домашним компьютерам, находящимся под управлением Windows, известную программу TeamViewer. Оказавшись в домашней сети с помощью VPN, я хотел управлять этими компами при помощи обычного RDP. К устройствам же на базе Linux я собирался получать доступ при помощи SSH.

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

Кстати, вот схематическое и довольно вольное изображение моего представления о собственной домашней сети и будущей VPN:

Ну не художник я...
В нижней части изображены устройства моей домашней сети. Тут парочка десктопов, несколько ноутов, планшеты, смартфоны, HTPC, Android Stick PC (Minix Neo G4), МФУ от HP PhotoSmart 6510, мои хранилища от Western Digital, затесался даже Google Chromecast. Часть этих устройств почти каждый день оказываются вне дома. Речь, конечно же, про смартфоны и планшеты, ну и про переносное хранилище Seagate Wireless Plus. Я скопировал иконки этих устройств и разместил их в верхней части картинки. Собственно, из-за них и затевался весь этот сыр-бор.

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

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

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