yggdrasil network что это

Установка Yggdrasil Network на Windows

Найти общую информацию о Yggdrasil на русском языке не составляет труда. Однако, как показала практика, многие пользователи сталкиваются с трудностями при установке клиента сети. По заявкам трудящихся рассмотрим в этой статье установку и начальную конфигурацию Yggdrasil Network на компьютере под управлением операционной системы Windows.

Скачать и установить

Протокол Yggdrasil, как и официальный клиент сети, являются полностью открытыми и бесплатными. В силу этого скачивать установочные бинарные файлы можно только из официальных источников, так как любые попытки распространения программы через другие каналы вызывает опасение: вероятно, скачав с другого места, вы установите не только Yggdrasil, но и вредоносное ПО.

Если вы используете Windows 7 или Windows Server 2008 R2, согласно документации вам необходимо перед установкой Yggdrasil поставить патч KB2921916: x64, x32. Без него виртуальный сетевой адаптер WireGuard может работать некорректно.

Установка msi-пакета не требует каких-либо дополнительных действий кроме клика, а процесс установки занимает около минуты. После установки в системе появится служба Yggdrasil. Чтобы увидеть ее, наберите «Службы» в меню Пуск (либо «services.msc») и нажмите Enter.

Windows 10

Также в операционной системе появится новый сетевой адаптер WireGuard, который можно найти в Панели управления, в разделе «Центр управления сетями и общим доступом».

Чтобы открыть свойства подключения, кликните на подсвеченную кнопку «Yggdrasil».

Начальная конфигурация

По умолчанию Yggdrasil автоматически находит других участников в локальной сети. Чтобы эта опция работала практически, необходимо включить «IP версии 6» на остальных (реальных) сетевых интерфейсах компьютера.

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

Выбирайте те, которые выделены зеленым

Публичные пиры указываются в секции Peers следующим образом:

Если вы используете Windows 7, текстовый редактор по умолчанию может испортить кодировку конфигурационного файла, поэтому рекомендуется использовать сторонние текстовые редакторы вроде AkelPad, NotePad++ и прочие, сохраняющие исходную кодировку конфига (UTF-8).

Чтобы изменения вступили в силу, необходимо перезапустить службу Yggdrasil: клик правой кнопкой мыши на «Yggdrasil Service» в списке сервисов, затем выбор пункта «Перезапустить».

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

Безопасность

Этот мануал был бы злом, если не упомянуть о большой опасности. После установки Yggdrasil, ваш компьютер имеет выделенный IPv6-адрес, к которому в рамках сети может обратиться любой желающий. Обыкновенно о настройке файерволла помнят лишь администраторы с опытом, а бытовой пользователь пиратской версии Windows вовсе живет с отключенной службой безопасности.

Вы должны убедиться, что служба Защитника на вашем устройстве включена. Для этого перейдите в Панель управления и выберите соответствующий пункт меню.

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

Если вы пользуетесь общими папками (протокол ActiveDirectory, SMB), нужно позаботиться о доступе к вашим «расшаренным» папкам по паролю, чтобы злоумышленники и хулиганы случайно не получили доступ к вашим файлам, подключившись через Yggdrasil. С возможностями приходит ответственность, дорогой друг!

Источник

Криптографическое образование адреса IPv6 в Yggdrasil

Статья актуальная для версий Yggdrasil 0.3.16 и ниже. Об изменениях в Yggdrasil 0.4 читайте статью «Yggdrasil Network 0.4 — Скачок в развитии защищенной самоорганизующейся сети».

Абонентский IP – логический адрес пользователя в сети. В малых сетях обычно используются статические адреса, прописанные вручную, а в более массовых – автоматическое назначение через DHCP. За каждый сегмент локальной или глобальной сети отвечает некое лицо или организация, в чьи обязанности входит управление маршрутизацией и контроль IP-адресов.

В большинстве случаев произвольная смена адреса, выданного администратором, не несет абоненту практической пользы, т.к. может отсечь его от сети. Более опытный пользователь знает про коллизию адресов и может этим злоупотребить: назначить своему устройству уже занятый адрес, тем самым лишив изначального хозяина IP-адреса возможности использовать сеть. В обычных сетях за подобным хулиганством бдит администратор, а что происходит в масштабируемых сетях с автоматической маршрутизацией, где контроль за пользователями вовсе отсутствует? Разберем решение этой задачи в Yggdrasil Network – масштабируемой меш-сети с оконечным шифрованием и IPv6-маршрутизацией в сети 200::/7.

Никакого мошенничества

Так как сеть имеет сквозное шифрование от абонента до абонента, очевидно наличие ключей. В Yggdrasil используется шифрование на эллиптических кривых – x25519, подразумевающее связку публичного и приватного ключа. Публичный ключ распространяется свободно, а приватный надежно хранится и служит для расшифровки.

Первый байт «02» адреса IPv6-Yggdrasil является константой, а дальше интереснее: от публичного ключа x25519 берется хеш SHA512, количество лидирующих единиц которого, т.е. битов, установленных в ненулевом состоянии, образует второй байт.

Читайте также:  алт 133 что это значит

Образование адреса Yggdrasil

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

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

Почва для размышлений

Хеш SHA512 составляет 64 байта, в то время как адрес IPv6 даже с учетом константы «02» – всего лишь 16 байт, а изначальный ключ x25519 – 32 байта.

Некоторые пользователи сомневаются в практической пользе такого решения и считают, что вполне реально найти ключи с коллизией адресов, т.к. массив данных ключа увеличивается вдвое, а затем от него берется лишь небольшая часть (примерно 1/5), которая образует IPv6. При всем желании, модель угрозы нахождения разных ключей с одинаковым адресом не была подтверждена практически, что говорит о сложно исчислимом количестве вариаций адресов даже при таком на первый взгляд необычном подходе к их образованию.

Разработчики Yggdrasil постарались усложнить подбор адресов. Первые непрерывно идущие единичные биты создают дополнительный фактор уникальности адреса. Вероятность подобрать последовательность из последних 14 байт IPv6 кажется весьма реалистичной, однако общий успех менее вероятен, т.к. напрямую зависит от количества лидирующих единиц в хеше – 2-го байта. Отсюда выходит понятие «высокого адреса» – адреса с большим значением во втором байте и, следовательно, с более обширным использованием 64-байтного массива от SHA512. Исходя из этого, имеет смысл майнить «высокие адреса» для серьезных проектов.

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

Источник

Межсетевой прокси: Доступ в Интернет, Tor, I2P и другие сети через Yggdrasil

Для выхода в скрытые сети вроде I2P, Tor, Zeronet и прочие, необходимо предварительно установить соответствующую программу. Подобная программа является окном в сеть, скрытую для постороннего наблюдателя, обеспечивая всю внутреннюю логику: криптографию, взаимодействие с другими узлами, обращение к стартовому узлу и тому подобное, что не надо знать обычному пользователю, дабы сберечь крепкий сон.

Когда клиент сети установлен, необходимо настроить браузер или другое программное обеспечение. Чаще всего программные клиенты скрытых сетей предоставляют для конечного пользователя HTTP- или SOCKS-прокси. Это стандартные протоколы, которые поддерживаются всеми веб-браузерами, многими мессенджерами и даже некоторыми играми. Благодаря прокси программного клиента скрытой сети, можно направить трафик практически любого приложения в скрытую сеть.

Путешествуя по обычному интернету мы не задумываемся над доменными зонами: ru, com, org и так далее, потому что все они открываются одинаково. Однако, настроив браузер для открытия сайта в сети I2P, вы не откроете onion-домен из сети Tor. Для этого нужно будет сменить настройки прокси-сервера. Поковырявшись с конфигами, вы сможете упростить эту задачу, но, если добавить сюда еще сеть Yggdrasil, тема сильно усложнится. Таким образом настройки вашего браузера будут неизменно усложняться, тем самым создавая поле для потенциальных утечек запросов с вашего настоящего IP-адреса на сомнительные ресурсы. И это при условии, что программы для доступа во все названные сети должны быть установлены на каждое из ваших устройств, где вы хотите ими пользоваться.

Ликбез по безопасности

Установка и настройка

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

Переходим в гит-репозиторий tinyproxy. Копируем ссылку для клонирования. Чтобы клонировать репозиторий на сервер, необходимо предварительно установить git командой apt install git (если работаете не от суперпользователя, добавляйте в начало команд слово sudo ).

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

Уже сейчас можно запустить прокси-сервер, однако все файлы установились в текущую директорию, а файл сервиса для systemd вовсе отсутствует. Это значительная помеха для неопытного пользователя.

Опускаемся ниже по файлу и комментируем строку «Allow» с локальным адресом, так как подключаться мы будем не с локальной машины. Если в конфигурационном файле нет ни одного значения «Allow», tinyproxy принимает подключения с любых адресов.

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

Сохраняем изменения и перезапускаем tinyproxy:

В настройках браузера назначаю HTTP-прокси. Естественно, на хостовой машине должен быть установлен Yggdrasil. Порт по умолчанию 8888. Кажется, всё работает корректно: проверка IP-адреса показала адрес сервера, на котором только что был установлен tinyproxy.

По состоянию на 2021 год такая конфигурация при установке старой версии работать не будет: выход в интернет по-прежнему происходит с IP-адреса сервера. Если убрать подсеть Yggdrasil и попробовать снова, tinyproxy наконец начнет работать корректно.

Читайте также:  какие системы оповещения применяют для защиты персонала химически опасных объектов и населения

Заменим устаревший бинарный файл tinyproxy на новый, который мы скомпилировали несколько минут назад:

Казалось бы, что все хорошо, но теперь служба постоянно зависает при запуске. Попробуем разобраться в причине. Если явным образом передать исполняемому файлу конфигурационный файл, увидим номера строк, на которые ругается tinyproxy.

Если попробовать запустить tinyproxy, опять увидим зависание. Открываю файл сервиса systemd nano /lib/systemd/system/tinyproxy.service и немного упрощаю алгоритм запуска. Возможно, это не самое православное решение, но лишь бы работало: комментирую параметр «EnvironmentFile» и меняю строку «ExecStart», явно указывая путь до конфигурационного файла.

Проверка адреса Yggdrasil также показывает, что мы сидим не со своего адреса, а с адреса сервера, где установлен tinyproxy. Смена адреса Yggdrasil через наш прокси теперь также работает. Более того, можно открыть любой домен из сетей I2P или Tor.

В браузере отображается адрес IPv6 Yggdrasil, который принадлежит прокси-серверу

На этом конфигурацию мультисетевого прокси-сервера можно считать завершенной. По аналогии с показанным вы можете добавлять любые апстримы для других скрытых сетей или отдельных доменов и использовать единственный прокси-сервер на всех ваших устройствах для любых приложений, при этом не утруждая себя установкой дополнительно ПО на каждый девайс (кроме Yggdrasil).

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

Оригинальная статья опубликована в блоге дата-центра ITSOFT и является текстовой версией видео.

Источник

Быстрый старт в Yggdrasil Network

Что это такое

Сеть Yggdrasil — это распределенная одноранговая сеть на базе технологий mesh-сетей. Архитектура этой сети может использовать любой канал соединения с другими компьютерами (не обязательно использовать интернет).

Сеть Yggdrasil может быть полезна при организации глобальной коммуникации в труднодоступных местах (где нет возможности провести Интернет от провайдера), в организации удалённого доступа к собственным устройствам, а так же для создания локальной сети на больших расстояниях.

Пример разнообразия соединений в сети Yggdrasil. Здесь мы видим кабельное и Wi-Fi соединение, связь через интернет, через радиостанции и даже лазерные точки доступа.

Анонимность не является приоритетом развития сети Yggdrasil. Однако, трафик между узлами шифруется.

Внутри сети устройство получает уникальный «белый» адрес IPv6 (подробнее, англ.).

Подключение к сети представляет собой установку в систему программы yggdrasil-go, которая запускает абстракцию TCP/IP поверх уже имеющегося в системе соединения, создавая виртуальный сетевой адаптер. Если устройство имеет возможность подключения по Wi-Fi, оптическому кабелю, Ethernet или другими способами к другому устройству или сети, то это соединение можно использовать для организации сети Yggdrasil.

Сетью Yggdrasil могут пользоваться устройства, не подключенные к интернету: для этого требуется лишь соединение с другим устройством, подключенным к Yggdrasil.

Многообразие платформ, на которых доступно подключение к сети Yggdrasil.

Поддерживаемые системы: Windows, MacOS, Linux (Debian, Red Hat, Fedora и производные), iOS, некоторые типы роутеров. Возможна компиляция из исходного кода.

Концепция сети Yggdrasil отличается от концепции VPN. В архитектуру Yggdrasil заложены возможности одноранговой самоорганизации узлов и автоматическая логистика пакетов, тогда как основная задача VPN — прямое соединение.

Скачивание и установка

Процесс установки прост. Ознакомьтесь с инструкциями на этом сайте:

Ссылки на инструкции по установке в официальной документации (англ.):

Не забудьте проверить политику безопасности компьютера (настройки фаервола) в отношении нежелательных входящих подключений.

Первое посещение сети

Как правило, установка проходит без проблем и в устройстве обнаруживается новое соединение.

Если вы подключились к Yggdrasil, попробуйте открыть один из следующих ресурсов:

Если сайты открываются, значит всё работает.

Если сайты не открываются, проверьте:

Что делать дальше?

Дальше спектр ваших возможностей весьма широк:

Безопасность и анонимность

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

Сеть Yggdrasil не следует использовать в целях обеспечения анонимности. За вашу анонимность и сохранность персональных данных в этой сети вы отвечаете самостоятельно (как и в интернете).

Подробнее о безопасности и анонимности можете прочитать в материалах на этом сайте:

Источник

Yggdrasil Network 0.4 — Скачок в развитии защищенной самоорганизующейся сети

Если вы знакомы с сетью, либо читали предыдущую статью, должно быть знаете о феномене «сетевых штормов», которые всплыли при расширении Yggdrasil и явились основным слабым местом протокола. Сетевой шторм, как это явление прозвали энтузиасты, – недочет в логике маршрутизации, над решением которого команда разработчиков трудилась много месяцев.

Далее вы увидите как борьба с одним багом вылилась в фундаментальную переделку протокола.

Релиз

В предыдущей статье достаточно подробно рассматривалась маршрутизация Yggdrasil 0.3. Логику можно резюмировать так: IPv6 в Yggdrasil генерируется случайным образом и не имеет потенциала для логической маршрутизации. Алгоритм нахождения узлов друг другом и маршрутизацию между ними через десятки промежуточных узлов обеспечивают графы DHT, которые для удобства называются координатами.

Фрагмент иллюстрации из предыдущей статьи

Природа появления сетевого шторма кроется в логике построения маршрутов между узлами, которая напрямую завязана на координатах. За точку отсчета координат берется узел с неким характерным публичным ключом. При передачи трафика в сети 0.3, узлы опирались на динамическую информацию о своих координатах и координатах соседей. Если из сети пропадал корневой узел, являющийся началом отсчета координат, сеть начинала перестраиваться. Во время выбора нового корня каждый узел сети лавинообразно менял свои координаты. В силу хаотичности координат было невозможно построить стабильный маршрут, поэтому связность сети на время перестройки резко падала. При нормальном сценарии подобный шторм длился несколько секунд, после чего все узлы приходили к консенсусу о центре, однако иногда штормы длились часами. Выбор корня в Yggdrasil 0.3 описан в предыдущей статье.

Читайте также:  ария что вы сделали с вашей мечтой табы

Критичность проблемы сетевых штормов особенно сильно и отчасти комично проявлялась при использовании Yggdrasil Network в локальной сети. Частный случай случай выглядит так: два компьютера стоят в метре друг от друга, между ними проложен ethernet-кабель; локальный сегмент Yggdrasil из двух участников подключен к глобальному сегменту через подключение одного из компьютеров к публичному пиру. Во время шторма физические соседи переставали видеть друг друга из-за постоянной смены координат и адекватное сообщение в локальной сети прекращалось. Стабильность налаживалась только тогда, когда все узлы сети Yggdrasil, включая два локальных компьютера, имели устойчивые координаты.

Новый подход

Концептуально новым явлением относительно более ранних версий является маршрутизация в пространстве ключей, которая изменила прежнее представление о координатах. Новая DHT (распределенная хеш-таблица) использует тот факт, что узлы идентифицируются просто публичными ключами Ed25519, и тем, что корнем дерева является узел с минимальным ключом. Каждый узел знает путь до корня и то, что корень лежит на одном из концов пространства ключей. Таким образом, новая DHT является просто прямой из ключей, отсортированной от минимального к максимальному ключу, начиная с корня дерева.

Каждый узел обязан построить маршрут от себя к предыдущему узлу на этой прямой (к узлу с более низким ключом, расположенным по DHT ближе к корню). Предшественник использует этот путь для направления трафика вниз по DHT, то есть в сторону возрастания ключей. Все промежуточные узлы сохраняют запись в таблице маршрутизации для этого пути. Таким образом, если узел Б устанавливает маршрут к узлу А, то каждый узел на пути от А до Б тоже имеет запись в таблице маршрутизации о пути, которым пойдёт трафик в сторону Б. Если трафик по этому пути не дойдёт (получит таймаут), то узлы на любом конце этого оборванного пути шлют явное уведомление том, что путь прерван, что позволяет DHT быстро реагировать на обрывы путей и изменения топологии.

Пакеты перенаправляются в сторону максимального ключа, который не выше узла назначения. Эти решения маршрутизации принимаются не только на концах пути, а любой нодой по пути следования пакета: если А является предком узла Б (имеет более низкий ключ), А не обязан маршрутизировать трафик до Б. Трафик, проходящий через какой-нибудь узел между А и Б пойдёт к Б, не попадая к А. Корень дерева, как и все другие пиры-предки, служат лишь дополнительными каналами DHT, о которых узлы знают «просто так», так как они узнали об этом при начальном построении дерева.

Чтобы узнать о своих соседях по ключам, узлы без предков периодически шлют бутстрап-пакет. Этот бутстрап-пакет перемещается по DHT пока не достигнет максимального предка. Этот пакет содержит метку расстояния от корня дерева до отправителя, которая используется предком для отправки подтверждающего пакета. Подтверждающий пакет содержит содержит метку расстояния от корня до предка, которая используется отправителем для нахождения пути по DHT.

Вместо поиска путей к узлам, узлы просто направляют трафик по направлению к ключам узлов через DHT. Во время установки сессии узлы устанавливают исходный маршрут и прозрачно переключаются на него в фоне.

Пути через пространство ключей DHT обычно имеют большую протяженность, нежели пути через связи древовидного пространства (treespace). Дерево является понятием, соответствующим физической топологии (связи узлов). Смешение двух подходов (начальной маршрутизации по DHT и оптимальной передачи информации по реальной топологии) является фактором стабильности. В случае устойчивой сети трафик передается по дереву (ленивая маршрутизация), как это было в более ранних версиях Yggdrasil, при этом нет зависимости от изменений сети на участках, которые не входят в конкретный маршрут, так как при стабильном канале нет зависимости от DHT-координат. В обратном случае, когда устойчивый канал связи нарушается, происходит быстрое реагирование и поиск возможного пути по DHT, который постоянно поддерживается в актуальном состоянии.

Yggdrasil 0.4 использует следующий алгоритм образования IPv6-адреса из публичного ключа подписи: 1) первый байт «0x02» является константой, 2) ключ подписи побитово инвертируется, 3) количество лидирующих ненулевых битов составляет второй байт адреса, 4) первый ноль усекается, 5) последующие 14 байт ключа образуют тело адреса.

Ознакомиться с Yggdrasil 0.4 более детально можно в официальном англоязычном блоге, а также на странице релиза. Установка на Windows описана в этой статье.

Источник

Информ портал о технике и не только