Руководство по эксплуатации и устранению неполадок GhostNet
Это техническое руководство для администраторов сети. Оно описывает режимы работы, архитектурные особенности и методы решения проблем в инфраструктуре GhostNet.
1. Режимы Запуска Агента
gna_agent поддерживает два основных режима работы. Выбор режима критически важен для стабильности.
1.1. Интерактивный режим (Консоль)
Запуск бинарного файла вручную (./gna или gna.exe).
- Назначение: Первичная настройка, генерация конфига, активация инвайт-токена, отладка.
- Особенности Windows: Мы программно отключаем режим "QuickEdit" в консоли, поэтому агент не засыпает при клике мышью. Однако закрытие окна терминала приведет к разрыву соединения.
- Особенности Linux: Требует
sudoдля создания TUN-интерфейса и биндинга портов 53/UDP.
1.2. Режим Службы (Service Mode) — Рекомендуемый
Работа в фоне под управлением systemd (Linux) или Service Control Manager (Windows).
- Надежность: Автоматический рестарт при сбоях, запуск после загрузки сети.
- Изоляция: Работает в Session 0 (Windows), не зависит от входа пользователя.
- Управление: Используйте встроенное меню агента (пункты 8-9) для установки/удаления службы.
2. Сетевые Проблемы и Диагностика
2.1. Агент не соединяется с Lighthouse
Симптом: [LINK] Handshake timeout или бесконечные попытки подключения.
- Проверьте PSK: Ключ
pskвconfig.jsonдолжен быть идентичен на всех узлах. Длина — любая, но система хэширует его в 256-бит (SHA256). - UDP Порты: Убедитесь, что на сервере Lighthouse открыт UDP 50000 во входящем направлении (Input).
- Время: Рассинхронизация часов более чем на 300 секунд (5 минут) приведет к отбрасыванию пакетов (Anti-Replay Protection).
2.2. Не работает разрешение имен (ping base.ghost)
Симптом: Ping request could not find host...
- Проверка локального DNS: В логах агента должно быть
[DNS] Локальный DNS запущен на 10.0.0.X:53. - Очистка кэша:
- Windows:
ipconfig /flushdns - Linux:
resolvectl flush-caches
- Windows:
- Прямой тест: Выполните
nslookup base 10.0.0.X(где X - ваш виртуальный IP). Если сервер отвечает, проблема в настройках ОС, а не в агенте. - Конфликт портов: Если на машине уже занят порт 53 (например, другим DNS-сервером), агент отключит свой резолвер. В этом случае разрешение имен
.ghostработать не будет.
2.3. P2P соединение не устанавливается
Симптом: Трафик идет через реле (Lighthouse), пинг высокий.
- Причина: Симметричный NAT у одного из провайдеров.
- Решение: GhostNet использует технику "UDP Hole Punching". Если она не срабатывает, трафик автоматически маршрутизируется через сервер.
- Совет: Попробуйте пропинговать узлы в обе стороны. Иногда исходящий пакет "пробивает" NAT и открывает путь для входящего потока.
3. Критические Компоненты Инфраструктуры
3.1. Центр Сертификации (gna_ca_server)
- Безопасность: Это "Святой Грааль" вашей сети. Если файл
ca_key.pemбудет украден, злоумышленник сможет выпустить сертификат и войти в сеть. - Изоляция: Сервер слушает только
127.0.0.1:9100. Доступ к нему должен иметь только Lighthouse. - Hardware Binding: Сертификаты жестко привязаны к "железу" (CPU + MAC). Если вы скопируете ключи
node.keyиcert.pemна другой компьютер, соединение будет отклонено с ошибкойHardware Mismatch. При переезде на новый сервер нужно генерировать новый инвайт.
3.2. Lighthouse (gna_lighthouse)
- Роль: Сигнальный сервер, DNS-авторитет и панель управления.
- Firewall:
UDP 50000: Открыть всему миру (0.0.0.0/0).TCP 9000, 9001: НЕ ОТКРЫВАТЬ в интернет. Доступ только из VPN (10.0.0.0/24) или localhost.UDP 53: Открыть только внутри VPN (для работы DNS резолвера сети).
4. Временные Интервалы и Задержки
GhostNet — это асинхронная распределенная система. Изменения не происходят мгновенно.
-
Handshake (Пульс):
- Агент отправляет полный отчет о состоянии (CPU, RAM, Services) каждые 30-60 секунд (с рандомизацией).
- Легкие
KeepAliveпакеты для поддержания NAT отправляются каждые 10 секунд.
-
Обновление DNS и Карты Сети:
- Когда новый узел подключается, Lighthouse валидирует его через CA.
- После валидации Lighthouse рассылает всем агентам пакет
PeerList(Frame 0x04). - Агент применяет изменения в DNS-кэше мгновенно после получения пакета.
- Итог: Новый узел становится виден всей сети обычно в течение 5-15 секунд после запуска.
-
Perfect Forward Secrecy (PFS):
- Сессионные ключи шифрования между агентами живут 10 минут.
- По истечении времени происходит "бесшовное" пересогласование ключей (Rekeying) без разрыва соединения.
5. Администрирование через Web Panel
Доступ к панели управления реализован через защищенный SPA-туннель.
- Запустите агента.
- В меню выберите "4. Запустить админ-режим".
- Агент установит TCP-over-UDP туннель к Lighthouse.
- Откроется браузер с адресом
http://127.0.0.1:9999/.... - Важно: Для доступа требуется сертификат с правами администратора (Группа
Admins). Обычный пользователь получит ошибкуAccess Denied.
Возможности Панели:
- Revoke: Мгновенный отзыв сертификата. Узел будет отключен от сети в течение секунды (Lighthouse разошлет всем команду
PeerRevoke). - Remote CLI: Выполнение консольных команд (
ping,ipconfig,systemctl) на удаленных узлах от имени root/SYSTEM. - DNS Aliases: Назначение красивых имен (например,
db.ghostвместо10.0.0.5). Изменения вступают в силу после следующего цикла обновленияPeerList.