所有系统运行正常 21 支持的加密货币 · 欢迎使用 Monero 无需 KYC 政策
ChainVPS

隐私

如何在VPS上运行门罗币节点

自己验证区块链、私密同步钱包,并让门罗币节点全天候在线——一份务实、安全优先的搭建指南。

隐私7 分钟阅读 readChainVPS 团队

如何在VPS上运行门罗币节点

运行自己的 Monero 节点意味着你可以亲自验证区块链、无需信任陌生人的服务器即可广播交易,并且不再向第三方远程节点泄露你的钱包活动——而 VPS 是让节点 24/7 全天候保持在线的最简洁方式。

为什么要运行自己的 Monero 节点

大多数钱包默认使用由他人运营的公共远程节点。该节点能看到你的钱包发出的每一个请求,并可以将你的 IP、请求时间以及钱包扫描的区块范围关联起来。

由你自己掌控的节点可以去掉这个中间人。你将获得权威的验证结果、更快且更私密的钱包同步,以及随时随地为自己设备提供服务的能力。

无需信任的验证

你的节点会依据共识规则独立检查每一个区块和交易——无需信任任何第三方。

钱包隐私

将你自己的钱包指向自己的节点,这样扫描请求就永远不会经过会记录 IP 的公共服务器。

始终在线

即使你的笔记本电脑进入休眠,VPS 也能保持在线,让你的节点持续同步,随时待命。

网络健康

每一个连接良好的节点都会增强 Monero 的点对点网络结构和去中心化程度。

你到底需要什么样的 VPS

Monero 的链体积庞大且在持续增长。最重要的资源是磁盘空间,其次是内存和稳定的网络连接——CPU 主要在初始同步阶段才显得重要。

存储目前约需 250 GB 以上的 SSD/NVMe,并预留增长空间;使用剪枝节点可将其压缩至约三分之一
内存最低 2 GB,4 GB 更为宽裕——数据库采用内存映射,内存越大可缓存的数据就越多
CPU2 个 vCPU 已经足够;初始验证是唯一的高负载阶段
带宽强烈建议选择不限流量的方案——公共节点可能会产生可观的流量
端口18080(P2P)、18081(RPC),如果要开放受限的公共 RPC,还需要 18089

磁盘速度才是初始同步阶段真正的瓶颈。相比机械硬盘,NVMe 可以把原本需要数天的同步时间缩短到几个小时。如果你的服务商提供 NVMe,请务必选用。

对于需要不断增长的磁盘空间、并且需要离岸、不限流量主机的场景来说,注重隐私的 VPS 是理所当然的选择——ChainVPS 的离岸 VPS 套餐采用预付费模式、无需 KYC,并配备不限流量带宽,让繁忙的节点也不会产生超额费用。

剪枝节点 vs 完整节点

完整节点会存储整条区块链。剪枝节点会保留全部区块头以及验证所需的数据,但会丢弃大部分不再需要用于提供服务的历史环成员数据。

  • 剪枝节点:磁盘占用约为完整节点的三分之一,验证严格程度不变,且仍可为钱包提供服务——非常适合资源较少的 VPS。
  • 完整节点:保留全部数据,适合需要为剪枝节点对等方提供服务或运行归档类工具的场景。
  • 对于个人使用或为钱包提供服务的节点而言,剪枝节点是更合理的默认选择,也最能节省存储空间。

分步指南:安装并运行 monerod

  1. 1

    准备 VPS

    创建一台满足上述配置要求的 Debian 或 Ubuntu 主机。通过 SSH 登录,并为守护进程创建一个非 root 用户。

  2. 2

    先做好安全加固

    在对外开放任何服务之前,先更新软件包、启用防火墙(放行 SSH 以及 18080/18081 端口),并设置仅密钥登录的 SSH。

  3. 3

    下载官方二进制文件

    从 getmonero.org 获取命令行工具,并对照已签名的哈希文件校验 GPG 签名和哈希值。切勿跳过校验步骤。

  4. 4

    解压并放置 monerod

    解压压缩包,并将 monerod 移动到 /usr/local/bin,使其位于你的 PATH 中。

  5. 5

    创建数据目录

    创建一个专用文件夹,例如 /var/lib/monero,并将其所有者设为守护进程用户,然后将节点指向该目录,使数据存放在你的大容量磁盘上。

  6. 6

    编写配置文件

    创建 monerod.conf,写入 data-dir、日志设置、剪枝标志以及 RPC 绑定等参数。配置文件比冗长的命令行更好用,并且能在重启后依然生效。

  7. 7

    在 systemd 下运行

    创建一个 systemd 服务,让节点开机自启、失败自动重启,并以非特权身份运行。然后启用并启动该服务。

  8. 8

    关注初始同步

    查看日志尾部,或在 monerod 中运行 status 命令。初始同步根据磁盘速度不同,需要数小时到一天不等;在同步完成之前,不要依赖该节点。

一份最简 monerod.conf

  • data-dir=/var/lib/monero——将数据库保存在你的大容量卷上
  • prune-blockchain=1——以剪枝模式运行以节省磁盘空间
  • log-file=/var/log/monero/monerod.log 以及 log-level=0
  • rpc-bind-ip=127.0.0.1 以及 rpc-bind-port=18081——除非你有意公开 RPC,否则请让其保持本地绑定
  • p2p-bind-port=18080——用于维持点对点连接的端口
  • no-igd=1 以及 enable-dns-blocklist=1——在 VPS 上跳过 UPnP,并屏蔽已知的恶意节点

除非你打算对公众提供服务,否则请将 RPC 绑定在 127.0.0.1。如果需要让远程钱包访问它,请通过 SSH 或 WireGuard 建立隧道,而不是将 18081 端口直接开放给整个互联网。

将钱包连接到你的节点

同步完成后,将钱包的守护进程地址指向你的节点。请私密地进行这一操作——在公网上暴露明文 RPC 端口会让你运行自有节点的初衷失去意义。

SSH 隧道

通过 SSH 将远程的 18081 端口转发到本地端口。你的钱包只与 localhost 通信,不会有任何明文流量暴露在公网上。

WireGuard

将你的节点和设备放入一个小型私有 VPN 中,并让钱包指向节点的内网 IP。

Tor 隐藏服务

将 RPC 以 onion 服务的形式暴露出去,让远程钱包无需公网 IP 即可离岸访问它。

运行离岸节点或公共节点

你可以通过受限 RPC 端口 18089 为他人提供服务,从而为网络做出贡献,该端口只暴露钱包所需的功能,并隐藏敏感操作。

  • 使用 --public-node 和 --rpc-restricted-bind-port=18089 来对外宣告一个受限端点。
  • 考虑通过 Tor 或 I2P 运行节点,使节点的位置无法与你的身份关联——隐私网络在 Monero 中是一等公民。
  • 请谨慎设置速率限制和防火墙规则;公共节点会吸引流量,偶尔也会遇到滥用的对等节点。

在基于你的节点构建的任何应用中,切勿通过计算固定数量的确认数来宣称交易已经最终确定。应将网络确认后的付款视为已结算,并根据你自身可接受的风险来决定要等待多久。

保持节点健康运行

  • 在网络升级前后及时更新 monerod——过时的节点可能会分叉,并停止正确验证。
  • 监控磁盘使用情况;区块链只会持续增长,请在磁盘卷被填满之前设置告警。
  • 备份你的 monerod.conf 和 systemd 单元文件,而不是区块链本身——区块链可以从对等节点重新同步。
  • 定期检查对等节点数量和同步高度,以便及早发现节点停滞或被孤立的情况。
Monero 节点到底需要多少磁盘空间?

目前,剪枝节点可以轻松控制在 100 GB 以内,而完整节点大约需要 250 GB,并且还在持续增长。由于区块链会不断增长,建议预留额外空间,而不要按当前的确切总量来配置。

对于 Monero 节点来说,VPS 的隐私性是否足够?

真正保护你的是节点软件本身,而不是主机——无论如何,验证过程都是无需信任的。若要保护元数据隐私,请选择无需 KYC 的服务商、使用加密货币支付、让 RPC 远离公网,并可以选择通过 Tor 或 I2P 路由节点流量。

运行节点会加快我的钱包同步速度吗?

会的。与遥远的公共节点相比,针对搭载 NVMe 的快速本地节点进行同步要快得多,也更私密,因为不存在共享队列,也没有第三方记录你的扫描请求。

我可以在同一台 VPS 上同时运行节点和钱包吗?

可以,但更干净的做法是不要把花费密钥和查看密钥留在面向公网的主机上。建议在 VPS 上运行 monerod,再从你自己的设备通过 SSH 隧道或 VPN 连接钱包。

付诸实践。

离岸服务器最低 $3.49/月起部署 · 21 种加密货币 · 无需 KYC。