Skip to content

Панель и узел на одном сервере ​

Узел может работать на том же сервере, что и панель. Nexora этого не запрещает, и они не мешают друг другу. Для сервиса, который вы продаёте, это не рекомендуется, и эта страница сначала объясняет почему, а потом — как.

Когда это допустимо ​

  • Лаборатория или тестовая установка.
  • Демонстрация.
  • Небольшой сервис на одном сервере, когда вы согласны, что у панели и трафика один адрес и одна судьба.

Для всего, что вам было бы жаль потерять, дайте панели отдельный сервер.

  • Адрес панели становится публичным. Адрес узла попадает в каждую ссылку подписки и каждый клиентский профиль, которые вы выдаёте. Каждый пользователь и любой, кто собирает такие ссылки, узнаёт, где ваша панель. Если этот адрес потом заблокируют, вы теряете не один узел, а панель и вместе с ней все адреса подписок.
  • Одна машина — одна судьба. Пользовательский трафик идёт всплесками и не имеет потолка. Загруженный узел может отнять у панели процессор, память или канал, а упавшая панель перестаёт отдавать подписки и пользователям всех остальных узлов.
  • Одноразовое смешивается с незаменимым. Узел задуман так, чтобы его можно было выбросить и установить заново. База панели — единственное во всём флоте, что стоит резервировать.
  • Удалять узел нужно осторожно. Оба используют /var/opt/nexora. Удаление всего этого каталога стирает базу панели; см. Удаление.
  • Он всё равно считается узлом в вашей лицензии.

Настройка скриптом установки ​

Они устанавливаются в разные каталоги и работают как отдельные службы: /opt/nexora-panel и /opt/nexora-node. Внутри /var/opt/nexora база, bin/ и backups/ принадлежат панели, а certs/ и cache/ — узлу.

  1. Установите панель и пройдите мастер настройки как обычно.

  2. В панели добавьте узел с адресом 127.0.0.1 и портом 62050.

  3. Откройте у узла окно Установка и скопируйте команду с вкладки Вручную.

  4. Выполните её на том же сервере, добавив в конец --listen 127.0.0.1:62050, чтобы управляющий порт узла был доступен только с этой машины:

    bash
    curl -fsSL https://PANEL/install-node.sh | bash -s -- \
      --panel PANEL --token TOKEN --listen 127.0.0.1:62050

Если панель ещё на своём самоподписанном сертификате, добавьте -k к curl и --insecure к скрипту, как описано в Добавление узла.

  1. Откройте узел и добавьте публичный адрес сервера в Адреса для ссылок. Когда этот список пуст, ссылки используют адрес узла, а от 127.0.0.1 вашим пользователям никакой пользы.

Порт 62050 не выходит за пределы сервера, поэтому правило файрвола для него не нужно. Открывайте только порты инбаундов узла.

Настройка через Docker ​

В репозитории панели есть готовый стек docker/panel-and-node: панель на SQLite и узел рядом с ней. Узлу для запуска нужен сертификат панели, а панель показывает этот сертификат только после появления узла, поэтому стек запускается в два шага:

bash
git clone https://github.com/nexora-vpn/panel
cd panel/docker/panel-and-node
docker compose up -d panel
docker compose logs panel | grep setup      # open the link, finish the wizard

Затем добавьте в панели узел с адресом 127.0.0.1 и портом 62050. Откройте у него окно Установка и сохраните сертификат из поля Сертификат mTLS как ./certs/panel_ca.pem рядом с файлом compose. Добавьте публичный адрес сервера в Адреса для ссылок узла, как описано выше. Запустите узел:

bash
docker compose up -d node

Оба контейнера используют сеть хоста. Поэтому, в отличие от других стеков Docker, этот не закрепляет порт панели: порт, выбранный в мастере настройки, используется напрямую, как при установке скриптом. Управляющий порт узла не покидает машину.

Текст и изображения — CC BY 4.0.