Установка и запуск GhostNet
Это руководство поможет вам присоединиться к существующей сети GhostNet
или развернуть собственную приватную оверлейную сеть.
Часть 1: Присоединение к сети (для пользователей)
Если администратор предоставил вам данные для подключения, следуйте этим шагам.
1.1. Что вам понадобится?
Перед началом убедитесь, что у вас есть:
- Бинарный файл
gna_agent: Для вашей ОС (Windows или Linux). Для Windows также требуетсяwintun.dll. - Инвайт-токен: Уникальный одноразовый код формата UUID.
- Адрес Lighthouse: Публичный IP-адрес и порт сервера (например,
194.34.239.66:50000). - Pre-Shared Key (PSK): Общий ключ сети (если он используется).
1.2. Быстрый старт (Smart Onboarding)
Этот процесс автоматически настроит вашего агента, получит сертификат и IP-адрес.
-
Запустите
gna_agentс правами администратора:- Windows: Кликните правой кнопкой по
gna_agent.exe->Запуск от имени администратора. - Linux: Откройте терминал в папке с агентом и выполните
sudo ./gna_agent.
- Windows: Кликните правой кнопкой по
-
Выберите "Быстрый старт": В интерактивном меню выберите опцию для присоединения по инвайт-токену.
-
Введите данные:
- Когда программа запросит инвайт-токен, вставьте его.
- Если файл
config.jsonеще не создан, вам будет предложено ввести адрес Lighthouse и PSK.
-
Активация: Агент свяжется с сервером, обменяет токен на криптографические ключи и получит свой уникальный виртуальный IP (
10.0.0.X). В папке появятся файлыnode.key,cert.pemи обновленныйconfig.json. -
Перезапуск и подключение: После успешной активации перезапустите
gna_agent(снова с правами администратора) и выберите в главном меню "1. Подключиться к VPN".
1.3. Проверка подключения
- Сетевой интерфейс: В выводе команд
ipconfig(Windows) илиip a(Linux) вы должны увидеть новый интерфейсghost0с вашим VIP. - DNS и связь: Попробуйте пропинговать другие узлы по их именам, например
ping base.ghost. Если пинг проходит, вы успешно подключены.
1.4. Установка доверия к Root CA (Опционально)
Для безопасного доступа к внутренним HTTPS-сервисам (например, панели управления на https://base:9000) без предупреждений браузера:
- Запустите меню
gna_agentс правами администратора. - Выберите пункт "10. Установить доверенный Root CA".
- Агент автоматически скачает корневой сертификат и добавит его в системное хранилище доверия.
Часть 2: Развертывание собственной сети (для администраторов)
Для создания своей инфраструктуры GhostNet вам потребуются три компонента: gna_ca_server, gna_lighthouse и gna_agent.
2.1. План развертывания
- Сервер для CA и Lighthouse: Рекомендуется использовать один VPS (Linux) для простоты. На нем будут работать оба серверных компонента и локальный агент.
- Сетевая безопасность: Настройте файрвол (например,
ufw):- Разрешить всем:
sudo ufw allow 50000/udp - Запретить всем (кроме VPN):
sudo ufw deny 9000/tcp,sudo ufw deny 9001/tcp,sudo ufw deny 53/udp.
- Разрешить всем:
- PSK: Придумайте надежный
Pre-Shared Key(пароль сети).
2.2. Развертывание gna_ca_server (Центр Сертификации)
Этот компонент управляет ключами и сертификатами.
-
Первичная инициализация:
- Скопируйте бинарник
gna_ca_serverна ваш VPS. - Выполните один раз:
sudo ./gna_ca_server --init-ca. - Результат: В папке появятся
ca_key.pem,ca_cert.pem(основа доверия) иca_database.db(база данных сертификатов).
- Скопируйте бинарник
-
Запуск как службы:
- Запустите
sudo ./gna_ca_server, чтобы открыть интерактивное меню. - Выберите "7. Установка службы (Systemd)". Программа автоматически создаст и активирует
ghost_ca.service. - Проверьте статус:
sudo systemctl status ghost_ca. Служба должна бытьactive (running).
- Запустите
2.3. Развертывание gna_lighthouse (Сигнальный Сервер)
-
Конфигурация:
- Скопируйте
gna_lighthouseна тот же VPS. - Создайте файл
.envрядом с бинарником:GHOST_PSK="ваш_придуманный_ключ"
- Скопируйте
-
Запуск как службы:
- В
gna_lighthouseесть встроенный установщик службы. Запустите его с флагомinstall:sudo ./gna_lighthouse install - Проверьте статус:
sudo systemctl status ghost_lighthouse.
- В
2.4. Настройка Локального Агента на сервере (VIP 10.0.0.1)
На сервере должен работать gna_agent, который будет "представлять" сам сервер в VPN-сети под VIP 10.0.0.1.
-
Создайте конфиг: Рядом с бинарником
gna_agentсоздайте файлconfig.json:{ "interface_name": "ghost0", "local_udp": "0.0.0.0:50001", "remote_udp": "127.0.0.1:50000", "virtual_ip": "10.0.0.1", "psk": "ваш_придуманный_ключ", "admin_features": { "enabled": true }, "is_exit_node": false }local_udp: 50001— чтобы не конфликтовать с Lighthouse на порту 50000.remote_udp: 127.0.0.1:50000— агент подключается к Lighthouse локально.
-
Получите первый инвайт:
- Запустите
sudo ./gna_ca_serverи войдите в меню. - Выберите "2. Создать новый инвайт".
- Укажите
Adminsв качестве группы и10.0.0.1в качестве IP. - Скопируйте полученный токен.
- Запустите
-
Активируйте агента:
- Выполните
sudo ./gna_agent --join ВАШ_ТОКЕН config.json.
- Выполните
-
Запустите как службу:
- Запустите
sudo ./gna_agent, чтобы открыть меню. - Выберите "8. Установить службу". Программа создаст
ghostnet.service. - Проверьте статус:
sudo systemctl status ghostnet.
2.5. Управление сетью и выдача инвайтов
- Запустите
Теперь, когда вся серверная инфраструктура работает, управление сетью осуществляется через веб-панель.
-
Доступ к панели:
- Так как вы настроили локальный агент (
10.0.0.1) сadmin_features: true, вы можете получить доступ к панели. - Запустите на своей рабочей машине (не на сервере)
gna_agentи выберите "4. Запустить админ-режим". - Агент откроет в браузере защищенный туннель к панели управления.
- Так как вы настроили локальный агент (
-
Выпуск инвайтов для пользователей:
- В веб-панели перейдите в раздел NETWORK.
- В левой колонке "New Invite" укажите, какой VIP вы хотите назначить новому узлу, его роль (группу) и срок действия токена.
- Нажмите "GENERATE TOKEN".
- Скопируйте полученный токен и отправьте его пользователю вместе с адресом Lighthouse и PSK.
Часть 3: Консольное меню gna_ca_server
Центр Сертификации имеет собственное интерактивное меню для прямого управления базой данных и ключами, минуя веб-интерфейс. Это полезно для первоначальной настройки или экстренного вмешательства.
Запустите меню командой sudo ./gna_ca_server.
=== GHOST-NET CA AUTHORITY v1.0 ===
Статус сервера: ONLINE (Port 9100)
Выберите действие:
- Список активных инвайтов
- Создать новый инвайт (CLI)
- Список выданных сертификатов
- Отозвать сертификат (Revoke)
- Полное удаление сертификата (Purge)
- Перегенерация Root CA (Опасно!)
- Установка службы (Systemd/Windows)
- Остановка/Запуск API
- Выход
Описание пунктов меню:
-
Список активных инвайтов:
- Показывает все токены, которые еще не были использованы, их группу, назначенный IP и срок годности.
-
Создать новый инвайт (CLI):
- Позволяет сгенерировать токен прямо из консоли. Полезно для создания самого первого административного инвайта для
10.0.0.1.
- Позволяет сгенерировать токен прямо из консоли. Полезно для создания самого первого административного инвайта для
-
Список выданных сертификатов:
- Выводит полный реестр всех когда-либо выпущенных сертификатов, их статус (
VALID/REVOKED) и серийный номер.
- Выводит полный реестр всех когда-либо выпущенных сертификатов, их статус (
-
Отозвать сертификат (Revoke):
- Помечает сертификат как недействительный по его серийному номеру. Узел с отозванным сертификатом больше не сможет пройти аутентификацию на Lighthouse.
-
Полное удаление сертификата (Purge):
- Безвозвратно удаляет запись о сертификате из базы данных. Используйте с осторожностью.
-
Перегенерация Root CA (Опасно!):
- Действие: Удаляет старые файлы
ca_cert.pemиca_key.pemи создает новые. - Последствия: ВСЕ ранее выданные сертификаты в сети мгновенно станут недействительными. Все агенты потеряют доверие к сети и потребуют повторного онбординга. Используйте только в случае компрометации корневого ключа или для полного сброса сети.
- Действие: Удаляет старые файлы
-
Установка службы:
- Автоматически создает и активирует
systemdсервис (ghost_ca.service) для запуска CA сервера в фоновом режиме.
- Автоматически создает и активирует
-
Остановка/Запуск API:
- Временно останавливает или запускает веб-сервер на порту 9100, не выходя из меню.