Yggdrasil - мережа з децентралізованою маршрутизацією


Yggdrasil - експериментальний протокол для побудови само-організованої локальної мережі з шифруванням трафіку та підтримкою оверлейного підключення через Інтернет.


В своїй основі використовує приватний ключ для генерації постійних псевдо-адрес IPv6 в діапазоні 0200::/7.


Має різні сфери застосування, зокрема:



Останній варіант корисний для організації:



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


Встановлення


Yggdrasil написаний на Go, початковий код доступний в репозиторії на GitHub:


https://github.com/yggdrasil-network/yggdrasil-go


В системах Debian, бінарні збірки можуть бути встановлені з репозиторію командою:


apt install yggdrasil

Також доступні офіційні збірки для кожної версії:


wget https://github.com/yggdrasil-network/yggdrasil-go/releases/download/v0.5.5/yggdrasil-0.5.5-amd64.deb
dpkg -i yggdrasil-0.5.5-amd64.deb

Налаштування


У разі підключення до мережі Yggdrasil через Інтернет, необхідно додати до файлу конфігурації щонайменше один географічно близький публічний вузол:


https://publicpeers.neilalexander.dev


Peers: [
    tls://xx.xx.xx.xx:xxxx
]

Також, зручно вказати назву для інтерфейсу Yggdrasil - щоб потім не плутати його наприклад з VPN:


IfName: ygg0

Після цього можна перезапустити сервіс, щоб застосувати зміни:


systemctl restart yggdrasil

Якщо все зроблено правильно, можна спробувати відкрити URL з каталогу сервісів:


https://yggdrasil-network.github.io/services.html


Додатково


Перевірити наявність нового інтерфейсу можна командою:


ifconfig

Отримати власну адресу:


yggdrasilctl getself

Можна створювати маски підмереж для окремих сервісів - вебсайти, пошта, та інше:


ifconfig lo inet6 add 3xx:xxxx:xxxx:xxxx::xx


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


У разі необхідності обмеження доступу для невідомих динамічних адрес, починаючи з версії 0.5.0 можна вказувати пароль в параметрі password:



Початківцям важливо встановити мережний екран, наприклад ufw для iptables, інакше такі служби як принтери або локальні веб-сервери для розробки (що стандартно прослуховують 0.0.0.0) можуть стати доступними для інших учасників локальної мережі.


З цієї точки зору, буде зручним організація окремого роутеру наприклад на базі OpenWRT.


Важливо розуміти, що Yggdrasil не має на меті захист від ідентифікації користувача в мережі, порівнюючи з анонімайзерами Tor чи I2P.


Іноді, може використовуватись як додатковий канал, але походження його пакетів може бути встановлено, якщо не використовуються такі засоби маскування трафіку як Shadowsocks та інші.


Yggdrasil - перш за все альтернативний маршрутизатор, який дозволяє автоматично створювати перманентні IPv6 адреси в середовищі IPv4 та є корисним інструментом для швидкого розгортання інфраструктури локальних дротових, лазерних та радіо мереж.


Посилання


Офіційна сторінка

Проєкт на GitHub

Орієнтовна мапа вузлів


Дивіться також


Yggmail - месенджер з поштовим інтерфейсом



/uk/