mirror of
https://codeberg.org/postscriptum/devzone.org.ua.git
synced 2026-02-18 22:02:41 +00:00
initial commit
This commit is contained in:
commit
d4994cde4c
61 changed files with 7044 additions and 0 deletions
97
post/vstanovlennia-routera-merezi-mycelium-v-linux.md
Normal file
97
post/vstanovlennia-routera-merezi-mycelium-v-linux.md
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
# Встановлення роутера мережі Mycelium в Linux
|
||||
|
||||
Коротка інструкція по встановленню оверлейної мережі [Mycelium](https://github.com/threefoldtech/mycelium) в Linux, оскільки навіть з моїми скілами, вона видалась дещо заплутаною, через безлад в репозиторії та відсутність доків.
|
||||
|
||||
По суті, Mycelium нічим особливим від [Yggdrasil](https://devzone.org.ua/post/yggdrasil-mereza-z-detsentralizovanym-routynhom) не відрізняється, окрім іншої моделі маршрутизації та реалізації роутера мовою Rust. Також, відомою мені характерною рисою цієї мережі - є наявність `traceroute`
|
||||
|
||||
Варто зауважити, що проєкт в стадії розробки, користуйтесь на власний ризик!
|
||||
|
||||
## Встановлення
|
||||
|
||||
Якщо в системі ще не встановлено інфраструктуру Rust/Cargo, то вам [сюди](https://rustup.rs/) або
|
||||
|
||||
``` bash
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
```
|
||||
|
||||
Далі клонуємо та збираємо пакунок з репозиторію:
|
||||
|
||||
``` bash
|
||||
https://github.com/threefoldtech/mycelium.git
|
||||
cd mycelium/myceliumd
|
||||
cargo build --release
|
||||
sudo install target/release/mycelium /usr/local/bin/mycelium
|
||||
```
|
||||
* можливо потрібно буде довстановити `apt install build-essential pkg-config libssl-dev`
|
||||
|
||||
### systemd
|
||||
|
||||
``` /etc/systemd/system/mycelium.service
|
||||
#/etc/systemd/system/mycelium.service
|
||||
|
||||
[Unit]
|
||||
Wants=network.target
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
ProtectHome=true
|
||||
ProtectSystem=true
|
||||
SyslogIdentifier=mycelium
|
||||
CapabilityBoundingSet=CAP_NET_ADMIN
|
||||
|
||||
ExecStartPre=+-/sbin/modprobe tun
|
||||
ExecStart=/usr/local/bin/mycelium -k /etc/mycelium.bin --peers tcp://xxx.xx.xxx.x:xxxx
|
||||
|
||||
# Адреси підмереж
|
||||
#ExecStartPost=/bin/sleep 5s
|
||||
#ExecStartPost=/bin/ip address add xxx:xxxx:xxxx:xxxx::x1/64 dev mycelium
|
||||
#ExecStartPost=/bin/ip address add xxx:xxxx:xxxx:xxxx::x2/64 dev mycelium
|
||||
|
||||
#Restart=always
|
||||
#RestartSec=5
|
||||
|
||||
TimeoutStopSec=5
|
||||
|
||||
# mkdir /var/log/mycelium
|
||||
StandardOutput=file:/var/log/mycelium/debug.log
|
||||
StandardError=file:/var/log/mycelium/error.log
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
* `/etc/mycelium.bin` - це приватний ключ, він створюється автоматично при першому запуску
|
||||
* в `--peers` вказуємо піри для підключення в оверлейному режимі, знайти їх можна [тут](https://github.com/threefoldtech/mycelium?tab=readme-ov-file#hosted-public-nodes-v06x) і [тут](https://github.com/YGGverse/mycelium-catalog?tab=readme-ov-file#public-peers)
|
||||
* якщо журнали не потрібні - додайте до `exec` опцію ` --silent`
|
||||
|
||||
## Налаштування
|
||||
|
||||
Фаєрволи обслуговуються так само, як і у випадку Yggdrasil, тільки діапазон тут - `0400::/7`;
|
||||
|
||||
Для [Alfis DNS](https://devzone.org.ua/post/alfis-dns-reyestratsiia-domenu-v-blokcheyn) існує окремий [патч](https://github.com/YGGverse/Alfis/tree/mycelium-network-mode) ([PR#386](https://github.com/Revertron/Alfis/pull/386)), який теоретично вміє сікти все окрім Yggdrasil або Mycelium, але в мене там є деякі питання як і до іншого пірингового софту, які поки що не перевіряв.
|
||||
|
||||
### PAC
|
||||
|
||||
Мій файл конфігурації для окремого браузеру виглядає якось так:
|
||||
|
||||
``` config.pac
|
||||
function FindProxyForURL(url, host)
|
||||
{
|
||||
if (/^0{0,1}[2-3][a-f0-9]{0,2}:/.test(host) || /\.ygg$/.test(host))
|
||||
{
|
||||
return 'DIRECT';
|
||||
}
|
||||
if (/^0{0,1}[4-5][a-f0-9]{0,2}:/.test(host))
|
||||
{
|
||||
return 'DIRECT';
|
||||
}
|
||||
return 'PROXY 127.0.0.1:123';
|
||||
}
|
||||
```
|
||||
* тобто обслуговуються конекти Yggdrasil та Mycelium, а все інше йде на фіктивний проксі
|
||||
* детальніше про конфіг PAC я писав у матеріалі [Безпечний перегляд сайтів Yggdrasil з Yggstack](https://devzone.org.ua/post/bezpechnyy-perehliad-saytiv-yggdrasil-z-yggstack)
|
||||
|
||||
## Тестування
|
||||
|
||||
* Доступний [репозиторій](https://github.com/YGGverse/mycelium-catalog) зі списком сервісів для цієї мережі
|
||||
* [Українська спільнота адміністраторів альтернативних мереж](https://devzone.org.ua/topic/ukrayinska-spilnota-administratoriv-alternatyvnykh-merez)
|
||||
* BitTorrent трекер `udp://[505:6847:c778:61a1::fdb]:6969` і [Веб-статистика](http://[505:6847:c778:61a1::fdb])
|
||||
Loading…
Add table
Add a link
Reference in a new issue