You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行Solana RPC节点遇连接超时及公网IP识别问题求助

解决Solana RPC节点连接超时及公网IP识别问题

环境信息

  • 系统:Ubuntu 22.04
  • Solana版本:solana-cli 1.18.21 (src:818807a5; feat:4215500110, client:SolanaLabs)

问题分析

从日志看,核心问题有两个:

  1. 无法连接Solana主网entrypoint节点,持续出现连接超时
  2. 系统无法自动识别节点的公网IP地址,影响集群通信

解决方案

1. 排查网络连通性

  • 测试entrypoint端口可达性:执行命令验证能否连接主网entrypoint
    nc -zv entrypoint.mainnet-beta.solana.com 8001
    
    若输出"Connection refused"或超时,说明网络存在限制。
  • 检查本地防火墙规则:Ubuntu默认使用ufw,执行sudo ufw status查看规则,确保出站方向开放以下端口:
    sudo ufw allow out 8000:8020/tcp
    sudo ufw allow out 8001/tcp
    
  • 云服务器安全组检查:如果是云主机,需在安全组中配置出站规则,开放8000-8020、8001端口。

2. 手动指定公网IP

添加--public-ip参数强制指定节点公网IP,修复自动识别失败问题。修改启动脚本,在参数列表末尾添加:

--public-ip 你的公网IP地址 \

3. 调整entrypoint配置

  • 替换为就近entrypoint:如果默认entrypoint延迟过高,可更换为区域节点(比如亚洲区节点),或直接使用解析后的IP地址避免DNS解析问题。
  • 延长RPC超时时间:可尝试添加--rpc-timeout 10000(单位毫秒)提升连接容错性。

4. 检查端口占用

验证动态端口范围8000-8020是否被其他进程占用:

sudo lsof -i :8000-8020

若有占用,杀掉对应进程或调整--dynamic-port-range参数更换端口范围。

5. 验证版本兼容性

虽然1.18.21是稳定版本,仍建议更新到最新稳定版确保与集群兼容:

solana-install update

修改后的启动脚本示例

#!/bin/bash
set -e
set -u
export RUST_LOG=error

solana-validator \
    --identity /var/solana/data/config/validator-keypair.json \
    --known-validator 7Np41oeYqPefeNQEHSv1UDhYrehxin3NStELsSKCT4K2 \
    --known-validator GdnSyH3YtwcxFvQrVVJMm1JhTS4QVX7MFsX56uJLUfiZ \
    --known-validator DE1bawNcRJB9rVm3buyMVfr8mBEoyyu73NBovf2oXJsJ \
    --known-validator CakcnaRDHka2gXyfbEd2d3xsvkJkqsLw2akB3zsN1D2S \
    --only-known-rpc \
    --full-rpc-api \
    --no-voting \
    --ledger /var/solana/data/ledger \
    --accounts /var/solana/accounts \
    --log /home/r630/solana-rpc.log \
    --rpc-port 8899 \
    --rpc-bind-address 127.0.0.1 \
    --private-rpc \
    --dynamic-port-range 8000-8020 \
    --expected-genesis-hash 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d \
    --entrypoint entrypoint.mainnet-beta.solana.com:8001 \
    --entrypoint entrypoint2.mainnet-beta.solana.com:8001 \
    --entrypoint entrypoint3.mainnet-beta.solana.com:8001 \
    --entrypoint entrypoint4.mainnet-beta.solana.com:8001 \
    --entrypoint entrypoint5.mainnet-beta.solana.com:8001 \
    --wal-recovery-mode skip_any_corrupted_record \
    --init-complete-file /var/solana/data/init-completed \
    --limit-ledger-size \
    --public-ip 你的公网IP地址 \

内容的提问来源于stack exchange,提问作者Jack Liu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 22:54:52