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

使用公网IP跨机器运行Corda节点时连接失败问题

排查Azure上Corda节点公网连接失败的解决方案

我来帮你捋捋这个公网连接失败的问题——Azure上部署Corda节点遇到这种内外网差异的情况挺常见的,咱们从几个核心方向一步步排查:

1. 先查Azure网络安全组(NSG)的端口规则

这是最容易踩坑的点:

  • 确认两台VM的公网NSG(包括子网级和VM级)都开放了Corda节点的P2P通信端口(默认是10002),还有RPC端口(如果需要的话比如10003),而且是双向允许(入站和出站都要开)。
  • 快速验证端口是否可达:在本地或者另一台公网机器上执行 telnet <目标公网IP> 10002 或者 nc -zv <目标公网IP> 10002,如果连接超时,那大概率是NSG或者防火墙的问题。

2. 检查Corda节点的配置文件

节点自身的地址配置错了,公网肯定连不上:

  • 打开节点的node.conf,确认p2pAddress字段填的是公网IP+端口,而不是内网IP。比如正确配置应该是:
    p2pAddress="your-public-ip:10002"
    
  • 另外,如果配置了advertisedServices,里面的地址也要改成公网可访问的,不然其他节点从网络映射拿到的还是内网地址,自然连不通。

3. 确认Azure公网IP的关联与NAT设置

  • 先看VM的公网IP是不是静态分配的——动态IP重启后会变,之前的配置就失效了。
  • 如果用了NAT网关或者负载均衡,检查端口映射规则:公网的10002端口要准确转发到VM内网的10002端口,别搞混了端口号或者映射到了错误的VM。

4. 别忘了VM操作系统的防火墙

NSG开了端口,系统防火墙也可能拦:

  • Linux系统:执行 sudo ufw allow 10002/tcp 开放端口,或者用 sudo iptables -L 查看是否有拒绝公网流量的规则。
  • Windows系统:打开防火墙高级设置,添加入站规则,允许10002端口的TCP流量。

5. 网络映射(Network Map)的注册地址要对

如果你们用了Corda的网络映射服务,一定要确保节点在映射里注册的是公网IP——其他节点会从这里获取你的节点地址,要是注册的是内网IP,公网环境下根本找不到你。

6. 最后检查路由与DNS解析

  • 如果用了域名绑定公网IP,先执行 nslookup <你的域名> 确认解析正常,别是DNS缓存或者解析错误导致连不上。
  • 查看VM的路由表,有没有自定义路由把公网流量错误导向内网,导致公网请求无法到达VM。

你可以先从NSG和节点配置这两个最常见的点开始排查,先验证端口是否能通,再逐步缩小范围,应该能很快定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:45:29