Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: [HOWTO] Настройка клиента меш-сети Yggdrasil на Ubuntu  (Прочитано 729 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн acetone

  • Автор темы
  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
    • Fediverse
В разные промежутки времени сообщество убунто-любителей мне сильно помогало, теперь в знак признательности я решил сделать свой вклад. Думаю, эта статья станет востребованной в скором будущем, а пока что для тех, кто не знает, что такое меш-сеть и Yggdrasil в частности, прилагаю познавательные ссылочки. Если кратко: меш-сеть Yggdrasil - автоматически конфигурируемая сеть с нативным сквозным шифрованием, а самое главное, открытым исходным кодом. Работает как в меш-режиме (автообнаружение узлов в локальной сети и маршрутизация через них), так и в оверлейном (с подключением к сети через интернет). Видео на русском.

Последовательно рассмотрим установку, управление и конфигурацию.

1. Установка Yggdrasil на Ubuntu
Установка возможна как из репозиториев, откуда можно будет в дальнейшем обновляться, так и из готового deb-пакета. Страница источника.

(Нажмите, чтобы показать/скрыть)

(Нажмите, чтобы показать/скрыть)

2. Конфигурация

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

Параллельно открываем конфиг Yggdrasil:
sudo nano /etc/yggdrasil.conf
В поле "Peers: [СЮДА]" копируем два-три понравившихся пира. В итоге должно получиться примерно так:
Peers: [
tcp://194.177.21.156:5066
tcp://46.151.26.194:60575
tcp://95.79.97.17:50001
]

Для корректного взаимодействия в локальной сети, необходимо назначить порт, на котором будет сидеть наш Иггдрасиль. За это отвечает параметр "LinkLocalTCPPort". Назначаем любой порт высокого порядка (выше тысячи). В итоге получится примерно так:
  LinkLocalTCPPort: 4900
В самом конце находится параметр " NodeInfo", который отвечает за трансляцию имени нашего узла в сеть. Если оставить пустым, вместо имени будет последний разряд нашего IPv6 адреса, выданного программой (генерируется ключами из конфига). Добавляем имя в формате   NodeInfo: {"name": "произвольное_имя_машины_латиницей"}
Затем нажимаем Ctrl+O, чтобы сохранить внесенные изменения и Ctrl+X, чтобы выйти из текстового редактора.

Теперь необходимо добавить порт Yggdrasil в правило фаервола. В моем случае это порт 4900:
sudo ufw allow 4900
После всего проделанного перезапускаем Yggdrasil:
sudo service yggdrasil restart
Для проверки, можете посетить один из публичных ресурсов сети, например, карту сети Ygg (внутренний адрес: http://[21f:dd73:7cdb:773b:a924:7ec0:800b:221e]).

3. Управление

Самые полезные команды:
sudo service yggdrasil start # запуск sudo service yggdrasil stop # остановка sudo service yggdrasil restart # перезапуск sudo service yggdrasilctl getPeers # просмотр подключенных пиров (локальных и через интернет)Свой адрес можно увидеть командой с "getPeers" и стандартным "ifconfig". Yggdrasil добавляется в систему как tun0.

4. DNS

Энтузиастами разрабатывается и уже успешно работает своя система децентрализванных DNS "Wyrd", а в скором времени и более перспективная реализация DNS на блокчейне "ALFIS". Если нет своего сервера, можно воспользоваться любым публичным. В настоящее время список актуальных DNS:

301:2522::53 Praha, Czechia
301:2923::53 Bratislava, Slovakia
300:4523::53 Naaldwijk, Netherlands
303:8b1a::53 Saint Petersburg, Russia

Список DNS на официально странице Wyrd.

4.1 Конфигурация DNS

Настройка DNS в Ubuntu оказалась не самой простой задачей. Попытки добавить DNS Ygg как-то "аккуратно" ничего не дали. Поэтому вот инструкция.

а.
sudo nano etc/NetworkManager/NetworkManager.confВ секции [mine] добавляем строку rc-manager=resolvconf

б.
Устанавливаем примочку для настройки DNS.
sudo apt-get install resolvconf
в.
sudo nano /etc/resolvconf/resolv.conf.d/headПрописываем адреса в виде
nameserver <ADDRESS>
nameserver <ADDRESS>

г.
Перезагружаем машину.
В некоторых случаях после всего проделанного необходимо продублировать список серверов в /etc/resolv.conf.

Nota bene сервера Yggdrasil резолвят не только внутренние зоны (например, ygg, mesh и т.п.), но и все "клирнетовские", такие как com, ru, org и сотни других. В виду этого DNS Yggdrasil могут служить полноценной заменой обычному DNS. Из плюсов сквозное шифрование с сервером, что не позволит перехватить DNS-запросы третьему лицу.

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



С поступлением предложений и правок, буду редактировать пост. Небольшой список актуальных ссылок по теме:
Официальный Github проекта
Зеркало внутрисетевой Вики http://[300:529f:150c:eafe::6]/
hash.null http://[300:b24b::69]/ - внутрисетевой чат с группами, каналами и ЛС
http://[300:529f:150c:eafe::1]/ - Web-sites Directory. Список ресурсов сети
SimpleYggGen - bash-скрипт для майнинга красивых адресов Игг

(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 30 Май 2020, 22:07:28 от acetone »
Пошутил про демона - нажал иконку.

Оффлайн drion

  • Активист
  • *
  • Сообщений: 840
    • Просмотр профиля
Re: Настройка клиента меш-сети Yggdrasil на Ubuntu
« Ответ #1 : 28 Апрель 2020, 09:38:20 »
Любопытно.
 В Вики написано,что используется для беспроводных устройств. Это значит с доступом через интернет смартфона?
Пару лет назад я читал, что такие сети обеспечивают полную анонимость работы с интернетом. Исходящую точку невозможно отследить.

Оффлайн acetone

  • Автор темы
  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
    • Fediverse
Re: Настройка клиента меш-сети Yggdrasil на Ubuntu
« Ответ #2 : 28 Апрель 2020, 17:43:11 »
drion, в Вики очень обобщенная информация. Особенно это заметно в русскоязычных версиях статей. Применительно к Yggdrasil связь может быть как проводной, так и беспроводной (bluetooth, wi-fi). По сути дела Ygg работает на TCP через все реальные интерфейсы устройства. Стоит заметить, что данная реализация сети является приватной, но не анонимной. Т.е. найти абонента в теории намного легче, чем абонента Тора, но прослушать его трафик невозможно, в отличие от традиционных ТСР/UDP. Именно поэтому в сети Yggdrasil все сайты http (а не https), потому что трафик зашифрован "из коробки". И в отличие от того же Тора, Yggdrasil рассчитан на построение наикротчайшего пути с максимальной пропускной способностью.
Слово об анонимности стоит закончить возможностью Yggdrasil работать через Tor и I2P. Делается без каких-либо танцев с бубном: публичный пир в конфиге прописывается через сокс. В случае локально установленного Тора будет так:
socks://localhost:9050/адрес_пира:порт_пираТакже существуют пиры с адресами вида .onion и  .i2p.

Помимо всего сказанного, Yggdrasil очень перспективная альтернатива VPN.

З.Ы. Нахождение реального абонента возможно узнать через входной пир, который видит первоисточник подключения, но эта угроза пропадает при подключении через другие анонимизирующей цепочки.
« Последнее редактирование: 29 Апрель 2020, 10:06:02 от acetone »
Пошутил про демона - нажал иконку.

Оффлайн alik555

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Интересная тема. Спасибо автору. Надеюсь на развитие этой ветки.
Дошли слухи, что сейчас в Белоруссии, во время блокировки сети Yggdrasil не спасает.
« Последнее редактирование: 11 Август 2020, 11:20:30 от alik555 »

 

Страница сгенерирована за 0.079 секунд. Запросов: 26.