Сначала немного истории: у нас есть лаборатория, содержащая несколько выделенных серверов Linux, которые работают в изолированной локальной сети. Все серверы работают под управлением одной и той же ОС (Debian Linux) и одного и того же проприетарного серверного программного обеспечения, и процессы сервера обмениваются данными друг с другом для синхронизации своих данных. Это означает, что для любых клиентов не имеет значения, к какому серверу клиент подключается - любой сервер вернет те же данные, что и любой другой.
Все эти серверы Linux запускают avahi-daemon для публикации имен хостов mDNS для себя, что означает, что клиент может ввести, например, « http: //linux-server-1.local ». в свой веб-браузер и подключиться к Linux-серверу № 1 и так далее.
Это все хорошо, за исключением того, что это означает, что пользователь, сидящий за клиентским компьютером (обычно ноутбук Mac или Windows с установленным Bonjour) должен знать (или выяснить), какой из серверов Linux в данный момент подключен к сети, и он должен убедитесь, что он подключается к одному из них. Например, если сегодня сервер № 2 находится в автономном режиме, а клиент вводит « http: //linux-server-2.local ». в его адресную строку, он не собирается получать ответ. Конечно, это не конец света, но это раздражает начинающих пользователей, которые ожидают, что все будет «просто работать», а также усложняет разработку надежных сценариев на стороне клиента (так как сценарий на стороне клиента). необходимо знать, как работать с автономными серверами в явном виде).
Имея это в виду, мой вопрос заключается в следующем: можно ли настроить Avahi для публикации псевдонима имени хоста mDNS в стиле anycast? Цель состоит в том, чтобы любой мог сесть за свой ноутбук, введите « http: //any-linux-server.local ». (или аналогичный), и подключитесь к одному из серверов, которые в данный момент подключены к сети (опять же, не имеет значения, какой именно).
Обратите внимание, что это должно работать без какой-либо специальной конфигурации клиентских ноутбуков, так как мы не контролируем их (кроме того, что у них установлен Bonjour).
Также обратите внимание, что мы не можем полагаться на наличие отдельного сервера имен или прокси-сервера или на какой-либо конкретный сервер Linux, поскольку это может привести к единственной точке отказа, которую мы пытаемся избежать.