mistgate Документация

Ноды

Что показывают список нод и страница ноды, что значит каждый статус и как изменить, перезапустить или вывести ноду из флота.

На этой странице

Нода — это сервер, на котором работает агент Mistgate, mistgate-node. Панель говорит агенту, какие профили запускать, а агент сообщает своё состояние, трафик и то, что видит на хосте. Эта страница проходит по разделу Ноды и по странице ноды вкладка за вкладкой. Как подключить новый сервер, описано в разделе Добавить ноду.

Список нод#

В заголовке видно, сколько нод, сколько людей онлайн и у скольких нод проблемы («3 ноды · 12 онлайн · 1 с проблемами»). Кнопка Добавить ноду открывает окно, которое выдаёт команду установки.

Над таблицей:

  • фильтры Все, Проблемы и Работают, у каждого своё число;
  • Все протоколы — показать только ноды, где стоит профиль нужного протокола;
  • Все страны — показать только ноды одной страны.
Столбец Что показывает
Нода Точку статуса, имя, место (или страну) и хостера. Под ними — причину статуса или сам статус.
Адрес Домен или IP, к которому подключаются клиенты.
Протоколы Протоколы профилей на ноде.
Онлайн Сколько людей подключено сейчас.
Сегодня Трафик с 00:00 UTC.
CPU Последнее показание процессора.
Аптайм Время работы хоста по словам агента.

На телефоне вместо таблицы — карточка на каждую ноду с теми же данными. Список обновляется каждые 10 секунд. Выведенные из флота ноды в нём не показываются.

Если нода работает, но её агент старше версии, которую поставляет панель, под именем написано Работает · устаревший агент с номером версии; строка ведёт на страницу Обновления. Подробнее — в разделе Обновления.

Статусы ноды#

Статус Что значит Что делать
Ждёт установки Команда установки выдана, агент ещё не вышел на связь. Строка говорит, сколько ещё действует команда или что она истекла. Выполнить команду на сервере или сделать новую (Новая команда установки на странице ноды).
Работает Агент на связи, всё в порядке. Ничего.
Нужно внимание Агент на связи, но: на ноде нет ни одного включённого профиля (пользователи её не получат), состояние ноды разошлось с панелью или часы сервера расходятся с панелью. Прочитать строку под именем. Добавить профиль, перезапустить профили или поправить часы.
Работает частично Часть профилей не запустилась, остальные работают. Открыть Профили на ноде и прочитать ошибку под каждым упавшим профилем.
Сломано Не запустился ни один включённый профиль или не прошла проверка хоста у доктора. Открыть Профили или Доктор.
Недоступна Связи с агентом нет, и хост не вернулся за 10 минут. Проверить сервер у хостера, затем перезапустить агента по SSH (баннер даёт команду).
Хостер моргнул Связь пропала меньше 10 минут назад или вернулась с тем же временем загрузки. Проблемой не считается. Обычно ничего: короткие провалы — это хостер.
Трафик не идёт Агент на связи, но проверки глазами клиента не проходят: клиенты не пробиваются. Баннер говорит причину, если она известна (закрытый UDP-порт, сертификат, выход). Перезапустить профили или сменить порт.
Обновляется Агент обновляется. Подождать. Если проверка после обновления не пройдёт, откат будет автоматическим.
Выведена Нода выведена из флота. Ничего.

Проблемами считаются красные статусы и Нужно внимание, кроме предупреждения о часах: его видно, но в счёт оно не идёт. Это число показывается в заголовке списка, на Обзоре и в меню.

Страница ноды#

В шапке — код страны, имя, статус и значок WARP, если у ноды есть аккаунт WARP (пока WARP работает, на значке написан дата-центр Cloudflare; значок ведёт к карточке WARP). Под именем — место, хостер, адрес, версия агента и пометка устаревший агент, если есть новее.

Справа две кнопки:

  • Перезапустить профили перезапускает все профили ноды. Окно говорит, сколько людей отключится на несколько секунд; они переподключатся сами. Кнопка недоступна, пока агент не на связи или на ноде нет профилей.
  • Доктор открывает вкладку Доктор.

Под шапкой баннер объясняет текущее состояние и предлагает действие, которое поможет:

Состояние Баннер
Недоступна «Нода не отвечает …», когда был последний сигнал, и команда, которую можно скопировать.
Трафик не идёт «Жива, но трафик не идёт» с причиной из проверок здоровья, Перезапустить профили и Проверить сейчас.
Хостер моргнул «Хостер моргнул» с кнопкой Понятно.
Обновляется «Обновляется агент».
Ждёт установки «Ждём агента» с кнопкой Новая команда установки.
Выведена «Нода выведена из флота».
Нет профилей «На … ещё нет профилей — пользователи её не получат» с кнопкой Добавить профиль.
Профиль упал Имя профиля, причина словами и Открыть профили.

Команда из баннера «Недоступна» — её выполняют на ноде по SSH:

sh
systemctl restart mistgate-node && journalctl -u mistgate-node -n 50 --no-pager

На странице семь вкладок: Обзор, Профили, Пользователи, Логи, События, Доктор и Настройки. На вкладке Профили видно число незапустившихся профилей, на вкладке Доктор — число пунктов, которым нужно внимание.

Обзор#

  • CPU, RAM, ДИСК, СЕТЬ — последние показания. На полосе CPU отдельным цветом показана доля softirq (сетевых прерываний), рядом число vCPU и нагрузка. Показания приходят через несколько секунд после подключения агента; у ноды не на связи остаются последние показания и написано, с какого времени её нет.
  • Трафик за 24 ч — трафик через ноду по часам.
  • Алерты — открытые алерты этой ноды с теми же кнопками, что на странице «Здоровье», и три последних закрытых. Все алерты открывает страницу «Здоровье». Если ничего не было, карточки нет.
  • Проверки глазами клиента — строка на каждый профиль с задержкой и IP выхода или с причиной сбоя. Щелчок по строке открывает её историю за 24 часа. Проверить сейчас запускает круг для этой ноды.
  • Онлайн по протоколам — сколько людей подключено сейчас по каждому протоколу.
  • Факты о хосте — имя хоста, ОС, ядро, архитектура, процессоры, RAM, диск, виртуализация, IPv6, время загрузки и версии движков.

Проверки, алерты и доктор описаны в разделе Здоровье.

Профили#

Каждый профиль на ноде — отдельная строка. Имя ведёт на страницу профиля, под ним — протокол.

У Hysteria2 в строке:

  • Порт — UDP-порт на этой ноде;
  • Домен (SNI) — имя сервера в сертификате;
  • Сертификат — дата окончания (жёлтая, если осталось меньше 14 дней, красная — меньше 3), самоподписанный, с пином или нет: профиль не запущен.

У AmneziaWG в строке Порт, Бэкенд (модуль ядра или userspace, с версией), Выход (Напрямую или WARP) и Устройства («5 · 2 онлайн»), а ниже — строка состояния с последним рукопожатием.

Справа — состояние: Работает, Запускается, Не запустился или Выключен. У незапустившегося профиля причина написана словами, а под ней — исходный текст ошибки агента. Если причина ясна, рядом есть кнопка, которая её устраняет: Сменить порт (окно откроется со свободным портом), Указать домен или Открыть WARP.

У каждой строки есть:

  • Изменить — порт и Домен (SNI) только для этой ноды и переключатель Включён. Выключенный профиль остаётся на ноде, но пропадает из подписок.
  • Перезапустить — перезапускает только этот профиль. Его подключения оборвутся на пару секунд.
  • Убрать — снимает профиль с ноды. Окно говорит, кто это заметит: пользователи, которые потеряют ноду при следующем обновлении подписки, или, для AmneziaWG, устройства, которые перестанут работать. Их ключи снова заработают, если вернуть профиль на ту же ноду.

Добавить профиль открывает окно, которое ставит профиль на эту ноду, — см. Профили. Если в панели ещё нет ни одного профиля, окно предлагает одним действием создать профиль Hysteria2 на порту 443 (или на первом свободном) и поставить его на ноду; другой путь — Настроить вручную.

Пользователи#

  • Сейчас на ноде — кто подключён, с моделью устройства, протоколом и текущей скоростью загрузки.
  • Топ за сегодня — десять человек с наибольшим трафиком через эту ноду с 00:00 UTC.

Логи#

Живой лог агента и его движков, который панель передаёт с ноды. Сначала приходят последние 200 строк, потом новые по мере появления; на экране держится до 1000 строк.

  • Все, Инфо, Предупр., Ошибки фильтруют по уровню; Поиск в логе — по тексту.
  • Пауза замораживает экран, а новые строки копятся; Дальше показывает их.
  • Скачать сохраняет полученное в файл <нода>-agent.log.

Вкладка работает, пока агент на связи (Работает или Трафик не идёт). Если связь пропала, она переподключается каждые 5 секунд. Логи может читать только владелец: в них есть адреса клиентов.

События#

История ноды по дням: подключилась, замолчала, вернулась, профили добавлены, запущены, упали и перезапущены, настройки применены, обновления агента и откаты, продление сертификатов, сборка модуля AmneziaWG. Связанные события собраны в одну строку.

Фильтры Все, Проблемы, Профили и Агент сужают список. Подробности открывают исходные события за строкой: код события, точное время, источник (агент ноды, панель или действие админа) и параметры. Показать ещё загружает более старые события; если фильтр ничего не нашёл среди последних, то же делает Искать дальше.

Доктор#

Собственные проверки хоста, разложенные на группы Требует внимания, Принято как нормальное, Всё в порядке и Не проверялось, с исправлениями, которые может применить панель, и ручными шагами для остального. Проверить снова просит у ноды свежий отчёт. Первый отчёт приходит примерно через 30 секунд после подключения агента; если агент слишком старый для доктора, вкладка ведёт на Обновления. См. Здоровье.

Настройки#

На вкладке сверху вниз: карточка WARP, поля ноды, карточка Бэкенд AmneziaWG и Опасная зона. WARP описан в разделе WARP, бэкенд — в разделе AmneziaWG.

Поле Что делает
Имя a–z, 0–9 и дефис, 2–24 символа, без повторов.
Адрес Домен или IP, к которому подключаются клиенты, без https:// и порта. Если поменять, изменится адрес во всех подписках.
Страна Двухбуквенный код страны или Не указана. По ней строятся названия серверов в приложениях ({flag} {country}), а на нодах в России доктор проверяет госуслуги и предлагает Яндекс DNS.
Место Свободный текст рядом с именем («Франкфурт»). Пусто — название страны.
Хостер Для себя: у кого арендован сервер.
Заметки Свободный текст до 500 символов.
Разрывать связь с агентом после 30–600 с, по умолчанию 90. Если агент молчит дольше, панель закрывает соединение. Сначала нода становится серой (Хостер моргнул), Недоступна — после 10 минут без связи.
Ждать результат команды 10–900 с, по умолчанию 120: сколько панель ждёт, прежде чем считать, что команда осталась без ответа.
Таймаут подключения агента 5–120 с, по умолчанию 15: сколько агент ждёт при подключении к панели.
DNS для трафика пользователей IP-адреса через запятую, до 8 (1.1.1.1, 8.8.8.8, можно ip:порт). Ими нода разрешает имена в трафике своих пользователей. Пусто — резолвер самого сервера.

Сохранить отправляет только изменённое; нода получает новые настройки сразу, без переподключения.

DNS для трафика пользователей — это не резолвер самого сервера, который проверяет доктор, и не DNS-пресеты, которые получают приложения: см. DNS.

Важно

в ключах AmneziaVPN записан адрес ноды на момент выдачи. Если поменять Адрес, тем, кто подключается по ключу, нужно заново импортировать ключ (со своей страницы или из карточки пользователя). Приложения по ссылке получат новый адрес при следующем обновлении подписки.

Переименование ноды#

Поменяйте Имя и сохраните. Имя видно в панели, в именах файлов конфигов AmneziaWG и в названиях серверов в приложениях — только если шаблон названия использует {node} (шаблон по умолчанию берёт страну). См. Подписки.

Опасная зона: вывод ноды из флота#

Вывести из флота убирает ноду насовсем. Окно перечисляет, что произойдёт:

  • пользователи перестанут получать эту ноду в подписке; сами ссылки не меняются;
  • сертификат ноды отзывается, агенту велено остановиться; файлы на сервере остаются;
  • запись о ноде остаётся в аудите вместе с историей трафика.

Чтобы подтвердить, нужно ввести имя ноды. После этого нода пропадает из списка; если открыть её страницу, там будет «Нода выведена из флота». Выведенный агент больше не сможет подключиться. Выводить ноды может только владелец.

Другого способа удалить ноду нет: вывод из флота и есть удаление. Чтобы потом очистить сервер, выполните от root:

sh
systemctl disable --now mistgate-node
rm /etc/systemd/system/mistgate-node.service /usr/local/bin/mistgate-node
rm -r /var/lib/mistgate-node

Это пути по умолчанию у mistgate-node install; если при установке были другие --bin или --state-dir, подставьте их.

Версия агента и расхождения#

  • Устаревший агент. Панель знает самую новую версию агента, которую поставляет. Нода со старым агентом помечена устаревший агент в списке и в шапке. Некоторым функциям нужен новый агент: доктору, WARP, автоматической сборке модуля AmneziaWG. Обновите его на странице Обновления.
  • Расхождение состояния. Панель отправляет каждой ноде полное желаемое состояние и сверяет его хеш с тем, что нода применила. Если они разошлись, панель отправляет состояние заново (событие «состояние разошлось с панелью, отправлено заново»). Если нода и после этого применила другое, у неё статус Нужно внимание с причиной «состояние ноды разошлось с панелью», и открывается алерт. Перезапустите профили; если повторится, загляните в лог ноды.
  • Расхождение часов. Если часы сервера расходятся с панелью, нода об этом скажет. С неверными часами ломаются сертификаты и рукопожатия; включите на сервере синхронизацию времени (timedatectl set-ntp true).

Кто что может#

Ноды видит любой админ. Владелец и помощники могут менять настройки ноды и перезапускать её профили. Выдавать команды установки, выводить ноды из флота, читать логи, ставить профили на ноды и собирать модуль ядра AmneziaWG может только владелец. См. Безопасность.

Править страницу на GitHub