Меня зовут Михаил Подивилов. Я являюсь основателем общественной организации «Medium».
Этой публикацией я начинаю серию статей, посвящённых настройке сетевого оборудования для соблюдения аутентичности при становлении оператором децентрализованного интернет-провайдера «Medium».
В этой статье мы рассмотрим один из возможных вариантов конфигурации — создание одиночной беспроводной точки доступа без использования стандарта IEEE 802.11s.
Что такое «Medium»? / Как присоединиться к сети «Medium»?
Лирическое отступление
Если вы хотите стать оператором сети «Medium», то, вполне вероятно, вы уже задумывались над тем, насколько легальна эта затея и какие могут возникнуть последствия.
Ответ: это совершенно легально и никаких последствий возникнуть не должно. Мы тесно сотрудничаем с РосКомСвободой (у которой, к слову, очень богатая судебная практика в сфере информационных технологий) и консультировались с ней по этому поводу.
Кстати, РосКомСвобода недавно выпустила материал про «Medium» в своём блоге. В одном из пунктов там чётко обозначена позиция РосКомСвободы в отношении сети «Medium»:
Я хочу стать оператором сети. Меня найдут?
Этот вопрос уже обсуждался как участниками сообщества, так и нами — и мы не обнаружили никаких проблем с безвозмездным предоставлением услуг подвижной радиосвязи децентрализованным интернет-провайдером «Medium» на территории РФ.
Мы понимаем, что этой выдержки из публикации совершенно недостаточно, чтобы успокоить своего внутреннего параноика. Поэтому совместно с РосКомСвободой мы составили обращение в Минкомсвязи и в настоящее время ожидаем от них ответа.
Самый распространённый сценарий использования
Как правило, сейчас далеко не все могут себе позволить прямое подключение к Mesh-сети «Medium» с топологией partial mesh ввиду слишком малой плотности беспроводных точек доступа.
Поэтому пользователи используют ресурсы сети «Medium» посредством подключения к ней с использованием транспорта Yggdrasil.
Это выглядит следующим образом:
Создание одиночной беспроводной точки доступа
В этой публикации мы рассмотрим создание одиночной беспроводной точки. После настройки топология сети будет иметь следующий вид:
К сожалению, невозможно в подробностях расписать процесс настройки каждого из существующих беспроводных маршрутизаторов в отдельности — на рынке сейчас существует слишком много разных торговых марок и моделей маршрутизаторов.
Поэтому я буду абстрагироваться от наиболее общих терминов и понятий, объясняя процесс настройки сетевого оборудования в достаточной степени абстрактно. Если что — смело поправляйте или дополняйте меня, статья открыта к правкам.
Шаг 1. Базовая конфигурация
Yggdrasil распространяется в качестве пакета для OpenWRT, однако не каждый оператор может себе позволить установку OpenWRT на свой беспроводной маршрутизатор в силу тех или иных обстоятельств — начиная от банального нежелания до невозможности перепрошивки устройства.
Мы рассмотрим вариант, в котором клиент, подключенный к беспроводной сети, будет использовать режим autoconf, благодаря которому роутер Yggdrasil клиента автоматически обнаружит роутер Yggdrasil оператора посредством использования мультикаста и сможет использовать ресурсы сети «Medium».
Алгоритм действий клиента, который желает подключиться к сети «Medium»:
- Клиент подключается к скрытой беспроводной сети с SSID «Medium»
- Клиент запускает роутер Yggdrasil с ключом
-autoconf
- Клиент использует ресурсы сети «Medium»
В настройках беспроводного вещания вашего маршрутизатора укажите SSID «Medium» и тип шифрования «без пароля». Также не забудьте отключить вещание идентификатора SSID — сеть должна быть скрытой.
Шаг 2. Настройка «Captive Portal»
«Captive Portal» — это технология, позволяющая беспроводным точкам доступа перед входом в сеть показать веб-страницу, на которой содержится перечень действий, необходимых к выполнению для подключения к сети.
Например, это может быть авторизация посредством использования одноразового кода из SMS — согласно действующему российскому законодательству все юридические лица и индивидуальные предприниматели, раздающие Wi-Fi на бесплатной основе, должны идентифицировать клиента посредством использования SMS.
В «Medium» такой потребности нет — здесь технология «Captive Portal» необходима для того, чтобы предоставить конечному пользователю возможность загрузки программного обеспечения, необходимого для работы в сети.
Если ваш беспроводной маршрутизатор поддерживает технологию «Captive Portal», используйте готовый шаблон, разработанный сообществом.
Шаг 3. Настройка клиента Yggdrasil
Чтобы клиент, подключенный к вашему беспроводному маршрутизатору, смог использовать ресурсы сети «Medium», необходимо настроить и запустить на вашем ПК, подключенном к беспроводной сети, копию Yggdrasil.
Используйте следующее руководство, чтобы правильно сконфигурировать вашу копию Yggdrasil.
Шаг 4. Добавьте вашу точку доступа в публичный перечень всех точек доступа сети
Дело за малым — теперь осталось добавить вашу точку доступа в публичный перечень всех точек доступа сети. Это необязательно, но желательно, если вы хотите, чтобы пользователям сети было легче вас обнаружить.
Читайте также:
- Интернет для всех, даром, и пусть никто не уйдёт обиженный
- Мне нечего скрывать
- Всё, что вы хотели знать о децентрализованном интернет-провайдере «Medium», но боялись спросить
Мы в Telegram: @medium_isp
Комментарии (13)
Foxcool
09.09.2019 18:50+2Складывается ощущение, что вы как слепые котята туда-сюда шевелитесь. То выпускали в особо никому ненужный i2p только, то сейчас добавили Yggdrassil со спорным роутингом (плохо масштабируется). Могли бы сначала почитать наработки и статьи по темам на том же хабре (моя старая, например habr.com/ru/post/277721), зайти пообщаться в сообщество Distributed. Ведь там можно сформулировать кейсы типа, что можно применять, а что не стоит. Надо ли ограничиваться конкретными инструментами типа yggdrassil или стоит параллельно оставить место для того же CJDNS? Пообщаться с создателем последнего, например?
Вы же хотите работать с людими. А значит им нужно предлагать практически законченные TODO скрипты по действиям, и чтобы это нормально взлетело и было юзабельно. Иначе пара человек попробует и потом не будет даже смотреть в эту сторону
Sabubu
10.09.2019 21:30Что я не понимаю: зачем используются какие-то усложненные технологии? Почему нельзя сделать сеть совместимой со стандартной конфигурацией популярных ОС вроде Linux, Android, Windows, Mac? Чтобы человеку достаточно было просто подсоединиться и получить доступ к децентрализованной сети, иметь возможность работать через стандартный браузер?
И тут, не уверен, что стоит это делать:
Это необязательно, но желательно, если вы хотите, чтобы пользователям сети было легче вас обнаружить.
А еще вас будет легче обнаружить сотрудникам ФСБ и СК и завести дело об оказании услуг связи без получения телематической лицензии. Указывать координаты с точностью до 10 метров — не лучшая идея.
Tufed
11.09.2019 15:19Ой, да там целый список нарушений за такую точку приписать можно. Чуть больше чем за простой публичный WIFI.
ValdikSS
Каждый раз, читая ваши статьи, я бешусь от того, что вообще не врубаюсь в концепцию. Видимо, всем всё очевидно, а я недоумеваю, как это в принципе предполагается использовать, в каких случаях, и какова предполагаемая пользовательская база.
Итак, если я правильно всё понял:
Идея построения Mesh-сети у меня не вызывает вопросов: ясна и концепция (построение сети передачи данных с использованием привычных протоколов), и сфера применения (передача данных без использования инфраструктуры существующих коммерческих провайдеров, независимость от них).
Вопрос: зачем это в принципе может быть нужно конечным пользователям?
Я иду в место, где установлена публичная точка доступа Medium, и подключаюсь к ней. Что мне делать дальше? Какими сервисами я могу пользоваться? Что конечного пользователя должно мотивировать, чтобы идти в определенное место и подключаться к точке без интернета?
У проектов портативных точек доступа вроде PirateBox понятны задачи, которые они решают: предоставить возможность чатиться и обмениваться файлами между клиентами точки доступа Wi-Fi. Это удобно использовать для коммуникаций в среде с плохим покрытием интернета, на каких-то мероприятиях, для связи людей на ограниченной физической территории. PirateBox не требует установки дополнительного ПО и имеет простой интерфейс.
Какие задачи, с точки зрения конечного пользователя точки доступа Wi-Fi, решает Medium?
Foxcool
Когда в своем чате distributed обсуждали эти вещи, то в принципе пришли к выводу, что в наших реалиях будет рулить нечто такое:
— Роутер на OpenWRT
— Имеет свои точки закрытые домашние обычные
— Имеет 802.11s точки и просто открытые точки, которые не выпускают в интернет напрямую, но выпускают в тот же CJDNS (Yggdrassil до кучи).
— Знающий пользователь может выйти в интернет через свой интернет или TOR.
Там дополнительно надо доработать работу тора поверх вышеуказанных орверлэйных сетей. Ну еще можно придумать какую-то страницу автооткрывающуюся, которая расскажет, что можно установить\настроить, чтобы выйти в сеть через эти точки и мешсети.
Да, это кейс не для совсем конечного юзера, но с этим теоретичесми можно идти к гкам и строить первые сети хотя бы в общагах студенческим и прочих местах с повышенной концентрацией задротов на квадратый метр (:
podivilov Автор
Прежде всего, Medium решает задачу развёртывания независимой телекоммуникационной среды передачи данных. Которой, чего таить, ни у нас, ни во многих других странах — нет. Взять в пример Грецию: товарищи заморочились и построили AWMN. Настоящая Mesh-сеть с топологией partial mesh.
Наша конечная цель заключается именно в создании независимой телекоммуникационной среды. Foxcool верно подметил, что мы «как слепые котята туда-сюда шевелимся». Потому что изначально сообщества как такового вокруг Medium не было, всё решало два-три человека от силы. Сейчас вокруг Medium образовалось неплохое сообщество и каждый важный вопрос выносится на дискуссию и обсуждается всеми заинтересованными в этом участниками. Смотрите сами.
Отвечу на Ваш вопрос: «Как я понимаю, сам Medium не предоставляет каких-либо собственных сервисов (по ссылке «List of available services» ничего нет)».
В закреплённых репозиториях организации есть awesome-medium, где все сервисы medium.isp относятся непосредственно к Medium.
Также посмотрите архив.
Вы говорите: «Что конечного пользователя должно мотивировать, чтобы идти в определенное место и подключаться к точке без интернета?»
Отвечаю: пока что эта сеть ориентирована на пользователей, в большей степени относящихся к айти-сообществу. Чтобы популяризовать эту сеть, необходимо, как было правильно замечено, чтобы присутствовало обширное FAQ, в частности удовлетворяющее вопросу «Зачем?»
Чтобы пользователь мог установить приложение и использовать все прелести децентрализованной сети.
Внутри у нас есть форум mesh.ygg, социальная сеть humhub.ygg, децентрализованный поисковой движок yacy.ygg. Сеть растёт, сервисы развиваются. А если Вы действительно заинтересованы в том, чтобы разобраться, что к чему — посетите канал @medium_general в Telegram. Участники сообщества с радостью ответят на все интересующие Вас вопросы.
ValdikSS
Тем не менее, mesh-сети существуют, в том числе и сравнительно крупные (1, 2). Также есть большие сообщества вокруг них: Libremesh, Battlemesh. Нужно было начинать с ознакомления с возможностями маршрутизаторов, протоколами маршрутизации, анализа уже существующих проектов, их преимуществ и недостатков.
Вы не ответили на мой вопрос: зачем мне, пользователю, относящемуся к IT-сообществу, который знает и использует оверлейные сети, у которого установлены несколько нод Tor, I2P, ZeroNet, Tahoe-LAFS, и который держит несколько публичных точек Wi-Fi, может потребоваться подключиться к Yddgrasil не просто через интернет, а через специальную точку доступа без интернета, в определенном месте планеты, да ещё и для этого ставить ПО?
Почему вы называете себя интернет-провайдером, при этом не предоставляете доступ в интернет, а ваш проект не нацелен на объединение сетей (а нацелен на построение новой)?
Зачем вы пишете об этом на хабре, так часто, когда у вас еще ничего толком не готово?
Я бы понял, если бы вы писали прямо: проект нацелен на эксперименты с Mesh-сетями и попытку построения такой, потому, что это круто. Но нет, вы называете себя децентрализованным интернет-провайдером, хотя вы не интернет-провайдер, и децентрализации у вас особой нет.
podivilov Автор
Отвечаю на Ваши вопросы.
> Почему вы называете себя интернет-провайдером, при этом не предоставляете доступ в интернет, а ваш проект не нацелен на объединение сетей (а нацелен на построение новой)?
Интернет-провайдер — это организация, предоставляющая услуги доступа к сети Интернет и иные связанные с Интернетом услуги. На данный момент Medium работает в режиме оверлея, то есть уже поверх существующей сети Интернет — и хотя через Medium нельзя попасть в обычный, «чистый» Интернет (также иногда называемый Clearnet), на транспортном уровне Medium тесно связан с этой сетью. В дальнейшем, когда Medium сможет позволить себе отказаться от использования транспорта сети Интернет и перейти на свой собственный, его всё также можно будет называть интернет-провайдером — потому что Интернет по определению являет собой не что иное, как «Interconnected Networks» — «Сеть Сетей».
> зачем мне, пользователю, относящемуся к IT-сообществу, который знает и использует оверлейные сети, у которого установлены несколько нод Tor, I2P, ZeroNet, Tahoe-LAFS, и который держит несколько публичных точек Wi-Fi, может потребоваться подключиться к Yddgrasil не просто через интернет, а через специальную точку доступа без интернета, в определенном месте планеты, да ещё и для этого ставить ПО?
В действительности нет никакой необходимости делать это. Но все проекты начинались с малого, и будет глупо полагать, что если ничего не делать, то потом внезапно сеть разрастётся. Конечно, не разрастётся. Это такой своеобразный PoC.
> Зачем вы пишете об этом на хабре, так часто, когда у вас еще ничего толком не готово?
В основном — для привлечения новых разработчиков. Без публикации статей на Хабре мы бы не смогли получить фидбэк от пользователей, которые направили нас в РосКомСвободу. И сеть бы оставалась на I2P, потому что некому было решать её судьбу.
ClearAirTurbulence
ИМХО переводить clearnet как «чистый» интернет крайне некорректно.
Здесь clear используется в значении «незашифрованный» (as in sending in the clear).
podivilov Автор
Спасибо за ценное замечание, учту.
KonstantinSpb
семантика слова clearnet все же больше в сторону прозрачная сеть, нежели незашифрованная, т.к. в clearnet есть https. А под прозрачностью понимается отсутствие промежуточных оверлейных сетей между клиентом и сервером.
ValdikSS
Интернет — это определённая сеть, в которой мы сейчас с вами общаемся, а не абстрактное понятие «сеть сетей», хоть она так и расшифровывается. Не задумывались, почему Интернет пишут с большой буквы?
Если следовать вашей логике, Yddgrasil и I2P — тоже интернет-провайдеры, ведь это сети, работающие поверх интернета. Очевидно, что они не являются интернет-провайдерами.
Пожалуйста, именно так и пишите о Medium, чтобы у читающего не создавалось ошибочного впечатления, и не называйте себя интернет-провайдером.
ValdikSS