Comments 93
Сеть Yggdrasil заблокирована в России. По крайней мере у Дом.Ру.
Что именно заблокировано? Веб-сайт? Или какой-то конкретный публичный пир?
Протокол. Две недели назад пытался подключиться. Без КВН не смог.
Что-то у вас специфичное. Либо пир выбрали заблокированный по какой-то другой причине, либо ваш провайдер дурит. У всех людей в русскоговорящем сообществе всё работает.
На самом деле хороший вопрос.
Все работает - отлично. Но если в перспективе весь незнакомый трафик будет резаться (уже режется в некоторых регионах), то для подключения к публичному пиру нужен мимикрирующий транспорт.
Несколько серверов на разных провайдерах. Подключаюсь ко всем напрямую без проблем, точки входа и выхода домру, рт, гмтс, мтс, билайн - все работает.
Ок. Попробую еще раз, попозже.
Круто, спасибо, подключился! Но:
Что всё-таки делать с отсутствием https? Пока не видел ни одного сайта с ним.
Была информация, что нужно использовать отдельный файерволл, т.к. виндовый воспринимает входящий траффик как локальный и всё пропускает. Any comments?
HTTPS в принципе внутри сети не нужен, так как трафик и так шифруется. НО! Ничего вам не мешает использовать обычные домены с IPv6-адресами Иггдрасиль, и выпускать нормальные TLS-сертификаты на такие сайты у того же Let's Encrypt. Вот пример: https://start.yggdrasil.link
В винде часто VPN-интерфейсы считаются приватными сетями, желательно переключить интерфейс в режим публичного, команду можно нагуглить.
2. Бывают случаи, когда пользователь заходит в проводнике в “Сеть”, появляется уведомление "общий доступ к файлам отключен" - если включить, то Yggdrasil сеть становится или приватной (другие правила брандмауэр), или для всех публичных сетей открывается доступ к файлам. Тут за Win нужно приглядывать.
Но дополнительный firewall не вижу смысла ставить, все решается через брандмауэр.
Обычно Yggdrasil является публичной сетью в Windows.
В своих кейсах использовал такой .cmd быстрой настройки
# Сделать сеть Yggdrasil публичной
powershell -Command "Set-NetConnectionProfile -InterfaceAlias 'Yggdrasil' -NetworkCategory Public"
# Отключить все правила на входящие подключения в брандмауэер для публичных сетей
powershell -Command "Get-NetFirewallRule -Direction Inbound | Where-Object { `$_.Profile -match 'Public' } | Disable-NetFirewallRule"
# Открыть необходимые порты для всех сетей
# Ping IPv6 всем
netsh advfirewall firewall add rule name="Ping IPv6" dir=in protocol=icmpv6 action=allow profile=any
# Открыть доступ к файлам и RDP конкретному пользователю Yggdrasil
netsh advfirewall firewall add rule name="Yggdrasil Client - user" protocol=TCP localport=139,445,3389 dir=in action=allow remoteip=201:cafe::cafe:cafe:cafe:cafe
Там же публичный (в пределах игдрасиля) адрес появляется? Надо фаирвол настраивать правильно. В типичном шиндоус компьютере итишника может быть открыто всё что можно и нельзя. Особенно сейчас когда приходится скакать по прокси и туннелям туда сюда не глядя по сторонам.
Не понятно что значит достаточно любого пира для связи со всеми и кто такие эти пиры.
Любой клиент в сети становится маршрутизатором для всех остальных что ли.
Если у меня в локальной сети несколько компов которым запрещено выходить в интернет и 1 кому разрешено то они все через него уйдут?
>>Любой клиент в сети становится маршрутизатором для всех остальных что ли
Вот да. Написано как будно для маршрутизации нужно скачать карту всей сети на устройство, либо опросить мультикастом всю сеть
на десятках-сотнях тысяч устройств перфоменс может встать и выйти
Насколько понимаю в yggdrasil можно управлять тем что можно и нельзя с помощью firewall. Т.е. на узлах промежуточных нужно разрешение для forward трафика.
Достаточно любого пира
Это значит, что достаточно любого публичного интернет-пира для связи. Затем карта сети передается вашему пиру. Пир - промежуточный узел.
Да, еще - в ygg есть возможность выдать локальным устройствам адреса из сети 300::/64, так вы можете например, с роутера соединить устройства с сетью ygg, которые не поддерживают установку клиента ygg.
Есть Tailscale - коммерческая оверлей сеть со множеством инструментов внутри. Есть описанная вами - несомненно интересная и имеющая преимущества перед Tailscale.
Вопрос - не задумывалось ли сообщество о коммерциализации, чтобы за счет этого вытаскивать из длительной беты в интенсивное развитие? Просто вижу динамику развития Tailscale и она радует.
При том что сам Tailscale остается в значительной части бесплатным (Headscale, базовые фичи).
Комерциализация открывает точку давления. Кажется сейчас этого стоит максимально избегать.
Да, но можно же разделять. Базовые возможности независимы, расширенные, с которых инвестируется базовые - коммерческие.
Примеров достаточно.
Корпоратам нужен VPN именно как сеть. Существующие протоколы скажем так, несовременны.
Если описанное решение может быть посажено для корпоратов, привиты дополнительные инструменты специфичные для корпоратов же, и с дохода автору статьи будет капать стимул - кажется хороший вариант.
tailscale это американская контора, как понимаю. В любой момент они могут сказать "извините санкции", и все накроется.
Спасибо за статью, интересный подход.
Какие-то другие алгоритмы кроме spanning tree рассматривали для вашей задачи? Идеи из DUAL, например?
И что происходит с сетью после выхода из строя root и перестроения? Как на трафик и топологию будет влиять нестабильный root и его частая смена (флапинг)?
Одно время казалось что проект помер как и Hyperborea. Те вроде так и не смогли побороть проблемы плохой связи при масштабировании и клиенты не дописали нормально...
Прикольно если у этого дерева будет какое-то развитие.
Если провайдер не поддерживает ip v6, будет работать через такого провайдера?
пользуюсь Yggdrsasil с момента версии 0.3 (сейчас 0.5 - дваждны ломалась совместимость).
1. удобно подключаться к своим linux cli по ssh - у меня IP не меняется для обоих сторон, хотя я могу фактически переключаться между разными интернет каналами, при отключении сети таймаута нет, сессии не отваливаются.
2. конечно же очень удобно ходить между своими хостами напрямую, не строя хитрые vpn схемы.
3. да, трафик идет через мои узлы - это нормально. на моих vps есть ygg, в том числе в listen режиме - по сути public node, но для меня.
4. когда падает интернет на одной части сети, но при этом есть L3 линк до соседнего узла на котором есть выход в интернет, то до yggdrasil узлов доступ будет.
5. на vps поднимаю белый сайт с nginx proxy_pass через yggdrasil до какого то моего физического устройства где исполняется что-то. например до IP камеры внутри сети, за несколькими NAT.
6. есть последователь идей Yggdrasil - Mycelium. не уверен что он лучше, там QUIC протокол используется вроде только, и маршртузиция по другому устроена. @Revertis может ещё расскажет об этом.
7. Да, в РФ в последние недели начинаются проблемы и с Yggdrasil тоже - коннект может залипнуть на минуты. это не постоянно, но уже бывает заметно.
8. Yggdrasil поддерживает возможность соединяться с хостами (примеры из документации) :
tcp://1.1.1.1:1234(TCP)tls://1.1.1.1:1234(TCP+TLS)quic://1.1.1.1:1234(QUIC+TLS)socks://2.2.2.2:2345/1.1.1.1:1234(TCP via SOCKS, i.e.tcp://1.1.1.1:1234via the proxy at2.2.2.2:2345)sockstls://2.2.2.2:2345/1.1.1.1:1234(TCP+TLS via SOCKS, i.e.tls://1.1.1.1:1234via the proxy at2.2.2.2:2345)unix:///path/to/sock.sock(UNIX)ws://1.1.1.1:1234orws://1.1.1.1:1234/path(WebSockets, Yggdrasil 0.5.7 or later only)wss://1.1.1.1:1234orwss://1.1.1.1:1234/path(WebSockets+TLS, Yggdrasil 0.5.7 or later only)
в итоге если заворачивать в socks5, то можно подключиться к своему комьютеру за LTE модемом в "безопастном" не-интернете, лагать конечно такой шелл будет, но лучше чем ничего.
Здравствуйте! Есть несколько известных реализаций децентрализованных сетей. Помимо Yggdrasil, есть например Zerotier, Tailscale, Netbird... Ищу наиболее полное их сравнение... Сложно, не находится. Сам пользуюсь Zerotier, но в активном поиске альтернатив. Поделитесь, пожалуйста, ссылками для сравнения. Заранее спасибо!
Это сравнение важно разделить на две группы: ZeroTier, Tailscale и NetBird — это корпоративные SDN-сети (программные сети), а Yggdrasil — это чистый Mesh-протокол.
Вот подробный разбор по ключевым критериям:
1. Архитектура и централизация
ZeroTier / Tailscale / NetBird: Это «звездообразные» сети (Hub-and-Spoke). У них есть центральный сервер управления (координатор). Он помогает устройствам найти друг друга и обменяться ключами. Если центральный сервер (или его домен) заблокируют в РФ, ваша сеть может перестать работать, пока вы не настроите собственный контроллер (например, Headscale для Tailscale).
Yggdrasil: Полностью децентрализован. В нем нет главного сервера. Устройства соединяются напрямую (P2P). Даже если «выключить» половину интернета, оставшиеся узлы продолжат общаться между собой.
2. Принцип работы IP-адресов
ZeroTier / Tailscale / NetBird: Создают виртуальную локальную сеть (обычно в диапазоне
10.x.x.xили100.x.x.x). Вы сами или контроллер назначаете адреса устройствам. Это удобно для удаленного доступа к домашнему ПК.Yggdrasil: Каждое устройство получает уникальный IPv6-адрес, который генерируется из вашего криптографического ключа. Этот адрес неизменен, где бы вы ни находились, и он глобально маршрутизируем внутри всей сети Yggdrasil.
3. Устойчивость к блокировкам (в РФ)
Tailscale: Базируется на протоколе WireGuard. WireGuard легко распознается системами DPI и активно блокируется многими провайдерами в РФ. Чтобы он работал, нужны дополнительные «костыли» (маскировка).
ZeroTier: Использует собственный протокол поверх UDP. Блокируется реже, чем чистый WireGuard, но центральные серверы (планеты) могут быть внесены в черные списки.
NetBird: Также использует WireGuard, поэтому риски блокировки протокола такие же, как у Tailscale.
Yggdrasil: Самый живучий. Может работать через TCP, TLS (маскируясь под HTTPS) и даже внутри других туннелей. Его сложнее всего «вырезать» целиком из-за отсутствия центральной точки отказа.
4. Простота использования
Tailscale / NetBird: Самые удобные. Вход через Google/Microsoft/GitHub, и всё работает «из коробки». Идеально для доступа к файлам или SSH.
ZeroTier: Чуть сложнее, нужно вводить ID сети, но всё еще очень дружелюбно к пользователю.
Yggdrasil: Для гиков. Нужно вручную искать пиров, править конфиг-файлы (на Android чуть проще, но всё же). Это инструмент не для «удобства», а для автономии.
Что выбрать?
Если нужно просто зайти на домашний комп из кафе — ставьте Tailscale (пока работает).
Если вам нужна независимая сеть, которая будет работать даже при жестких блокировках и "чебурнете" — выбирайте Yggdrasil.
Здравствуйте, я мало что в этом понимаю, но не могли бы вы обьяснить для чего Иггдрасиль нужен, он же не как впн, не обходит блокировки и тд. Для чего он?
Перечитайте статью ещё раз, пожалуйста.
не как впн, не обходит блокировки
Изначальное предназначение VPN тоже не для обхода блокировок.
Но интернет через впн всегда был, для защиты от публичных сетей, а это по сути одно и тоже.
Похоже что андроид не может 2 впна одновременно держать. При этом андроид клиент для yggdrasil сам не умеет перенаправить трафик на прокси в этой сети, как впн для интернета не пригодно вообще?
Для ламеров непригодно.
Это баг или фича?
Пахнуло элитарностью.
Сеть пока небольшая
Это не удивительно, если с неофитами общаться с таким снобизмом.
Да, согласен, — но я даю поблажку такому общению понимая, что статью пишет и ведет энтузиаст, видимо инженер проекта, если не один из создателей, и глаза у него — чую красные от работы!
— «Понимаешь?… товарищ.».
Плюс тема очень горячая.
ну посмотрите Вы на Линуса, который Торвальдс по отцу, — ну и чего, больно он любезный? Такой же крипто-фрик… без пресса ситуации
Простим? Хабр торт? Снисходим?
Христос Воскрес! /так или иначе❤️
На некоторых устройствах и в некоторых конфигурациях порог входа высок. Плюс, для выхода в инет нужен VPS в нормальной стране, и настроенный прокси, например. Думаете, ламеры с этим справятся?
Хочу запустить на Yggdrasil децентрализованный краудсорсинговый проект объективного анализа достоверности информации и репутации ее источников. Кто может помочь?
Зачем там Yggdrasil вообще?
А что-то вроде точек выхода в "обычный" интернет можно сделать? Если таких много создать, то это способствовало бы распространению
Это же ipv6 сеть. Всё что можно в обычной сети сделать, то же самое можно в yggdrasil повторить.
Насколько знаю ещё делают мосты между yggdrasil и tor и yggdrasil и i2p.
можно ли через узлы Yggdrasil проксировать свой выход в интернет, например, установив Yggdrasil на своём Нидерландском VPS-сервере? -
Да, это один из самых эффективных способов использования Yggdrasil для обхода блокировок. В такой схеме Yggdrasil выступает как транспортный уровень (защищенный туннель), внутри которого вы запускаете обычный прокси.
Поскольку Yggdrasil умеет маскироваться под TLS (порт 443), для цензуры это соединение выглядит как обычный веб-серфинг до вашего сервера, а внутри него идет ваш чистый интернет-трафик.
Как это реализовать (пошагово):
1. Настройка на стороне VPS (Нидерланды)
На сервере вам нужно запустить две вещи: сам Yggdrasil и прокси-сервер (например, Dante для SOCKS5 или Gost).
Установите Yggdrasil и настройте его на прослушивание входящих соединений по TLS (чтобы смартфон мог подключиться).
Установите прокси-сервер, который будет «слушать» только внутренний IPv6-адрес Yggdrasil вашего сервера.
Пример на Gost:
gost -L socks5://[ваш_yggdrasil_ipv6]:1080
Важно: Убедитесь, что в конфиге Yggdrasil на сервере разрешены входящие соединения (
Listen: [tls://0.0.0.0:443]).
2. Настройка на смартфоне (Android)
В приложении Yggdrasil в разделе Peers добавьте ваш сервер:
tls://IP_вашего_сервера:443.Нажмите Start. Теперь ваш смартфон видит сервер по его внутреннему адресу (начинается на
200:...).
3. Выход в интернет (два пути):
Вариант А: Через настройки прокси в приложениях (Рекомендуемый)
В Telegram или браузере (например, Firefox с расширением FoxyProxy) укажите:
Тип: SOCKS5
Хост: [Внутренний_IPv6_сервера_в_Yggdrasil]
Порт: 1080
Плюс: Трафик идет точечно, меньше нагрузка на батарею.
Вариант Б: Весь трафик через Yggdrasil (VPN-режим)
Для этого на сервере нужно настроить NAT и IPv6-форвардинг, чтобы он пересылал пакеты из сети Yggdrasil в большой интернет. Это сложнее в настройке (нужно править
iptables), но позволяет завернуть вообще весь трафик телефона в туннель.
Почему это лучше обычного VPN?
Устойчивость: При прочих блокировках ваш Yggdrasil-туннель (TLS) продолжит работать.
Скрытность: Вы подключаетесь к своему личному IP, которого нет в списках публичных VPN-сервисов.
Гибкость: Вы можете соединяться с сервером даже через цепочку других узлов, если прямой доступ к IP сервера вдруг ограничат.
Нейронка дала совет:
«Если вы хотите, чтобы ваш Telegram или WhatsApp работал через Yggdrasil (например, чтобы скрыть IP от провайдера или обойти блокировку), это делается так:
На Android: В приложении Yggdrasil включите тумблер «Enable VPN». После этого весь трафик телефона пойдет через Yggdrasil. Теперь Telegram будет думать, что вы выходите в сеть через VPN-узел вашего пира.
Через SOCKS5: Если на каком-то узле Yggdrasil поднят прокси-сервер (многие публичные узлы их предоставляют), вы можете прописать его адрес прямо в настройках Telegram (Настройки -> Данные и память -> Прокси).»
Рабочий ли...?
Второй пункт верен.
В приложении для андроида нет такого тублера. Чувак не надо сюда гопоту копипастить, это крипово.
Пытался завести телеграмм через socks5, через публичные узлы, и не заводится, пробовал через публичный [324:71e:281a:9ed3::fa11]1080, сама сеть Иггдрасиль работает в вот телеграм даже не пингуется
Есть у меня важный вопрос, потому что я сам подумываю над relay-системой. Самый главный вопрос всего этого дела - каждый пир должен знать адрес другого пира, то есть по сути скрыть адреса нельзя by design, иначе сеть упадет, т.к. сервер не узнает о следующем relay. К чем я это - как обходится проблема того, что просто получив адреса пиров, по очереди их резать? То есть условный бот подключается к сети, видит адрес пира, сразу отправляет его в блок на ТСПУ, передподключается - адрес уже другой, а прошлый в блоке, снова узнает адрес, снова в блок и while len(nodes) > 1? А оно ведь еще и параллелится.
Если вы подключаетесь к какому-то пиру, то только его айпи вы и можете видеть. То есть связать клирнет IPv4, например, с YGGv6. О том, какие IP в клирнете имеют другие пиры вы не узнаете.
Но я же могу его сразу в бан отправить? Запустить 1млн параллельных пиров не проблема даже для компании, а для них-то - плевое дело.
Зачем его в бан отправлять? Вы о чём?
Ну если я РКП. Я подключился к пиру, получил клирнет ipv4, сразу передал на ТСПУ - он заблокировал доступ к этому ipv4. И так я сделал параллельно с кучи VM, скажем, параллельно с 1млн VM (там как я понимаю мощность не нужна). Получил 1млн клирнет ipv4, забанил, повторил.
Я это все к тому, что если нет возможности прятать клир ipv4 от РКП, то сеть не устойчива к блокировкам. Я уже не первый месяц думаю, что сделать mesh-сеть с нодами, которые одновременно и relay и outbound до телеги (если есть доступ), а inbound через простую проксю до любой ноды - хорошая идея, но я не могу придумать алгоритм, который надежно маскировал бы ноды, иначе их можно все найти и забанить.
Я подключился к пиру, получил клирнет ipv4
Вы полностью не понимаете как это работает.
А объясните мне, пожалуйста, если не сложно, может я правда не понимаю, но как можно установить p2p, не зная клирнет IPv4?
Вы подключаетесь к сети УЖЕ ЗНАЯ клирнет-айпи некоторого пира. Айпи других пиров вы никак не узнаете, подключившись к сети.
Эта штука решает проблему централизованного впна. Глобальность для нее это побочный продукт, вобщем то ненужный.
Представь что у тебя есть несколько точек с белым адресом в интернете, допустим это роутер дома, роутеры в нескольких офисах и виртуальные серверы еще где то и ты хочешь их всех связать через впн (в локальную сеть так что бы ты мог с ноутбука из любого места доступаться в любое место в этой сети).
Если использовать обычный впн с выделенным сервером то когда он упадет/залагает/будет заблокирован, вся сеть перестанет работать, хочется его как то продублировать. А если он еще и будет связывать клиентов напрямую через дыры в нате и прямые соединения то вообще шикарно.
Если в конфигах yggdrasil будешь прописывать только свои собственные серверы то получишь то что надо, впн с несколькими взаимозаменяемыми серверами и с минимальными усилиями по настройке и поддержанию работоспособности.
Под блокировку тут могут попасть разве что виртуалки за границей.
Никакие IP адресса сети интернет не становятся открытыми. Пиры видят только ближайшие пиры, а те внутренние IPv6 адресса видят только «собеседники».
я так понял.
Другими словами: тов майор может войти в сеть, и максимум увидеть соседние пиры (и из внутренние в этой сети IPv6 адресса. Если он отправит адреса своих соседей в РКН, но либо не нейдут эти адреса в сети нормального интернета, либо они будут принадлежать каким-то реальным владельцам в нормальном интернете не в меш-сети Играсил. Как я понимаю.
Вопрос тут не столько в том, что он может увидеть глобально, сколько о том, что для p2p ему нужен реальный адрес в сети, а не адрес в mesh, если я правильно понимаю. То есть на каком-то этапе пакет, адресованный от клиента А клиенту Б должен смапить адрес mesh IPv6 на clearnet IPv4 (или IPv6), и я не понимаю, как можно это сделать, не раскрыв при этом адрес клиента Б? Какой-то внешний роутер а-ля DNS, но это ведь тогда та самая точка отказа, нет?
для p2p ему нужен реальный адрес в сети, а не адрес в mesh, если я правильно понимаю.
Неправильно понимаете.
пакет, адресованный от клиента А клиенту Б должен смапить адрес mesh IPv6 на clearnet IPv4 (или IPv6)
Нет, пакеты летают уже по созданной паутине, новых линков не образуется.
А, понял.
для внешнего наблюдателя наверняка найдется пачка инструментов, чтобы идентифицировать сам факт использования этой сети поверх сети интернет — это да. Точно так же как нынче палят ВПНы.
Спросите любой удобный для вас ИИ, ибо я не вникал еще в протокол.
Бегло прикинуть: можно на уровне приложения прятаться под почтовое приложение, другие варианты. Но думаю такого тама нету. возможно такое можно сделать сторонним разработчикам быстро и сердито, но я не знаю ничего об открытости протокола и прочее.
спросите ИИ детали, а потом к автору топика стучитесь.
Это о методах борьбы с впн в рф. Роскомнадзор местами даже на банальный ssh нападает, пытается его замедлять потому что через него можно сокс прокси пробросить.
Yggdrasil очень удобен для объединения небольших локальных сетей. Ему не нужен центральный сервер, трафик ходит напрямую. Все легко настраивается и маршруты выбираются автоматически.
Того же можно добиться с помощью openvpn, но не всем по силам его настроить и весь трафик будет идти через центральный узел (кстати, если сервер внутри страны и vpn используется для объединения локалок, то есть шанс что ркн его не тронии, по крайней мере пока, а если тронет, после гневного письма провайдеру, есть шанс что вернёт)
Первое время в ygg сталкивался с большим пингом. Потом поменял tls-соединения на tcp и quic и стало быстрее, чем через openvpn: если узлы слинкованы, трафик идёт напрямую, а не через центральный сервер.
Есть пакет для OpenWRT. Но рекомендую заводить его как отдельную зону на firewall и открывать доступ внутрь по белому списку.
Вообще, ygg задумывался как большая локалка для друзей, а не как даренит, в отличие от тех же i2p и tor.
А можно пример подобного объединения?
Иногда очень актуально.
Берём 2 локалки.
В качестве роутера используем openwrt на железке, с достаточным количеством flash (например, прошитый ax3000t)
На роутер ставим ygg с плагинами для luci
Создаем интерфейс для ygg. Прописываем входящие и исходящие пиры. Желательно, чтобы хотя бы на одной стороне был белый IP, можно динамический ipv6.
Настраиваем интерфейсы, чтобы внутри раздавались адреса ygg (начинаются с 300:)
Создаем зону для ygg в firewall. Прописываем стандартные правила "всех выпускать, никого не впускать".
Записываем префиксы, которые сгенерировались для наших подсетей. Создаем в firewall на каждом роутере белый список и разрешаем транзит для них.
В общем-то и все. Любое устройство с поддержкой ipv6 получит адрес и по этому адресу будет доступно из остальных сетей.
Особенность ipv6 сетей такова, что каждый интерфейс может иметь много адресов. Поэтому, если не накосячил с маршрутами, публичный ipv6 вполне будет работать параллельно с ygg.
Теоретически, если бы провайдеры нормально работали с ipv6 (не только давали доступ, но и выдавали постоянный префикс, который не менялся динамически - отдельные лучи поноса МГТС и всем мобильным операторам), а ещё лучше, если бы каждый мог бесплатно получить провайдеро-независимый префикс ipv6 и подключить его к нескольким провайдерам, то в ygg не было бы особой нужды. Но имеем, что имеем.
Отдельный профит ygg - любые p2p приложения (syncthing, jami, qtox и т.д.) гораздо лучше работают с прямыми адресами, чем через nat. Ygg - способ дать им такие адреса, когда остальные варианты не доступны. Можно добавить их порты в исключения на firewall.
Что будет, если ркн забанит публичные пиры в рф?
Подключитесь к непубличным, их дофига.
Их надо будет как то найти. И прописать в конфиг. Это самая странная особенность программы, найденные в процессе работы пиры не сохраняются про запас, механизма обновления публичных пиров нет, изначально ни одного пира нет, надежда только на локальное обнаружение.
Поднимите свои. Подружитесь с людьми.
Поднять свои сервера что бы пользоваться zero config оверлей сетью для которой не нужны сервера?
Кстати а насколько большой и сложный там код, если попросить клода добавить возможность автоматически сохранять\загружать всех виденных пиров которые отзывались за последние хх дней он справится или что то принципиально этому препятствует и лучше даже не начинать?
Сеть ygg предполагает, что вы прежде всего обединяетесь с теми, кто вам интересен. Дальше, если они имеют связь дальше, то через них пойдут маршруты.
Да, есть список публичных пиров для каждой страны (поднятых энтузиастами), но технология делалась для объединения локалок, а не для этого.
Прочитал и статью и комментарии. К сожалению, остались те же вопросы, что и уже получившие здесь ответы типа "вы полностью не понимаете, как это работает".
Попробую все-таки озвучить самй мучающий меня.
Это сеть скорее "для себя и друзей"? Видел здесь примеры с VPSками домой через Yggdrasil, командными играми за NAT. Т.е. "все условно знакомы".
Или скорее "общественная"? (иначе вряд ли бы шла речь о количестве пользователей, публичных пирах...)
Просто сценарий использования первого кейса мне понятен. И, вероятно, даже полезен. Но я напрочь не понимаю, как обеспечивать безопасность. На одном своем VPS подцепился к публичному пиру, и все остальные мои клиенты (смартфон, ноут) стали доступны кому ни попадя, и каждый надо защищать индивидуально??? Ладно бы у меня была своя "подсеть". А то ведь каждый узел получает IP криптографически, то есть случайно, Невозможно пропистаь правило на условном iptables, чтобы отличать своих от чужих без тупого перечисления всех своих IP (пока не переустановил и ключи/IP не поменялись).
А касательно "можно публиковать свои сервисы"... Насколько часто вы пользуетесь чужими сервисами, которые вам капец как нужны, но доступны они исключительно через Yggdrasil? Для себя я слабо такой кейс представляю.
Выбор типа сети на yggdrasil - для своих или общественная - это ваше право. Какую настройку будете делать, так и будет работать. Можете на всех контролируемых узлах разрешить подключения только для своих узлов. Тогда в вашем сегменте не будет посторонних.
Если же к публичной подключение где-нибудь есть, то безопасность нужно обеспечивать файерволом. Да, нужно каждое устройство настраивать индивидуально. Нужно определить какие порты оставлять открытыми и для чего:
Например если ssh, то порт можно оставить открытым, но авторизацию сделать только по ключу
Если что-то есть с http rest api и там не предусмотрена авторизация, то оставлять порт открытым по принципу белого списка для ipv6 адресов из сети yggdrasil - т.е. только для своих адресов
Иные сети позволяют настройку файрвола игнорировать, но не yggdrasil.
Их не надо как-то по-особенному защищать. Половина хостов в интернете уже имеет белый маршрутизируемый IPv6-адрес, и живут с этим как-то. Файрвол в телефонах и Windows-ПК по умолчанию настроен достаточно хорошо, чтобы это не было проблемой.
Одна из прикольных фишек Yggdrasil - можно раздавать адреса с роутера или сервера в локальную сеть, так что у всех в локальной сети будет адрес в сети Yggdrasil, а настраивать придется только один комп или роутер.
Насколько часто вы пользуетесь чужими сервисами, которые вам капец как нужны, но доступны они исключительно через Yggdrasil?
не исключительно, но rutracker и flibusta там есть.
Так же как и с обычными IPv6 адресами. В фаерволе разрешаете доступ с конкретных адресов, остальным отлуп. Если хочется скорости и надежности - можно поднять свой собственный публичный сервер, но в конфиге разрешить подключение к нему только клиентов с конкретными публичными ключами. Можно сделать несколько таких серверов, в разных локациях.
Самый полезный юзкейс - связывать локалки. Например подключиться по RDP по айпишнику, из Гадюкино, с местного интернет провайдера, с серым IP, NATом, закрытыми портами и прочими прелестями к серверу в Москве. Да, это можно делать VPN'ами, но это сложнее, их блокируют, и т.д.
В целом Иггдрасиль это одна большая, глобальная IPv6 локалка, со всеми вытекающими плюсами и минусами.
Статья написана достаточно нормально, чтобы понять и суть и устройство протокола.
Если у Вас остаются вопросы — задайте их предпочитаемому ИИ.
Что такое Yggdrasil Network?