Поиск по сайту:

» Бесплатный доступ в Интернет на крайний случай

01.05.2011 рубрика: Технологии и интернет

Бесплатный доступ в Интернет на крайний случай

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

Вступление

Бесплатный доступ в Интернет… Сказка? Быль? Ведь бесплатный сыр бывает только в мышеловке, не правда ли? Описанный ниже метод позволит получить доступ в Сеть, не заплатив при этом ни копейки. Правда, не стоит надеяться, что это окажется «нормальный» доступ — скорость соединения будет очень маленькой, как во времена dial-up (это слово не вызывает у вас неконтролируемого приступа ностальгии?). Впрочем, её должно хватить для общения в различных мессенджерах (кроме, пожалуй, Skype), доступа к мобильным версиям сайтов или к страничкам, которые не содержат много контента.

Перед тем как приступить к настройке, неплохо было бы ответить на вопрос: «А зачем это всё нужно?» Вариантов, когда такой доступ может оказаться полезным, масса. Например, у вас отключили Интернет за неуплату (как это обычно бывает в первый день месяца чуть позже полуночи), а вам срочно надо связаться с кем-то или перевести нужную сумму на счёт провайдера. До сих пор попадаются некоторые нехорошие компании, которые даже доступ к личному кабинету отключают при нулевом балансе, не давая тем самым хотя бы заблокировать аккаунт, и потихоньку списывют деньги за недоступную услугу. Или, к примеру, в вашей организации очень злобные админы (обязательно бородатые и в свитерах), которые блокируют доступ к мессенджерам, социальным сетям и прочим радостям простого офисного сотрудника. Бывает и так, что есть открытая сеть Wi-Fi, но, согласно политике безопасности, Интернет чужакам не положен. В общем, условие только одно — главное, чтобы вам был свободно доступен DNS-сервер!

Теория

С помощью техники IP-over-DNS можно организовать туннель для передачи произвольного трафика поверх протокола DNS. Исторически сложилось так, что размер пакета DNS не должен превышать 512 байт, чего как раз хватало для размещения информации о 13 корневых серверах (коих сейчас аж под 200 штук). Однако в нём, как правило, остаётся достаточно «свободного» места. Дальше начинается магия. У нас должен быть свой сервер в Сети, который на самом деле является фальшивым сервером имён, отвечающим за некую доменную зону. Мы посылаем DNS-запрос к нашему локальному (провайдерскому) DNS-серверу об этой самой зоне. Он, как и положено, интересуется у фальшивого сервера, что это за зона, а тот отвечает ему. Фактически мы уже «достучались» до нашего сервера в Интернете. Нюанс в том, что мы на самом деле всё это время не выходили за пределы локальной сети. Ну а дальше всё просто. Связь с сервером есть, обмениваться пакетами с ним можно. Остаётся только аккуратно резать весь трафик на небольшие кусочки, упаковывать их в свободное место в DNS-пакетах и отдавать их клиенту, который будет на своей стороне восстанавливать исходную последовательность. И, соответственно, таким же образом возвращать обратно, желательно ещё и с попутным сжатием трафика.

Вопрос о легальности такого доступа к Сети достаточно спорный. С одной стороны, мы вроде как не нарушаем спецификации и работаем с DNS как положено. «Легальные» запросы к DNS от фальшивых отличить невозможно. С другой стороны, все мы понимаем, что с моральной точки зрения это, скажем так, не совсем хорошо. Так что злоупотреблять данным методом точно не стоит. Подавляющее большинство провайдеров даже при отключенном доступе в Интернет оставляет свои DNS-сервера открытыми для пользователей, хотя некоторые и блокирует подозрительно «жирные» пакеты. В целом до сих пор нет достаточно универсального и действенного средства против IP-over-DNS. Хотя, конечно, паразитный трафик можно вычислить по резко возросшей частоте запросов к серверу имён или с помощью систем обнаружения вторжений.

Практика

Есть несколько реализаций методики IP-over-DNS: NSTX (наверное, самая старая), OzymanDNS, DNSCat, iodine и другие, как правило, написанные только для себя. На данный момент наилучшей реализацией считается проект iodine. В названии заключена своего рода игра слов. Во-первых, iodine содержит в себе аббревиатуру IP-over-DNS (IOD). Во-вторых, iodine, он же йод, имеет в периодической таблице порядковый номер 53, который совпадает с номером порта DNS по умолчанию. По факту это единственный проект, который более-менее регулярно обновляется и улучшается, а также портирован на большое количество платформ. К тому же и настройка его не требует особых усилий.

Впрочем, есть и более экзотические методики получения бесплатного доступа в Сеть. Например, IP-over-IRC или IP-over-XMPP, ведь многие провайдеры предоставляют бесплатный доступ к внутренним IRC- или Jabber-серверам, которые часто соединены с другими серверами в Сети. Есть и совсем безумная методика IP-over-ICMP (ICMPTX). Однако мы остановимся на IP-over-DNS и рассмотрим всё это дело на примере iodine.

Настройка сервера iodine

В качестве примера рассмотрим установку iodine на сервер с Ubuntu 10.04.1 в Amazon EC2, о настройке которого было рассказано в предыдущей статье. На всякий случай рекомендуется прочитать её ещё раз, чтобы не возникло лишних вопросов. Настройка для других дистрибутивов GNU/Linux производится аналогичным образом. Впрочем, если у вас есть такой сервер, то вряд ли потребуются дополнительные объяснения. На самом деле, лучше всего устанавливать iodine на сервер, который физически ближе к вам, хотя бы ради уменьшения времени отклика.

Для начала необходимо зарегистрировать домен, через который будут идти DNS-запросы. В принципе, можно выбрать любого регистратора, в том числе и бесплатного. Лишь бы была возможность менять NS-записи для создаваемых поддоменов. Для примера рассмотрим co.cc. Выбор этого сервиса не случаен. Во-первых, он не требует оплаты. Во-вторых, надо помнить, что чем короче будет наше доменное имя, тем, условно говоря, больше полезной информации уместится в DNS-пакете. На главной странице сервиса нам предлагают выбрать себе домен и, если он свободен, сразу же зарегистрироваться. Для единообразия в примере будет использоваться amazec2.co.cc, но вы можете выбрать любое подходящее имя, нажать на кнопку «Проверить доступность» и пройти остальную часть процедуры регистрации на сайте, с которой проблем быть не должно. Если доменное имя недоступно, то надо будет вернуться на главную страницу и попробовать другое.

После окончания регистрации надо залогиниться в сервисе, в My Domains выбрать домен и кликнуть по пункту Zone Record. Теперь заполним все нужные поля. В Host вводится имя поддомена (например, t.amazec2.co.cc), в Type выбираем NS, а в Value вводим DynDNS-имя нашего сервера в облаке Amazon EC2 (в нашем примере это был amazec2.dyndns-ip.com). Наконец, жмём кнопку «Выполните настройку». На делегирование домена понадобится некоторое время. На сайте сказано, что изменения вступают в силу в течение 48 часов, но на самом деле вряд ли придётся ждать больше часа. Впрочем, многое зависит от вашего провайдера. А пока, чтобы не скучать, займёмся настройкой сервера.

Другие материалы:


Добавьте комментарий:

Ваше Имя:*
Ваш E-Mail:*