Настройка 3x-ui: закрытый доступ и проверка восстановления

Настройка 3x-ui: закрытый доступ и проверка восстановления

Marcus Reid
11 октября 2026 г.· 11 мин чтения

Настройка 3x-ui завершена, только если вы ограничили управление, проверили отказ постороннему пользователю и можете восстановить базу без возврата отозванного доступа. Здесь используется закрытый административный путь SSH и один зашифрованный вход; приемку восстановления вы выполняете в собственной разрешенной среде.

Ключевые выводы

  • Скрытый путь URL не заменяет аутентификацию и сетевую границу.
  • Пароль администратора и идентичности пользователей прокси должны различаться.
  • База, сертификаты, версии и последующие отзывы входят в общий план восстановления.
  • Работа панели и прохождение трафика прокси проверяются отдельно.

Какую ответственность несет настройка 3x-ui?

Карта самостоятельной эксплуатации разделяет владельцев узла, управления и пользовательского трафика. Панель упрощает ввод, но сама становится ценной точкой контроля. Если вы не хотите обслуживать базу и сертификаты, заранее сравните собственный VPS и управляемый выход.

Для устройств WireGuard предназначен сценарий управления через wg-easy. Здесь рассматриваются 3x-ui и ее ядро Xray. Различия VLESS, REALITY и Vision объясняют, почему эти названия нельзя использовать как взаимозаменяемые настройки.

Область применения: выделенный Ubuntu 24.04 LTS, нативная 3x-ui v3.9.0, стандартная SQLite, отдельный совместимый клиент и уже действующий сертификат вашего домена. PostgreSQL, контейнеры и существующая производственная панель сюда не входят. Руководство основано на официальных источниках, без заявления об авторском сквозном испытании. Проверенное восстановление в заголовке означает обязательную приемку читателем, а не результат автора.[1]

Шаг 1: Изучите зафиксированный установщик до выдачи root

Сохраните исходные порты, firewall, маршруты, DNS, systemd units и задания продления сертификатов в закрытом месте. Проверьте новое SSH-соединение и независимую консоль провайдера. На время установки оставьте вход закрытым, кроме известного административного пути: установщик может запустить службы раньше изменения настроек.

Официальная нативная установка использует привилегированный скрипт. Загрузите скрипт точного выпуска, изучите пакеты, архивы, установку службы и ветки сертификатов вместо исполнения удаленного потока. Проверка синтаксиса не является аудитом безопасности. Аргумент версии фиксирует архив; без него возможен выбор другого выпуска.[2][3]

umask 077
curl --fail --show-error --location \
  https://raw.githubusercontent.com/MHSanaei/3x-ui/v3.9.0/install.sh \
  -o install-3x-ui-v3.9.0.sh
less install-3x-ui-v3.9.0.sh
bash -n install-3x-ui-v3.9.0.sh

Продолжайте только после подтверждения владельца проекта и изучения всех дальнейших загрузок выбранной ветки. Проверьте официальные материалы целостности выпуска. Несовпадение или невозможность получить обязательный файл требует остановки; не подменяйте источник зеркалом, не отключайте TLS и не переходите на development ради продолжения.

Запускайте интерактивно в настоящем терминале. Выберите SQLite. Для управления только через SSH выберите пункт Skip SSL — behind reverse proxy / SSH tunnel only, затем подтвердите привязку исключительно к loopback. Не принимайте ветку сертификата по умолчанию и не открывайте ради нее порт 80. Вход прокси получит отдельный существующий сертификат в шаге 3.[2]

sudo bash install-3x-ui-v3.9.0.sh v3.9.0
sudo systemctl stop x-ui
sudo /usr/local/x-ui/x-ui setting -listenIP 127.0.0.1 -port 2053
sudo systemctl start x-ui
sudo ss -lntup

Явная команда закрепляет адрес и порт панели. При ошибке предыдущей команды остановитесь и разберите причину. Сгенерированные учетные данные, базовый путь и файл результатов установки храните закрыто. Слушатель панели должен быть 127.0.0.1:2053; wildcard — нарушение границы, даже если провайдер пока блокирует доступ.[5]

Шаг 2: Откройте SSH-туннель 3x-ui и защитите учетную запись

На рабочем компьютере замените заглавные заполнители; локальный порт 2053 должен быть свободен. В указанном файле доверия используйте независимо проверенные ключи узла. При несовпадении остановитесь; не принимайте неизвестный ключ ради доступа к панели.

ssh -N -T -o ExitOnForwardFailure=yes -o StrictHostKeyChecking=yes \
  -o UserKnownHostsFile=/PATH/TO/VERIFIED_KNOWN_HOSTS \
  -L 127.0.0.1:2053:127.0.0.1:2053 ADMIN@SERVER_IP

Откройте http://127.0.0.1:2053/BASE_PATH/, заменив BASE_PATH настоящим путем. Этот HTTP проходит внутри SSH и не является публичной точкой управления. Войдите, задайте уникальное имя администратора и надежный пароль; включите поддерживаемый второй фактор, если можете безопасно сохранить материалы восстановления.

Закройте сеанс браузера и убедитесь, что новое приватное окно требует входа. Неверные данные не должны разрешать привилегированные операции. С разрешенного внешнего узла проверьте недоступность публичного TCP 2053 для обоих применимых семейств адресов, в том числе после перезапуска. Случайные порт и путь уменьшают случайное обнаружение, но не заменяют эти проверки.

Без отдельной необходимости и политики не включайте удаленные API, ботов и подписки. Проверьте все слушатели, не только порт панели. Экспорты могут содержать учетные данные: правила защиты ссылок подписки действуют и при закрытом endpoint подписки.

Шаг 3: Создайте зашифрованный вход и отдельных пользователей

В этом примере используется VLESS поверх TCP с обычным TLS, без REALITY и Vision. В Inbounds добавьте запись по таблице, затем одного клиента с уникальным именем и UUID, сгенерированным панелью. VLESS сам не шифрует транспорт, поэтому TLS здесь обязателен.[6][7][8]

ПолеЗначение или требование
Протокол / транспортVLESS / TCP; без flow Vision
Адрес / порт0.0.0.0 / TCP 8443, изначально закрыт у провайдера
VLESS decryptionnone; поле протокола, не разрешение убрать TLS
Защита транспортаTLS включен; действующий сертификат proxy.example.com
Сертификат / ключ/etc/x-ui/tls/fullchain.pem / /etc/x-ui/tls/privkey.pem
Идентичность клиентаНовый UUID на человека или устройство; пароль администратора не используется
Дополнительные слушателиНеиспользуемые подписки, API и боты выключены

Замените пример домена. Получите сертификат своим уже согласованным методом; до открытия входа проверьте имя, сроки, цепочку, соответствующий ключ и владельца продления. Установите файлы в указанные места с необходимым доступом реального пользователя службы. Приватный ключ не должен читаться всеми; не исправляйте права широкими рекурсивными разрешениями.

Сохраните вход и примените изменение Xray через панель. Проверьте состояние службы и ошибки конфигурации/сертификата в журналах. Экспорты храните закрыто. На отдельном клиенте задайте настоящий endpoint, порт, новый UUID, TCP, TLS и соответствующее имя сервера с включенной проверкой сертификата. Flow Vision оставьте пустым; локальный прокси привяжите к 127.0.0.1, не к LAN.

Шаг 4: Раздельно проверьте трафик и отказ

Временно разрешите источник тестового клиента на TCP 8443 через политику провайдера и узла. Порт управления не открывайте. Явно выберите новый профиль для проверяемого приложения, затем проверьте видимый выходной IP относительно известного выхода сервера. Загрузка панели через SSH ничего не доказывает об этом пути.

sudo systemctl status x-ui --no-pager
sudo journalctl -u x-ui --since "10 minutes ago" --no-pager
sudo ss -lntup
ПроверкаОжидаемое условиеДействие при ошибке
Панель без сеансаПривилегированные действия запрещеныЗакрыть доступ, проверить учетную запись и политику сеансов
Правильный UUID и проверенный TLSНовый TCP-запрос идет через нужный выходРазделить имя/сертификат, идентичность, маршруты и ошибки ядра
Отдельный профиль с неверным UUIDНет нового разрешенного запроса проксиОстановить публичный доступ, определить фактически выбранный вход/профиль
DNS, IPv6 и UDP приложенияКаждый следует выбранной политике охватаЗафиксировать неподдерживаемое, не обобщать успех TCP
Отключение клиентаFallback соответствует политикеНе выводить наличие kill switch из прокси приложения

Для отрицательного профиля используйте только контролируемый трафик. Пример принимает TCP; UDP требует реально поддерживающего его режима клиента/протокола, контролируемого назначения и отдельного результата. DNS может разрешаться вне прокси, а приложение с IPv6 — выбирать другой путь. Эти проверки не объединяйте.

До отзыва создайте второго контрольного пользователя с независимой идентичностью. Удалите или отключите первого и примените изменение Xray. Завершите его прежний сеанс, подключитесь с сохраненным UUID и требуйте отказа новому запросу, пока контрольный пользователь работает. В согласованное окно перезапустите x-ui и повторите. Старые потоки и счетчики трафика не заменяют отрицательный тест.

Шаг 5: Как выполнить восстановление резервной копии 3x-ui?

Закрыто запишите версии панели/ядра, SQLite-путь, TLS-файлы, продление, настройки службы, пользователей, токены и правила провайдера. По умолчанию база — /etc/x-ui/x-ui.db; сертификаты остаются отдельным входом восстановления, хотя здесь лежат внутри того же каталога. PostgreSQL требует собственного метода и не входит в копирование файлов.[4]

Выберите новый каталог снимка, остановите панель/ядро в окно обслуживания и проверяйте каждую команду. Копирование всего остановленного SQLite-каталога сохраняет и сопутствующие файлы базы. При сбое не трогайте источник, разберите причину и осознанно верните службу.

sudo install -d -m 700 /root/3x-ui-backup-20261011
sudo systemctl stop x-ui
sudo cp -a /etc/x-ui /root/3x-ui-backup-20261011/x-ui
sudo chmod -R go-rwx /root/3x-ui-backup-20261011
sudo systemctl start x-ui

Если настоящие сертификаты лежат иначе, включите их, данные продления и аккаунта отдельно. Запишите исходные владельца и режимы до ограничения прав копии. Зашифруйте закрытую внешнюю копию: база содержит чувствительное состояние клиентов и администратора. Не отправляйте ее ботом или в публичный чат.

Реестр отзывов пользователей и ротаций храните отдельно, с датами. Для восстановления подготовьте изолированный заменяющий узел с теми же версиями панели и Xray, закрыв бизнес-входы и дополнительные слушатели. Сохраните его текущий каталог под новым rollback-именем ниже. Источник должен существовать, новые каталоги назначения — быть свободными. Не выполняйте это на единственном живом экземпляре без отдельной копии для отката.

sudo systemctl stop x-ui
sudo mv /etc/x-ui /etc/x-ui.before-restore-20261011
sudo cp -a /root/3x-ui-backup-20261011/x-ui /etc/x-ui

У резервной копии удалён доступ группы и остальных. После копирования восстановите исходных владельцев и режимы из инвентаря, особенно чтение SQLite и TLS фактическим пользователем службы. Закрытые ключи не должны стать доступны посторонним. Сделайте это до следующих команд запуска.

sudo /usr/local/x-ui/x-ui setting -listenIP 127.0.0.1 -port 2053
sudo systemctl start x-ui

База может вернуть старые UUID и административные данные. До открытия входа повторите последующие отзывы и ротации через SSH-панель, проверьте владельца сертификатов, имена, сроки и задания продления. Повторите правильные/неверные данные, отозванного/контрольного пользователя, перезапуск и слушатели. Работа старого отозванного UUID означает провал: закройте вход и исправьте сохраненное и активное состояние ядра. Не принуждайте новую установку использовать старую схему и не совмещайте восстановление с обновлением.[4]

Шаг 6: Верните управление или завершите эксплуатацию

При потере доступа используйте разрешенную консоль узла и документированное меню x-ui для сброса учетной записи. Затем войдите и восстановите намеченную политику аутентификации. Не отключайте второй фактор и не публикуйте панель ради диагностики. Если полномочия на восстановление неясны, оставьте вход закрытым.

При завершении закройте правило провайдера этого входа, отзовите пользователей и экспорты, остановите и отключите автозапуск x-ui. Проверьте все принадлежащие установке слушатели и задания продления. Сохраните зашифрованные копии на выбранный срок, затем используйте документированное удаление. Удаляйте только ее DNS и облачные ресурсы; проверьте прежние службы и новое административное соединение. Удаление ПО не отменяет оплату узла.

Итоги

  • Проверяйте административную границу отдельно от соединения прокси.
  • Сохраняйте согласованную базу и сертификаты вместе с отдельным реестром последующих отзывов.
  • Открывайте восстановленный сервис только после отрицательных проверок, выдержавших перезапуск.

Часто задаваемые вопросы (FAQ)

Достаточно ли секретного базового пути?

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

Защищает ли SSH-туннель публичный вход прокси?

SSH защищает только этот административный путь браузера. Отдельному входу VLESS нужны собственные TLS, идентичности, firewall и клиентские проверки.

Почему у VLESS decryption указано none?

Это значение поля протокола VLESS, а не совет использовать открытый интернет-транспорт. В примере отдельно обязателен обычный TLS с проверяемыми клиентом сертификатами.

Можно ли копировать работающую SQLite?

Используйте согласованный механизм резервирования либо остановите выделенную установку перед копированием каталога базы. Копия во время записей может оказаться непригодной для целостного восстановления.

Включены ли сертификаты в экспорт базы?

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

Вернет ли восстановление удаленного пользователя?

Да, если снимок сделан до удаления. Повторите независимый реестр отзывов до открытия входа и проверьте отказ новому запросу со старым UUID после перезапуска.

Выполнил ли автор проверку восстановления?

Автор не заявляет о таком испытании. Заголовок описывает обязательную приемку читателем; результаты должны происходить из вашей разрешенной среды, а не из предположения об успехе.

Источники:

  1. 3x-ui v3.9.0 — https://github.com/MHSanaei/3x-ui/releases/tag/v3.9.0
  2. 3x-ui v3.9.0 — Installer — https://github.com/MHSanaei/3x-ui/blob/v3.9.0/install.sh
  3. 3x-ui — Installation — https://github.com/MHSanaei/3x-ui/wiki/Installation
  4. 3x-ui v3.9.0 — Backup & Restore — https://github.com/MHSanaei/3x-ui/blob/v3.9.0/docs/content/docs/en/operations/backup-restore.mdx
  5. 3x-ui v3.9.0 — Command-line settings — https://github.com/MHSanaei/3x-ui/blob/v3.9.0/main.go
  6. 3x-ui — Configuration — https://github.com/MHSanaei/3x-ui/wiki/Configuration
  7. Xray — VLESS inbound — https://xtls.github.io/en/config/inbounds/vless.html
  8. Xray — Transport — https://xtls.github.io/en/config/transport.html

Sources checked 11 октября 2026 г.


Рекомендуемые статьи:

Начните бесплатный 3-дневный пробный период

Зарегистрируйтесь и попробуйте все премиум-функции бесплатно.

*Только для новых пользователей. Один пробный период на пользователя.

Настройка 3x-ui: закрытый доступ и проверка восстановления | AethoVPN