惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
人人都是产品经理
人人都是产品经理
Cisco Talos Blog
Cisco Talos Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
博客园 - 三生石上(FineUI控件)
Martin Fowler
Martin Fowler
WordPress大学
WordPress大学
D
Docker
S
SegmentFault 最新的问题
博客园 - 聂微东
美团技术团队
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Last Week in AI
Last Week in AI
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
GbyAI
GbyAI
L
LangChain Blog
Vercel News
Vercel News
博客园 - 叶小钗
MongoDB | Blog
MongoDB | Blog
Stack Overflow Blog
Stack Overflow Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
Engineering at Meta
Engineering at Meta
T
Threat Research - Cisco Blogs
T
Threatpost
Scott Helme
Scott Helme
T
Tailwind CSS Blog
Latest news
Latest news
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
The Register - Security
The Register - Security
罗磊的独立博客
P
Proofpoint News Feed
腾讯CDC
S
Schneier on Security
雷峰网
雷峰网
A
About on SuperTechFans
T
Tenable Blog
F
Full Disclosure
Cyberwarzone
Cyberwarzone
博客园_首页
有赞技术团队
有赞技术团队
K
Kaspersky official blog

文章列表

新NAS到货啦!飞牛联名NAS开箱! 飞牛0day漏洞,请立即升级 128G系统盘克隆至1T盘全攻略 解决个人开发者多端体验难题,一个PWA搞定 视频直播虚拟设备配置指南 文件类型判断的三重层次 IPv6到底咋个事儿? 每日幸福😍No.25 忙完这一阵…
阿里云部署ZeroTier Moon节点踩坑记录
dadamelon · 2026-04-10 · via

_

如果你按照通用教程在阿里云部署ZeroTier Moon节点,却发现自己始终无法连接,而其他云服务器却能顺利运行,这并非你的操作失误。许多用户在阿里云环境都遇到了这一特定问题,其根源在于阿里云与众不同的网络架构设计。

问题核心:阿里云网络的独特机制

简单来说,问题出在阿里云处理公网IP地址的方式上。

其他云平台

  • 公网IP直接绑定在虚拟机网卡上
  • 服务器明确知道自己的公网身份
  • 内外通信路径清晰

阿里云

  • 公网IP由网关通过DNAT方式转发
  • 服务器只能看到自己的内网IP(如172.x.x.x)
  • 服务器不知道自己的公网地址

这就好比你的服务器有一个专属邮箱(内网IP),但所有寄到你公司前台(公网IP)的包裹,前台不知道该转交给谁。服务器能主动向外寄件(连接官方Planet节点),却难以可靠地接收来自特定地址的包裹(Moon连接请求)。

解决方案:明确告知服务器其公网身份

我们需要通过配置,明确告诉运行在阿里云上的ZeroTier服务:"使用这个公网地址进行通信。"

服务器端(阿里云)配置

这是关键的第一步,确保后续操作在正确的路径下进行。 新建一个名为 local.conf 的文件,用于指定公网端点。
{  
  "physical": {  
    "你的公网IP/32": {  
      "type": "public",  
      "stableEndpoints": ["你的公网IP/9993"]  
    }  
  },  
  "settings": {  
    "primaryPort": 9993  
  }  
}

务必将 你的公网IP 替换为你阿里云服务器的实际公网IP地址。

保存并退出编辑器(在nano中:按 写入,回车确认,再按 退出)。

此命令会输出一个以 .moon 结尾的新文件名,其中包含一串ID(例如 abcd123456),记下它。

客户端配置

在你需要连接此Moon节点的电脑上(以Windows为例),需要更新Moon节点信息。

以管理员身份打开命令提示符或PowerShell。 将 abcd123456 替换为你在服务器端第4步记下的Moon ID。

检查阿里云平台设置

完成上述配置后,大部分连接问题应得到解决。如果仍无法连接,检查阿里云控制台中的两项设置,它们有时会干扰UDP协议的正常通信:

  • 云盾(安全中心)的UDP流量清洗:登录阿里云控制台,进入"云盾"或"安全中心"下的DDoS防护基础版设置,查看是否有针对UDP流量的清洗规则,可尝试暂时调整策略或加入白名单。
  • 安全组的状态检查:部分区域的安全组策略可能包含严格的连接跟踪机制。检查你的安全组"高级设置",了解是否存在可能丢弃非主动发起UDP回包的相关规则。

验证连接成功

配置完成后,在客户端电脑上运行以下命令检查状态:

在输出列表中,找到对应你Moon ID的那一行。当连接成功时,你会看到:

  • path 字段显示为你阿里云服务器的公网IP和端口(例如 1.2.3.4/9993)。
  • latency 延迟显示为一个合理的毫秒数。
  • role 角色明确标识为 MOON。

关于阿里云环境的说明

阿里云的网络架构在通用性和安全性方面有诸多设计考量,这种设计对大多数Web应用是透明且有利的,但恰好与ZeroTier这类P2P软件的某些通信模式产生了兼容性要求。

通过以上步骤,我们手动补充了网络路径信息,使ZeroTier能够适应阿里云的环境。这个过程虽然增加了配置步骤,但一旦完成,Moon节点便能和其他云平台一样稳定工作。如果遇到问题,建议按照本指南逐步核对,通常可以定位并解决连接障碍。