How to Wiki Database (change log)
http://[222:a8e4:50cd:55c:788e:b0a5:4e2f:a92c]
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
4.8 KiB
61 lines
4.8 KiB
====== Multicast Peer Discovery ====== |
|
|
|
**Multicast Peer Discovery** - это технология автоматического обнаружения пиров [[yggdrasil:yggdrasil|Yggdrasil]] в локальной сети. |
|
|
|
Когда в локальной сети [[yggdrasil:yggdrasil|Yggdrasil]] запущен на нескольких устройствах благодаря этой технологии все эти узлы обнаружат друг друга и автоматически установят соединение между собой, [[yggdrasil:public_peer|прописывать]] их в секции ''%%Peers%%'' [[yggdrasil:config_russian|конфиграционного файла]] нет необходимости. |
|
|
|
**ВАЖНО:** //Multicast Peer Discovery в Yggdrasil работает только с link-local IPv6 адресами устройств в локальной сети (диапазон ''%%fe80::/10%%''), с IPv4 не работает! Т.е., на интерфейсах вашей локальной сети должна быть включена поддержка IPv6 и устройства должны иметь IPv6 link-local адреса в локальной сети (между ними дожен работать ping). Если настроить IPv6 в локальной сети для вас затруднительно, вы можете вручную прописывать в конфигурационном файле Yggdrasil IPv4 локальные адреса устройств в качестве пиров (листенеры настраиваются в секции ''%%Listen%%'').// |
|
|
|
Multicast Peer Discovery включено по-умолчанию. Окрывает UDP порт 9001 (для прослушивания сигналов о существовании от других узлов). Настраивается MPD в параметре ''%%MulticastInterfaces%%'' [[yggdrasil:config_russian|конфигурационного файла]]. |
|
|
|
По-умолчанию параметр выглядит так: |
|
|
|
<code> |
|
MulticastInterfaces: |
|
[ |
|
{ |
|
Regex: .* |
|
Beacon: true |
|
Listen: true |
|
Port: 0 |
|
Priority: 0 |
|
Password: "" |
|
} |
|
]</code> |
|
|
|
* **Regex** - здесь задается регулярное выражение для имени интерфейса, на котором будет задействован Multicast Peer Discovery. Будет выбрано одно первое имя, соответствующее регулярному выражению. |
|
* **Beacon** - если true, узел будет отправлять в сеть "уведомления" о своем сущестовании |
|
* **Listen** - если true, узел будет ожидать (прослушивать) сигналы ("уведомления") о присутствии от других узлов |
|
* **Port** - TCP-порт, который будет открыт для установки соединения с обнаруженными пирами. Если указано ''%%0%%'', порт будет назначен случайным образом. |
|
* **Priority** (не обязательно, доступно с версии 0.4.6) - приоритет для соединения с одним и тем же узлом, если у узла несколько интерфейсов (число 0 до 254). |
|
* **Password** (не обязательно, доступно с версии 0.5 RC1) - пароль, используемый в "рукопожатии" TLS. |
|
|
|
Объектов json в массиве MulticastInterfaces может быть несколько (т.е., для каждого интерфейса свой объект). Пример: |
|
|
|
<code> |
|
MulticastInterfaces: |
|
[ |
|
{ |
|
Regex: eth0 |
|
Beacon: true |
|
Listen: false |
|
Port: 0 |
|
}, |
|
{ |
|
Regex: wlo1 |
|
Beacon: false |
|
Listen: true |
|
Port: 0 |
|
} |
|
]</code> |
|
|
|
Для примера, если вы хотите, чтобы в локальной сети все узлы подключались к одному пиру в этой же сети и не соединялись между собой каждый с каждым, нужно на одном узле установить ''%%Beacon%%'' в ''%%true%%'', а на остальных узлах ''%%Beacon%%'' в ''%%false%%'' и ''%%Listen%%'' в ''%%true%%''. |
|
|
|
|
|
Чтобы полностью отключить Multicast Peer Discovery нужно привести MulticastInterfaces к такому виду: |
|
|
|
<code>MulticastInterfaces: []</code> |
|
|
|
UPD порт 9001 после этого открыт не будет, "сигналы" о присутсвии отправляться не будут. |
|
|
|
~~DISCUSSION~~
|
|
|