Pull to refresh

Comments 71

Сеть использует весь диапазон IPv6 или есть выделенные префиксы под неё?
Выделенный, отличный от cjdns

Will Yggdrasil conflict with my network routing?

Yggdrasil uses the 0200::/7 range, which is a range deprecated by the IETF. It has been deprecated since 2004, pending changes to an RFC which simply never materialised 14 years later. It was decided to use this range instead of fc00::/7 (which is more typically allocated to private networks) in order to prevent conflicts with existing ULA ranges.

Подойдёт ли данное решение для защищённого общения микросервисов (обмен данными) на разных VPS в интернете и доступа к ним с локальной машины? Какие скорости?

Через сеть где самая слабая железка — Raspberry pi — выдает 50 мб/с iperf'ом

По идее решение может подойти, однако надо учитывать, что сеть молодая и в продакшене использовать может быть опасно/нестабильно.
Ну то есть конфа примерно следующая: ставлю Игдрасилль на каждый сервер куда хочу иметь доступ с ноутбука, далее ставлю на ноут и при наличии интернета имею доступ к каждому серверу? (как впн по сути) При таком раскладе могу я повесить доступ к PostgreSQL/MongoDB на сетевой интерфейс Игдрасилля?
только вы коннект настроить не забудьте между серверами и ноутом.

Если вы ограничите доступность сети только вашими серверами — я думаю вешать СУБД на этот порт можно, как дополнительный элемент безопасности — можно фаерволом ограничить доступ только с вашего IPv6 который получит ноутбук.
Это можно сделать через tor, будет более менее скорость habr.com/ru/post/237019
Через тор удобно, когда все устройства за NAT или даже за прокси. Если хотя бы 1 устройство с белым IP, лучше обычный VPN через него.
А есть публичные прокси через которые можно карту например посмотреть? По ней похоже что если вырубится центральная точка то сеть развалится на три части.
Прокси нету, карта отображает только дефолтные маршруты, все существующие маршруты но не используемые — скрыты, на github идет обсуждение включения передачи всех маршрутов
yggdrasil-map.cwinfo.org

В списке сервисов в самом низу отметились 2 героя, предоставляющих открытые прокси для просмотра обычных сайтов через них изнутри этой сети.
UFO just landed and posted this here
В случае белых списков не будет работать ничего, однако только 1 страна использует белые списки.

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

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

Рассмотрим совсем плохой сценарий

В стране Х внедрены белые списки, однако иностранцы могут использовать роуминг при поездах по стране.

  1. Иностранец используя SIM своего домашнего оператора регистрируется в сети местного оператора
  2. Устанавливается туннель до домашней сети в которой нет белых списков
  3. У иностранца установлен клиент yggdrasil который устаналивает локальное (P2P) соединение c местными узлами
  4. Трафик маршрутизируется через него


Цена трафика сейчас — 10$ за гб в роуминге, не так дорого если рассматривать как гарантированный вариант доступа.
Цена трафика сейчас — 10$ за гб в роуминге, не так дорого если рассматривать как гарантированный вариант доступа.
Как вы думаете сколько гигов трафика пойдет через такой узел в сутки?
Вы уверены, что некий иностранец будет платить из своего кармана такую цену за доступ остальных людей через его узел?
За всю сеть иностранец платить не будет, а вот за друзей/семью иностранцев — вполне.
По идее решение может подойти, однако надо учитывать, что сеть молодая и в продакшене использовать может быть опасно/нестабильно.


Все что нужно знать.
Они об этом прямо на первой странице пишут, однако я бы делал скидку на то, что понятие «стабильность» — для каждого своё, у Google gmail был в бете очень долго. А тум мы говорим о некоммерческом проекте.

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

Памяти кушает мало — 7-15 мб.
Кто-то будет читать эту статью и через три года, там всё может быть иначе.
Понадобилось даже не 3 года, а меньше 3х месяцев
image
Очень странно, сейчас такой ямы нет:
image

Отличные новости. CJDNS был прекрасен, но работал нестабильно. Попробуем еще раз. Мешсети так или иначе быть.

И сколько у Вас опыта с этим? Хотелось бы развернутый ответ.

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


cjdns требует настройки. И на моем raspberry pi посему-то отваливается на вторые сутки работы.

Не очень хорошо, что сеть не даёт анонимность.
Если взять два узла, у которых есть белый IP — соединение между ними всегда будет установлено напрямую, или всегда будет использоваться несколько промежуточных узлов как в Tor/I2P, или возможны оба сценария в зависимости от доступных моему узлу данных о роутинге?
Как у неё по скорости, если сравнивать с Tor и I2P?


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

Как и cjdns сеть не ставить цель был анонимной, приватной — да.

По поводу VPN — не на localhost, вы можете подключатся по yggdrasil-IPv6 адресу к вашему VPN а он уже будет предоставлять доступ в обычный интернет.

Другими словами можно сделать так:
  1. На сервере устанавливаем yggdrasil и VPN (теперь к VPN можно подключится из интернета и из yggdrasil)
  2. На сервере добавляем публичного пира Y
  3. На клиенте устанавливаем yggdrasil и добавляем публичного пира X
  4. На клиенте вписываем v6 адрес сервера


Как итог — клиент будет подключатся к вашему VPN через сеть yggdrasil а не напрямую (при желании конечно можно и напрямую, смотря какая цель)
Кстати, если мне не изменяет память, разработчики Yggdrasil неоднократно заявляли, что в рамках проекта они обкатывают новую модель маршрутизации с намерением внедрить её затем в cjdns.

Но может случиться и так, что Yggdrasil заменит cjdns, да.
Как же я люблю такой zeroconf… и сразу через абзац идет с десяток консольных команд :)
Завел на винде. Вроде работает. Карту глянул, вики полистал. Дальше куда идти? Непонятно.
ирка, трекеры — были в i2p уже для анонимности, и в clearnet для всех отстающих.
Тему взаимодействия с zeronet можно было б раскрыть и побольше.
И список сервисов не линком, а пересказать, а то статья как-то жиденько выгдядит.
Интересно, retroshare взлетит на этом интерфейсе автоматом...? По идее должна, но с другой стороны, если нет друзей с сабжем, ловить там некого.
Название шикарное. Как это вообще читается?

Yggdrasil — популярное древо мира или древо жизни из мифологии. Произносится как "Иггдрасил", "Иггдразиль" и т.п. в зависимости от языка.
https://en.wikipedia.org/wiki/Yggdrasil

С точки зрения законности, нужно ли владельцам нод лицензироваться как оператор связи (как например в некоторых случаях с технологическими сетями https://habr.com/ru/company/oleg-bunin/blog/440814/ )? И какие могут быть последствия с точки зрения штрафов за подобное использование, учитывая, что трафик этой сети никак себя не скрывает. И есть ли вообще у трафика внутри сети какие-то метки, на которые можно настроить DPI что бы отключить именно эту сеть?

UFO just landed and posted this here
А I2P чем не устроил?
(ну, кроме того, что оно на яве, тормозит и машину грузит. Зато приватность)

Опять будет 16 конкурирующих стандартов?

О, я почему-то думал, что С-версия ещё в стадии ранней альфы. Благодарю.

Ну и тем более тогда, нафига этот Иггдрасиль нужен? Без приватности-то.
Оно уже давно пригодно для использования, хотя не без глюков, и значительно легче, чем i2p-java. Есть готовые пакеты для популярных ОС.
Если я правильно понимаю, они не совсем альтернативы друг другу, они могут друг друга дополнять. Но в плюсовом i2pd IPv6 пока работает как-то странно.

Основная проблема I2P не в том, что демон слишком тяжёлый из-за Java, а в том, что скорость работы самой сети довольно медленная.

Мало пиров, вот и медленно.
Потому и спрашиваю, зачем альтернатива, да ещё и без приватности. Пиарили б i2p, всё б летало. Но почему-то вместо этого пилят альтернативы. У i2p видимо, «фатальный недостаток» с т.з. разработчиков Игг.
Самому I2P для работы нужен работающий интернет, а cjdns/ygg — это и есть интернет, некоторая его разновидность, которая может обходиться без провайдеров.
Из статьи это как-то не очевидно.
Вот провайдер заблочил всё, кроме kremlin.ru. Чем к пирам Ygg подключаться? Из палок и верёвок городить радиоканал на 433 мгц на малинке?
Ладно, будем разбираться.
Радиоканал на любом беспроводном маршрутизаторе с OpenWrt на 2.4 или 5 ГГц.
I2P не нужен для работы интернет. Он не завязан ни на какие центральные узлы, которые нельзя бы было изменить.
Ему нужна хоть какая-то компьютерная сеть на основе IP, не этот Интернет, а что-то интернето-подобное. Так?
Да, просто IP-связность.
А контрольной панели в веб-интерфейсе оно не имеет? Что-то найти не могу.
Как-то непонятно, чем отличается от уже существующей I2P.
Насколько понимаю, они работают на разных уровнях, их нельзя сравнивать напрямую.
yggdrasil как и cjdns может работать как через интернет так и локально, два пира рядом — создадут линк сами через бродкаст/мультикаст найдут друг друга
Главная задача I2P — делать анонимные соединения поверх IPv4/IPv6 сетей.

У ygg совсем другая задача (об этом написано в статье), но обе сети можно сочетать:

— yggdrasil поверх I2P. Это дает «Location privacy», возможность двум (и более) сегментам сети yggdrasil соединяться, и при этом не раскрывать свой настоящий IP адрес в обычном Интернете.

— I2P поверх yggdrasil. Анонимизация внутри Mesh сети, пока что смысла в этом нет, но теоретически, если весь интернет перейдет на использование Mesh, будет очень кстати.
Ну выглядит, что проще добавить всё это в до сих пор неособо популярную I2P, чем городить ещё одну «сеть-в-сети».
Назначение у сетей разное, задача I2P — аннонимизация трафика, cjdns/yggdrasil — замена сетевого уровня по модели оси.
Netsukuku была способна работать поверх wifi меш-сетей. И она заменяла третий(сетевой) уровень в модели OSI.
А Иггдрасиль так может? Потому что работать поверх интернета вообще не вариант, если его не будет.
Netsukuku сейчас в каком состоянии? померла?

Да вроде того.
Автор собрался её переписывать и как-то всё сошло на нет.

Решили однажды разрабы свой интернет создать.
Вышел Netsukuku, решил с оверлейной сети начать, и умер.
Решили другие разрабы свой интернет создать.
Вышел CjDNS, решил с оверлейной сети начать, и умер.
В третий раз пошли разрабы свой интернет создавать.
Вышел yggrasil, решил с оверлейной сети начать...

И хочется отметить есть прогресс:
  • Netsukuku дал идею и плохую поддержку и реализацию
  • Cjdns дал первую сеть из 500+ узлов и работающий Mesh в торонто
  • Yggdrasil дал iOS клиент


Еще несколько итераций и будет хорошо
Решили однажды разрабы децентрализованную замену вебу сделать, и получилось: zeronet.

Хорошо, что получилось сделать централизованную замену веба.
Очень жаль, что не получилось собрать deb-пакет с systemd-юнитом.

Последние новости о сети cjdns датируются 2017 годом
Разработка идёт, последний коммит от CJD был в октябре 2018. Разработка ведётся не в ветке master. И для CJD характерно именно такое поведение: раз в несколько месяцев появиться, ударно накоммитить и исчезнуть.
кстати, автор проекта сидит у нас в англоязычном сабчатике (https://t.me/idistributed — правда через бридж matrix)
Не в мастере — не считается, да и с 2017 года в сети не появилось никаких важных вещей о которых просили — поддержка мобильных в то числе.

Я не предлагаю хоронить cjdns вот прямо сейчас, но на мой взгляд — yggdrasil уже сейчас умеет все тоже самое + уже есть свои фичи и динамика разработки меня сильно радует.
это не TOR, таким образом риски «быть прокси» — пропадают.

Для тех кто помнит дело Богатова и опасается быть выходной нодой тора проксей могу сказать что входной нодой сейчас тоже быть не рекомендуется. Пока за это еще не сажают, но уже сейчас товарищ майор бдит и записывает кто и куда гоняет udp трафик в виде openvpn особенно если большом объеме. Да и те же РКНовские краулеры которые ищут и банят телеговские прокси без суда и следствия.
Так что если у вашего Иггдрасиля есть какая-то сигнатура по которой можно отследить его через DPI — у меня для вас плохие новости
Еще есть похожий на описываемое в статье Meshbird, «русскоязычными» программистами сделанный.
golangshow.podfm.ru/index/43
Довольно хорошая разработка, к сожалению, прекратили поддержку FreeBSD, а Yggdrasil поддерживает.

Еще один метод защиты от блокировок (будущих) с нарушением сетевой связанности

Да ну…
По мне так он для другого прежде всего — удобный способ объединения распределенной системы. Например, реализация собственного кластера.
Вот Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича, да взять бакенбарды Балтазар Балтазаровича Iggdrasil скрестить с аналогом WeChat, то получится альтернативный интернет.
А IPv6 в сети постоянный или меняется при каких то условиях?
IP соответствует приватному ключу шифрования, который хранится в конфиге. Если вдруг надо сменить IP, можно просто сгенерировать новый конфиг, или заменить приватный ключ на новый.
Yggdrasil, — отличная идея, но хочется несколько вещей плюсом:
1. Mutiple Spanning Trees — Поддерживать не одно, а несколько параллельных различных деревьев маршрутов (с разным корнем) с целью балансировки трафика/нагрузки на маршрутизаторы и очень быстрого переключения/отказоустойчивости. В идеале нужно иметь свой корень на каждом континенте.
2. Хочется чтобы трафик между узлами шел по кратчайшему (или более короткому) пути, а не повторял структуру дерева (это частично реализовано). Хочется иметь несколько маршрутов до узла и балансировать трафик между ними (выбирать лучший). Это должно уменьшить задержки и решить проблему со «слишком умными» шэйперами.
3. UDP транспорт поверх интернета.
Sign up to leave a comment.

Articles