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

3 хв. читання

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

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

Має різні сфери застосування, зокрема: автоматизована побудова локальних мереж, маскування IP (як транспорт I2P), обхід блокувань та обмежень віртуальної адресації NAT (наприклад, для організації відео-спостереження без наявності виділеної адреси, розгортання домашнього веб-серверу, віддаленого керування інфраструктурою підприємства тощо). Завдяки простоті встановлення та здатності до саморозгортання підключень, здобув широку популярність зокрема серед користувачів CJDNS.

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

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

Бінарні збірки можуть бути встановлені зі штатного репозиторію командою:

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 через Інтернет, необхідно додати до файлу конфігурації щонайменше один географічно близький публічний вузол:

# /etc/yggdrasil/yggdrasil.conf
  Peers: [
    tls://xx.xx.xx.xx:xxxx
  ]

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

IfName: ygg0

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

systemctl restart yggdrasil

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

Додатково

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

ifconfig

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

yggdrasilctl getself

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

ifconfig lo inet6 add 3xx:xxxx:xxxx:xxxx::xx
  • де 3xx:xxxx:xxxx:xxxx - адреса з yggdrasilctl getself

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

  • tls://[::]:12345?password=123456abcdef - сервер
  • tls://a.b.c.d:12345?password=123456abcdef - клієнт

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

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

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

Посилання

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
p.s. 368
Приєднався: 1 місяць тому
Коментарі (0)

    Ще немає коментарів

Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація