Как стать оператором децентрализованного интернет-провайдера «Medium» и не сойти с ума. Часть 1

  • Tutorial
Добрый день, Сообщество!

Меня зовут Михаил Подивилов. Я являюсь основателем общественной организации «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»:

  1. Клиент подключается к скрытой беспроводной сети с SSID «Medium»
  2. Клиент запускает роутер Yggdrasil с ключом -autoconf
  3. Клиент использует ресурсы сети «Medium»

В настройках беспроводного вещания вашего маршрутизатора укажите SSID «Medium» и тип шифрования «без пароля». Также не забудьте отключить вещание идентификатора SSID — сеть должна быть скрытой.



Шаг 2. Настройка «Captive Portal»


«Captive Portal» — это технология, позволяющая беспроводным точкам доступа перед входом в сеть показать веб-страницу, на которой содержится перечень действий, необходимых к выполнению для подключения к сети.

Например, это может быть авторизация посредством использования одноразового кода из SMS — согласно действующему российскому законодательству все юридические лица и индивидуальные предприниматели, раздающие Wi-Fi на бесплатной основе, должны идентифицировать клиента посредством использования SMS.

В «Medium» такой потребности нет — здесь технология «Captive Portal» необходима для того, чтобы предоставить конечному пользователю возможность загрузки программного обеспечения, необходимого для работы в сети.

Если ваш беспроводной маршрутизатор поддерживает технологию «Captive Portal», используйте готовый шаблон, разработанный сообществом.



Шаг 3. Настройка клиента Yggdrasil


Чтобы клиент, подключенный к вашему беспроводному маршрутизатору, смог использовать ресурсы сети «Medium», необходимо настроить и запустить на вашем ПК, подключенном к беспроводной сети, копию Yggdrasil.

Используйте следующее руководство, чтобы правильно сконфигурировать вашу копию Yggdrasil.



Шаг 4. Добавьте вашу точку доступа в публичный перечень всех точек доступа сети


Дело за малым — теперь осталось добавить вашу точку доступа в публичный перечень всех точек доступа сети. Это необязательно, но желательно, если вы хотите, чтобы пользователям сети было легче вас обнаружить.





Читайте также:


Мы в Telegram: @medium_isp

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

Альтернативное голосование: нам важно знать мнение тех, кто не имеет полноправного аккаунта на Хабре

Medium
153,18
Децентрализованный интернет-провайдер
Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама

Комментарии 16

    +5
    Каждый раз, читая ваши статьи, я бешусь от того, что вообще не врубаюсь в концепцию. Видимо, всем всё очевидно, а я недоумеваю, как это в принципе предполагается использовать, в каких случаях, и какова предполагаемая пользовательская база.

    Итак, если я правильно всё понял:
    • Medium — сообщество, цель которого — построить Mesh-сеть с использованием ПО оверлейной сети Yggdrasil и предоставить конечным пользователям возможность подключения к сети с помощью публичных точек доступа Wi-Fi.
    • На данный момент развития проекта, подключиться к Medium можно как от ближайшей установленной точки доступа через Mesh, так и через интернет, с использованием любой ноды сети Yggdrasil (не только ноды Medium, а вообще любого участника Yggdrasil)
    • Публичные точки доступа Medium, представленные для подключения конечным пользователям, не предоставляют доступа в интернет.
    • Конечный пользователь не может просто подключиться к точке доступа и получить доступ в Yggdrasil, ему нужно установить клиент Yggdrasil на свой компьютер.


    Идея построения Mesh-сети у меня не вызывает вопросов: ясна и концепция (построение сети передачи данных с использованием привычных протоколов), и сфера применения (передача данных без использования инфраструктуры существующих коммерческих провайдеров, независимость от них).

    Вопрос: зачем это в принципе может быть нужно конечным пользователям?
    • Пользователи не могут просто подключиться к точке доступа и получить доступ в Yggdrasil, им нужно для этого ещё и установить Yggdrasil на свой компьютер, настроить его, и только тогда они получают доступ. Клиента для Android, как понимаю, нет (на оф. сайте нет, у вас в репозитории нет apk или инструкции), для iOS — только Test Flight, т.е. для установки нужен интернет, которого внутри Wi-Fi-точки нет. В шаблоне captive portal у вас нет ссылок на ПО, а ресурсы css и js загружаются из интернета.
    • Как я понимаю, сам Medium не предоставляет каких-либо собственных сервисов (по ссылке «List of available services» ничего нет).


    Я иду в место, где установлена публичная точка доступа Medium, и подключаюсь к ней. Что мне делать дальше? Какими сервисами я могу пользоваться? Что конечного пользователя должно мотивировать, чтобы идти в определенное место и подключаться к точке без интернета?

    У проектов портативных точек доступа вроде PirateBox понятны задачи, которые они решают: предоставить возможность чатиться и обмениваться файлами между клиентами точки доступа Wi-Fi. Это удобно использовать для коммуникаций в среде с плохим покрытием интернета, на каких-то мероприятиях, для связи людей на ограниченной физической территории. PirateBox не требует установки дополнительного ПО и имеет простой интерфейс.

    Какие задачи, с точки зрения конечного пользователя точки доступа Wi-Fi, решает Medium?
      +2
      Когда в своем чате distributed обсуждали эти вещи, то в принципе пришли к выводу, что в наших реалиях будет рулить нечто такое:

      — Роутер на OpenWRT
      — Имеет свои точки закрытые домашние обычные
      — Имеет 802.11s точки и просто открытые точки, которые не выпускают в интернет напрямую, но выпускают в тот же CJDNS (Yggdrassil до кучи).
      — Знающий пользователь может выйти в интернет через свой интернет или TOR.

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

      Да, это кейс не для совсем конечного юзера, но с этим теоретичесми можно идти к гкам и строить первые сети хотя бы в общагах студенческим и прочих местах с повышенной концентрацией задротов на квадратый метр (:
        0
        Прежде всего, 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. Участники сообщества с радостью ответят на все интересующие Вас вопросы.
          +2
          Которой, чего таить, ни у нас, ни во многих других странах — нет.

          Тем не менее, mesh-сети существуют, в том числе и сравнительно крупные (1, 2). Также есть большие сообщества вокруг них: Libremesh, Battlemesh. Нужно было начинать с ознакомления с возможностями маршрутизаторов, протоколами маршрутизации, анализа уже существующих проектов, их преимуществ и недостатков.

          Вы не ответили на мой вопрос: зачем мне, пользователю, относящемуся к IT-сообществу, который знает и использует оверлейные сети, у которого установлены несколько нод Tor, I2P, ZeroNet, Tahoe-LAFS, и который держит несколько публичных точек Wi-Fi, может потребоваться подключиться к Yddgrasil не просто через интернет, а через специальную точку доступа без интернета, в определенном месте планеты, да ещё и для этого ставить ПО?

          Почему вы называете себя интернет-провайдером, при этом не предоставляете доступ в интернет, а ваш проект не нацелен на объединение сетей (а нацелен на построение новой)?

          Зачем вы пишете об этом на хабре, так часто, когда у вас еще ничего толком не готово?
          Я бы понял, если бы вы писали прямо: проект нацелен на эксперименты с Mesh-сетями и попытку построения такой, потому, что это круто. Но нет, вы называете себя децентрализованным интернет-провайдером, хотя вы не интернет-провайдер, и децентрализации у вас особой нет.
            –1
            Отвечаю на Ваши вопросы.

            > Почему вы называете себя интернет-провайдером, при этом не предоставляете доступ в интернет, а ваш проект не нацелен на объединение сетей (а нацелен на построение новой)?

            Интернет-провайдер — это организация, предоставляющая услуги доступа к сети Интернет и иные связанные с Интернетом услуги. На данный момент Medium работает в режиме оверлея, то есть уже поверх существующей сети Интернет — и хотя через Medium нельзя попасть в обычный, «чистый» Интернет (также иногда называемый Clearnet), на транспортном уровне Medium тесно связан с этой сетью. В дальнейшем, когда Medium сможет позволить себе отказаться от использования транспорта сети Интернет и перейти на свой собственный, его всё также можно будет называть интернет-провайдером — потому что Интернет по определению являет собой не что иное, как «Interconnected Networks» — «Сеть Сетей».

            > зачем мне, пользователю, относящемуся к IT-сообществу, который знает и использует оверлейные сети, у которого установлены несколько нод Tor, I2P, ZeroNet, Tahoe-LAFS, и который держит несколько публичных точек Wi-Fi, может потребоваться подключиться к Yddgrasil не просто через интернет, а через специальную точку доступа без интернета, в определенном месте планеты, да ещё и для этого ставить ПО?

            В действительности нет никакой необходимости делать это. Но все проекты начинались с малого, и будет глупо полагать, что если ничего не делать, то потом внезапно сеть разрастётся. Конечно, не разрастётся. Это такой своеобразный PoC.

            > Зачем вы пишете об этом на хабре, так часто, когда у вас еще ничего толком не готово?

            В основном — для привлечения новых разработчиков. Без публикации статей на Хабре мы бы не смогли получить фидбэк от пользователей, которые направили нас в РосКомСвободу. И сеть бы оставалась на I2P, потому что некому было решать её судьбу.
              0
              ИМХО переводить clearnet как «чистый» интернет крайне некорректно.
              Здесь clear используется в значении «незашифрованный» (as in sending in the clear).
                0
                Спасибо за ценное замечание, учту.
                  0
                  семантика слова clearnet все же больше в сторону прозрачная сеть, нежели незашифрованная, т.к. в clearnet есть https. А под прозрачностью понимается отсутствие промежуточных оверлейных сетей между клиентом и сервером.
                  +2
                  Интернет-провайдер — это организация, предоставляющая услуги доступа к сети Интернет и иные связанные с Интернетом услуги.
                  Так и есть. Medium — mesh-сеть с доступом в оверлейную сеть Yggdrasil. Medium — не интернет-провайдер, не подменяйте понятия, пожалуйста.

                  В дальнейшем, когда Medium сможет позволить себе отказаться от использования транспорта сети Интернет и перейти на свой собственный, его всё также можно будет называть интернет-провайдером — потому что Интернет по определению являет собой не что иное, как «Interconnected Networks» — «Сеть Сетей».
                  Интернет — это определённая сеть, в которой мы сейчас с вами общаемся, а не абстрактное понятие «сеть сетей», хоть она так и расшифровывается. Не задумывались, почему Интернет пишут с большой буквы?

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

                  Это такой своеобразный PoC.
                  Пожалуйста, именно так и пишите о Medium, чтобы у читающего не создавалось ошибочного впечатления, и не называйте себя интернет-провайдером.
                    0
                    Медиум называет себя интернет-провайдером потому как интернет — это сеть сетей, interconnected networks. В этом заключается протест и несогласие с обычным Интернетом исходя из тех принципов, на которых он построен. Чисто технически Медиум от Интернета отличается только тем, что в Медиуме нет гугла, фейсбука и иже с ними. Это я очень утрирую, но суть должна стать более понятной.

                    Медиум спокойно можно называть интернетом, если абстрагироваться от того, что он построен на схожих с обычным Интернетом принципах, где основное отличие заключается в том, что услуги предоставления доступа к сети может оказывать каждый из участников на безвозмездной основе. Акцентирую внимание ещё раз на том, что ISP он называет себя в большей степени потому, чтобы привлечь общественное внимание и выразить несогласие с теми принципами, на которых построен обычный Интернет.
                      0
                      Это я очень утрирую, но суть должна стать более понятной.
                      Увы, непонятно. Похоже, вы не до конца понимаете суть interconnected networks. Interconnected networks — это когда у вас была сеть уровня организации или даже города, состоящая из многих коммутаторов, маршрутизаторов и конечных устройств, и в другом городе была такая же. Их объединили в одну — получилась interconnected network.

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

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

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

                        Вы судите Medium с пораженческой позиции. К примеру, в Коломне сейчас есть несколько точек, связанных меж друг другом по 802.11s. По 802.11s, насколько мне известно, также работает несколько точек в Самаре и Челябинске.

                        Да, для того, чтобы связать отдельные сегменты (Коломна, Самара и Челябинск), необходимо нырять в Интернет. Но тогда я не вижу, в чём заключается проблема. Эта инфраструктура вполне себе попадает под определение, которое Вы привели выше.

                        Не вижу смысла дискутировать больше, эффективного общения у нас не получается.

                        В любом случае, спасибо за ценные комментарии.
                    0
                    В действительности нет никакой необходимости делать это.
                    Но в чём тогда идея проекта? Ведь основной ваш упор на то, чтобы предоставлять доступ в Yggdrasil потенциальным пользователям, с помощью Wi-Fi-точек. Если вы не можете мне, гику, объяснить, зачем это нужно, то как это объяснить другим людям, не связанным с IT-индустрией?
              +3
              Складывается ощущение, что вы как слепые котята туда-сюда шевелитесь. То выпускали в особо никому ненужный i2p только, то сейчас добавили Yggdrassil со спорным роутингом (плохо масштабируется). Могли бы сначала почитать наработки и статьи по темам на том же хабре (моя старая, например habr.com/ru/post/277721), зайти пообщаться в сообщество Distributed. Ведь там можно сформулировать кейсы типа, что можно применять, а что не стоит. Надо ли ограничиваться конкретными инструментами типа yggdrassil или стоит параллельно оставить место для того же CJDNS? Пообщаться с создателем последнего, например?

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

                Что я не понимаю: зачем используются какие-то усложненные технологии? Почему нельзя сделать сеть совместимой со стандартной конфигурацией популярных ОС вроде Linux, Android, Windows, Mac? Чтобы человеку достаточно было просто подсоединиться и получить доступ к децентрализованной сети, иметь возможность работать через стандартный браузер?


                И тут, не уверен, что стоит это делать:


                Это необязательно, но желательно, если вы хотите, чтобы пользователям сети было легче вас обнаружить.

                А еще вас будет легче обнаружить сотрудникам ФСБ и СК и завести дело об оказании услуг связи без получения телематической лицензии. Указывать координаты с точностью до 10 метров — не лучшая идея.

                  0
                  Ой, да там целый список нарушений за такую точку приписать можно. Чуть больше чем за простой публичный WIFI.

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое