Описание проблемы
На кластере ECSS-10, работающем на ОС Astra linux, кластер RestFS показывает статус disconnected_by_timeout (отключен по таймауту), хотя сам сервис (nginx/openresty, порт 9990) работает
Диагностика
Переключение default host restfs на 127.0.0.1 → показывает статус connected, обратно на system.restfs.ecss → таймаут.
admin@[mycelium1@]:/$ restfs/change default host 127.0.0.1 admin@[mycelium1@]:/$ restfs/list ┌────────────┬─────────────────────┬─────────┐ │Cluster name│ Peer │ Status │ ├────────────┼─────────────────────┼─────────┤ │default │http://127.0.0.1:9990│connected│ └────────────┴─────────────────────┴─────────┘ admin@[mycelium1@]:/$ restfs/change default host system.restfs.ecss admin@[mycelium1@]:/$ restfs/list ┌────────────┬──────────────────────────────┬───────────────────────┐ │Cluster name│ Peer │ Status │ ├────────────┼──────────────────────────────┼───────────────────────┤ │default │http://system.restfs.ecss:9990│disconnected_by_timeout│ └────────────┴──────────────────────────────┴───────────────────────┘
Вывод: проблема не в restfs, а в резолвинге доменного имени system.restfs.ecss.
Корневая причина
В конфигурации dnsmasq /etc/dnsmasq.d/ecss стояла строка server=77.88.8.8 (взята из примера в инструкции по установке - там предлагается указать свой DNS, локальный или глобальный, а 77.88.8.8 приведён просто как образец). Внешний DNS 77.88.8.8 из контура клиента недоступен — все forward-запросы висели до таймаута, очередь dnsmasq набивалась до лимита в 150, и dnsmasq переставал отвечать даже на локальные имена зоны .ecss.
Решение
На обоих серверах в конфигурации dnsmasq /etc/dnsmasq.d/ecss закомментировать #server=77.88.8.8 и перезагрузить dnsmasq.