> ## Documentation Index
> Fetch the complete documentation index at: https://docs.edisglobal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Запуск узла Monero на VPS с Debian 13

> Настройте узел Monero с pruning на VPS EDIS Global с Debian 13: проверка загрузок, systemd, публичный P2P и частный доступ кошелька через SSH.

Собственный узел Monero хранит копию блокчейна, передаёт транзакции и блоки и позволяет подключать кошелёк к подконтрольной вам инфраструктуре. В руководстве используется **Debian 13** на **VPS EDIS Global** и включается pruning — сокращение объёма хранимых данных блокчейна.

EDIS Global использует узел с pruning для собственной [интеграции платежей Monero](https://docs.edisglobal.com/ru/faq/billing-lifecycle/cryptocurrency-payments.md). Настройка ниже основана на этом развёртывании и адаптирована для отдельного клиентского VPS.

> [!NOTE]
>
> **Отведите достаточно времени на первую синхронизацию.** Наш узел с pruning синхронизировался с сетью Monero почти сутки. У вас процесс может идти быстрее или медленнее в зависимости от CPU, дисков, пиров и сети. Pruning снижает требования к хранилищу, но не делает начальную синхронизацию мгновенной.

## Что вы настроите

На VPS будет работать `monerod` — программа узла Monero — как фоновая служба. Она автоматически запускается после перезагрузки и принимает соединения от других узлов. Кошелёк остаётся на вашем компьютере и подключается через зашифрованный SSH-туннель.

| Соединение | Порт | Доступ в этом руководстве |
| - | - | - |
| Monero P2P: связь с другими узлами | TCP 18080 | Публичный IPv4 |
| Административный RPC демона | TCP 18081 | Только localhost VPS |
| Ограниченный RPC демона для кошелька | TCP 18089 | Localhost VPS через SSH |
| SSH | Ваш порт SSH, обычно TCP 22 | Обычный административный доступ |

**На VPS не нужны seed-фраза кошелька, закрытый ключ траты или ключ просмотра.** Здесь устанавливается узел, а не платёжный шлюз или служба кошелька.

> [!WARNING]
>
> Работа узла отличается от майнинга и сама по себе не приносит XMR. Майнинг криптовалют запрещён [Правилами допустимого использования EDIS Global](https://docs.edisglobal.com/ru/getting-started/acceptable-use-policy.md). Все функции майнинга должны оставаться выключенными.

## Перед началом

Используйте новый **VPS Debian 13 x86-64** с root-доступом и SSH-клиент на своём компьютере. Во время настройки межсетевого экрана держите доступной консоль VPS в панели EDIS Global.

Рекомендуемая начальная конфигурация для узла с pruning:

| Ресурс | Начальная конфигурация |
| - | - |
| CPU | 2 vCPU или больше |
| Память | Не менее 4 GB RAM |
| Хранилище | 300 GB SSD/NVMe или больше, с запасом для роста |
| Сеть | Лимит трафика, достаточный для первой синхронизации и последующей передачи пирам |

Это ориентиры для планирования, а не гарантия скорости синхронизации или будущей ёмкости. Перед заказом проверьте [актуальные рекомендации Monero по хранилищу](https://docs.getmonero.org/running-node/monerod-systemd/#assumptions). Оставьте место для Debian, журналов, обновлений и роста блокчейна; не выбирайте размер VPS только по текущему объёму базы.

Узел с pruning сохраняет данные, необходимые для обычной работы кошелька, удаляя значительную часть старых подписей. Он продолжает помогать сети, хотя полный узел способен передать другим пирам больше исторических данных. См. [Сравнение pruning с RAID 5](#understanding-pruning-is-it-like-raid-5) ниже или [объяснение pruning от Monero](https://www.getmonero.org/resources/moneropedia/pruning.html).

## Подготовьте Debian

Выполняйте серверные команды от **root** либо сначала перейдите в root-оболочку через `sudo -i`. Они рассчитаны на новую установку; не перезаписывайте существующую конфигурацию узла.

```bash theme={"system"}
apt update
apt install -y ca-certificates curl bzip2 gnupg jq

uname -m
df -h /
free -h
```

Для используемой ниже загрузки `uname -m` должен показать `x86_64`. Перед продолжением установите обновления безопасности Debian и перезагрузитесь, если обновление этого требует.

## Скачайте и проверьте Monero

Используйте архив **CLI** с [официальной страницы загрузок Monero](https://www.getmonero.org/downloads/): он включает `monerod`. В примере используется **v0.18.5.4**, проверенная при написании руководства **27 октября 2026 года**. Перед установкой проверьте наличие более новой стабильной версии и при необходимости измените версию и имя архива.

```bash theme={"system"}
install -d -m 0700 /root/monero-download
cd /root/monero-download

MONERO_VERSION=0.18.5.4
MONERO_ARCHIVE="monero-linux-x64-v${MONERO_VERSION}.tar.bz2"

curl --fail --location --output "$MONERO_ARCHIVE" \
  "https://downloads.getmonero.org/cli/$MONERO_ARCHIVE"
curl --fail --location --output hashes.txt \
  https://www.getmonero.org/downloads/hashes.txt
curl --fail --location --output binaryfate.asc \
  https://raw.githubusercontent.com/monero-project/monero/master/utils/gpg_keys/binaryfate.asc

gpg --show-keys --with-fingerprint binaryfate.asc
```

Сравните отпечаток ключа подписи с опубликованным в [официальном руководстве по проверке](https://www.getmonero.org/resources/user-guides/verification-allos-advanced.html). На момент написания он такой:

```text theme={"system"}
81AC 591F E9C4 B65C 5806 AFC3 F0AF 4D46 2A0B DF92
```

**Если отпечаток отличается, остановитесь.** После совпадения импортируйте ключ и проверьте подписанный список хешей:

```bash theme={"system"}
gpg --import binaryfate.asc
gpg --verify hashes.txt
```

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

Выберите хеш именно нужного архива и проверьте его:

```bash theme={"system"}
awk -v file="$MONERO_ARCHIVE" '$2 == file {print}' hashes.txt > selected-hash.txt
test "$(wc -l < selected-hash.txt)" -eq 1 && sha256sum --check selected-hash.txt
```

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

Распакуйте проверенный архив и установите только демон:

```bash theme={"system"}
tar -xjf "$MONERO_ARCHIVE"
install -d -o root -g root -m 0755 /opt/monero
install -o root -g root -m 0755 \
  "monero-x86_64-linux-gnu-v${MONERO_VERSION}/monerod" /opt/monero/monerod

/opt/monero/monerod --version
```

## Создайте служебного пользователя и конфигурацию

Выделите демону отдельную учётную запись и доступные для записи каталоги данных:

```bash theme={"system"}
useradd --system --user-group --home-dir /var/lib/monero \
  --no-create-home --shell /usr/sbin/nologin monero

install -d -o root -g monero -m 0750 /etc/monero
install -d -o monero -g monero -m 0750 /var/lib/monero /var/log/monero
```

Создайте `/etc/monero/monerod.conf`:

```bash theme={"system"}
cat > /etc/monero/monerod.conf <<'EOF'
data-dir=/var/lib/monero
log-file=/var/log/monero/monerod.log
log-level=0
max-log-file-size=20971520
max-log-files=5

prune-blockchain=1
sync-pruned-blocks=1
max-concurrency=2

p2p-bind-ip=0.0.0.0
p2p-bind-port=18080
hide-my-port=0
in-peers=32
out-peers=12
igd=disabled

rpc-bind-ip=127.0.0.1
rpc-bind-port=18081
rpc-restricted-bind-ip=127.0.0.1
rpc-restricted-bind-port=18089
no-zmq=1

enable-dns-blocklist=1
check-updates=disabled
limit-rate-down=32768
limit-rate-up=1024
EOF

chown root:monero /etc/monero/monerod.conf
chmod 0640 /etc/monero/monerod.conf
runuser -u monero -- test -r /etc/monero/monerod.conf
```

Последняя команда должна завершиться без ошибок. Демон должен читать этот файл, но изменять его должен только root.

Конфигурация использует mainnet и P2P через IPv4. Оба RPC-интерфейса остаются на localhost. `max-concurrency=2` ограничивает число параллельных рабочих потоков; настройте его под VPS. Проверка обновлений отключена, поэтому новые версии Monero нужно отслеживать самостоятельно.

Заданная исходящая скорость — примерно 1 MiB/s. При непрерывной передаче с такой скоростью за 30 дней только исходящий трафик приблизится к **2,7 TB**. Реальный расход различается; это не месячный лимит. Следите за [трафиком VPS](https://docs.edisglobal.com/ru/faq/traffic-bandwidth/traffic-stats-refill-explained.md) и подбирайте скорость под свой лимит.

## Настройте межсетевой экран

Разрешите входящий **TCP 18080**, чтобы подключались другие узлы Monero. Порты **18081** и **18089** оставьте закрытыми из Интернета: кошелёк в этом руководстве использует SSH.

Если вы уже управляете фильтрацией через nftables, iptables или другую систему, добавьте правило P2P в неё. **Не устанавливайте второй менеджер межсетевого экрана и не заменяйте существующий набор правил.** Также проверьте внешние межсетевые экраны.

> [!WARNING]
>
> **До** включения UFW замените `22` ниже фактическим портом SSH. Сохраните текущий сеанс и проверьте второе SSH-подключение, прежде чем закрывать первый. Если на VPS есть другие службы, сначала добавьте необходимые им правила. См. [руководство по UFW](https://docs.edisglobal.com/ru/advanced-setup-guides/ufw-uncomplicated-firewall-howto.md).

Для нового VPS без существующей политики фильтрации этот пример UFW разрешает SSH и P2P:

```bash theme={"system"}
apt install -y ufw
ufw allow 22/tcp comment 'SSH'
ufw allow 18080/tcp comment 'Monero P2P'
ufw default deny incoming
ufw default allow outgoing
ufw enable
ufw status verbose
```

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

## Запустите узел через systemd

Создайте службу от пользователя `monero`, хранящую данные отдельно от каталога установки:

```bash theme={"system"}
cat > /etc/systemd/system/monerod.service <<'EOF'
[Unit]
Description=Monero node
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=monero
Group=monero
WorkingDirectory=/var/lib/monero
ExecStart=/opt/monero/monerod --config-file /etc/monero/monerod.conf --non-interactive
Restart=on-failure
RestartSec=15
KillSignal=SIGINT
TimeoutStopSec=300
LimitNOFILE=65536
UMask=0077
NoNewPrivileges=true
PrivateTmp=true
PrivateDevices=true
ProtectSystem=strict
ProtectHome=true
ReadWritePaths=/var/lib/monero /var/log/monero

[Install]
WantedBy=multi-user.target
EOF

systemd-analyze verify /etc/systemd/system/monerod.service
systemctl daemon-reload
systemctl enable --now monerod.service
systemctl status monerod.service --no-pager
```

Проверьте, что P2P слушает публичный адрес, а RPC — только localhost:

```bash theme={"system"}
ss -lntp | grep -E ':(18080|18081|18089)\b'
```

Ожидаются `0.0.0.0:18080`, `127.0.0.1:18081` и `127.0.0.1:18089`. Публично доступного RPC быть не должно.

## Дождитесь начальной синхронизации

Служба продолжает работать после отключения SSH. Следите за ходом:

```bash theme={"system"}
tail -f /var/log/monero/monerod.log
```

Нажмите **Ctrl+C**, чтобы выйти из просмотра журнала: узел не остановится. Для ошибок запуска:

```bash theme={"system"}
journalctl -u monerod.service -n 50 --no-pager
```

Запросите краткий статус у локального демона:

```bash theme={"system"}
curl --fail --silent --show-error http://127.0.0.1:18081/get_info \
  | jq '{status, height, target_height, synchronized, busy_syncing,
         incoming_connections_count, outgoing_connections_count}'
```

Дождитесь `status: OK` и `synchronized: true`. Если пиры ещё не подключились, повторите проверку позже. После завершения синхронизации `target_height` не всегда заполнен; это не фиксированная цель для ручного ввода.

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

Проверяйте свободное место и память во время синхронизации:

```bash theme={"system"}
df -h /var/lib/monero
du -sh /var/lib/monero/lmdb
free -h
```

Сообщения об **увеличении LMDB mapsize** обычно означают рост базы, а не сбой. Расследуйте реальные ошибки, нехватку диска, повторные перезапуски или длительную остановку роста высоты блокчейна.

## Подключите кошелёк через частное соединение

На **своём компьютере** откройте SSH-туннель к ограниченному RPC. Замените `YOUR_SSH_USER` и `YOUR_VPS_IP` обычными данными SSH:

```bash theme={"system"}
ssh -N -T -o ExitOnForwardFailure=yes -o ServerAliveInterval=30 \
  -L 127.0.0.1:18089:127.0.0.1:18089 YOUR_SSH_USER@YOUR_VPS_IP
```

Для нестандартного порта SSH добавьте `-p YOUR_SSH_PORT`. Не закрывайте этот терминал, пока используете кошелёк. Успешно открытый туннель обычно не выводит дополнительных сообщений.

В **Monero Wallet GUI** включите Advanced mode и откройте **Settings → Node**. Выберите удалённый узел и укажите:

| Поле | Значение |
| - | - |
| Address | `127.0.0.1` |
| Port | `18089` |
| Username и password | Оставьте пустыми для этой конфигурации |
| SSL | Внутри этого SSH-туннеля не требуется |

Выберите узел и подключитесь. Здесь `127.0.0.1` — локальный конец туннеля на вашем компьютере; SSH передаёт соединение VPS. После синхронизации демона кошельку ещё нужно просканировать собственную историю транзакций.

Для проверки выполните на компьютере при открытом туннеле:

```bash theme={"system"}
curl --fail --silent --show-error http://127.0.0.1:18089/get_info
```

Ответ должен содержать `"restricted": true`. Не используйте в кошельке **18080**: это порт P2P, а не RPC кошелька.

Файлы и ключи кошелька остаются на компьютере или аппаратном кошельке. SSH-туннель шифрует соединение с VPS, но не делает VPS анонимным и не скрывает его публичный IP от пиров Monero.

## Публичный P2P и публичный доступ кошельков

При доступном TCP 18080 ваш узел уже помогает другим узлам Monero. Для этого **не нужно** открывать публичный RPC кошельков.

Обслуживание кошельков всех желающих — отдельное решение. Для него нужны публичный **ограниченный** RPC, лимиты соединений, планирование трафика, мониторинг и подходящая настройка TLS. Нагрузка может значительно возрасти. Если узел также обслуживает платежи бизнеса, рекомендуем размещать публичную службу кошельков на отдельном VPS.

Никогда не открывайте в Интернет неограниченный RPC демона или `monero-wallet-rpc`. Здесь доступ кошелька намеренно ограничен SSH. Если планируете отдельную публичную службу, см. [справочник настроек RPC Monero](https://docs.getmonero.org/interacting/monerod-reference/#node-rpc-api).

## Обслуживание и диагностика

> [accordion] Кошелёк не подключается
>
> Убедитесь, что SSH-туннель работает, а кошелёк использует `127.0.0.1:18089`. Проверьте `/get_info` со своего компьютера. Если SSH сообщает, что локальный порт занят, выберите другой, например `28089`, в первой половине `-L` и в кошельке. Адрес назначения на VPS оставьте `127.0.0.1:18089`.

> [accordion] Нет входящих пиров
>
> Проверьте `in-peers`, `hide-my-port`, адрес прослушивания и межсетевые экраны VPS и внешней сети. Новому узлу может потребоваться время для появления входящих соединений. С другого компьютера проверьте TCP командой `nc -vz YOUR_VPS_IP 18080`; это не проверка RPC кошелька.

> [accordion] В журнале есть блокировка и разблокировка хостов
>
> При `enable-dns-blocklist=1` демон использует DNS-список блокировки Monero. Блокировки пиров также могут быть вызваны их поведением. Эти сообщения сами по себе не означают сбой сервера. Сначала проверьте синхронизацию и исправные соединения с пирами.

> [accordion] Служба завершается с ошибкой прав доступа
>
> Проверьте владельца `root:monero` и права `0750` у `/etc/monero`, а также владельца `root:monero` и права `0640` у `monerod.conf`. Пользователь `monero` должен иметь право записи в `/var/lib/monero` и `/var/log/monero`. Уточните путь в журнале; не давайте всем пользователям право записи в эти каталоги.

> [accordion] Растёт расход диска или трафика
>
> База с pruning тоже растёт. Следите за `df`, размером базы и панелью трафика EDIS Global. Включение pruning для ранее полной базы не уменьшает существующий файл немедленно. Не начинайте диагностику с удаления базы: изучите официальную документацию pruning и при необходимости добавьте место.

> [accordion] Как обновить узел?
>
> Следите за официальными выпусками Monero. До остановки службы скачайте и проверьте новую версию, как в шаге 2. Сохраните копии конфигурации и файла службы, остановите её командой `systemctl stop monerod`, замените `/opt/monero/monerod` проверенным файлом и выполните `systemctl start monerod`. Затем проверьте версию, состояние службы и синхронизацию. Не изменяйте `/var/lib/monero` и сначала прочитайте инструкции обновления для конкретного выпуска.

## Что такое pruning: похоже ли это на RAID 5?

**Узел с pruning сохраняет основную историю транзакций, удаляя значительную часть старых подписей и доказательств.** Он поддерживает обычную работу кошелька, проверку новых блоков и передачу транзакций. Полный узел сохраняет все исторические данные.

Сравнение с RAID объясняет одну особенность: разные узлы Monero могут хранить разные части истории. Однако **pruning не использует чётность и механизм восстановления RAID 5**.

| Вопрос | RAID 5 | Pruning Monero |
| - | - | - |
| Что распределяется? | Данные и чётность по согласованному набору дисков | Разные части старых удаляемых данных по независимым узлам |
| Что остаётся у каждого участника? | Доля данных и чётности этого диска | Основные данные блокчейна, полные недавние блоки и около 1/8 старых удаляемых данных |
| Как получить недостающие данные? | Чётность позволяет восстановить их при отказе одного диска | Нужно скачать их у пира, который ещё хранит эти данные |
| Гарантирована ли полнота покрытия? | У определённого массива есть определённая устойчивость к отказам | Части у узлов могут совпадать; произвольные восемь узлов с pruning не обязательно покрывают всё |

Полезная аналогия — сеть библиотек: **каждая хранит основные записи, а разные библиотеки — разные разделы подробного исторического архива**. Некоторые библиотеки, соответствующие полным узлам, хранят весь архив. Библиотека не может воссоздать отсутствующий раздел только из уже имеющихся.

**Доля 1/8 относится только к удаляемым данным**, а не ко всему блокчейну. Поэтому pruning экономит примерно две трети общего объёма, а не семь восьмых. Хранение взаимодополняющих частей помогает другим пирам синхронизироваться, но не превращает сеть в дисковый массив и не заменяет резервное копирование.

См. [обзор pruning Monero](https://www.getmonero.org/resources/moneropedia/pruning.html) и [объяснение обмена историческими данными между узлами](https://www.getmonero.org/2019/02/01/pruning.html).

## Связанная документация

* [Оплата счетов EDIS Global криптовалютой](https://docs.edisglobal.com/ru/faq/billing-lifecycle/cryptocurrency-payments.md)
* [Статистика трафика VPS и пополнение](https://docs.edisglobal.com/ru/faq/traffic-bandwidth/traffic-stats-refill-explained.md)
* [Настройка межсетевого экрана UFW](https://docs.edisglobal.com/ru/advanced-setup-guides/ufw-uncomplicated-firewall-howto.md)
* [Официальные загрузки Monero](https://www.getmonero.org/downloads/)
* [Официальная инструкция проверки загрузок](https://www.getmonero.org/resources/user-guides/verification-allos-advanced.html)
* [Объяснение pruning Monero](https://www.getmonero.org/resources/moneropedia/pruning.html)


## Related topics

- [Установка Cockpit на VPS Debian 13 для управления через веб](https://docs.edisglobal.com/ru/advanced-setup-guides/install-cockpit-on-vps.md)
- [Отключение serial-getty@ttyS0 в Debian 13 (устранение лишних записей в журнале)](https://docs.edisglobal.com/ru/misc/disable-serial-getty-ttys0-debian-13.md)
- [Переустановка VPS (Linux или Windows)](https://docs.edisglobal.com/ru/vps-management/autoinstall-reinstall-install-vps-linux-windows.md)
- [Автоматическая установка MikroTik RouterOS (MikroTik CHR)](https://docs.edisglobal.com/ru/advanced-setup-guides/script-based-mikrotik-router-os-installation-guide-winbox.md)
- [Настройка дополнительного IP на Linux VPS](https://docs.edisglobal.com/ru/faq/ip-addresses/configuring-additional-ip-address-linux.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.