赵泠 2025-11-06 13:15 采纳率: 98.6%
浏览 66
已采纳

ZeroTier节点卡在requesting_configurati...

ZeroTier节点卡在“requesting_configuration”状态是常见连接问题,通常表现为设备已安装ZeroTier并加入网络,但长期无法获取IP地址和路由配置。该问题多由控制器配置错误、网络ACL限制、防火墙阻断UDP 9993端口或本地服务异常导致。排查时需确认ZeroTier服务正常运行、设备已获授权、控制器网络设置正确,并检查中间网络是否允许ZeroTier通信。
  • 写回答

1条回答 默认 最新

  • kylin小鸡内裤 2025-11-06 13:26
    关注

    ZeroTier节点卡在“requesting_configuration”状态的深度排查与解决方案

    1. 问题现象概述

    ZeroTier是一种基于P2P的虚拟组网工具,广泛应用于跨地域私有网络构建。当节点加入网络后长期处于requesting_configuration状态时,意味着该节点已成功连接至ZeroTier根服务器(planet),但未能从控制器获取IP地址、子网掩码及路由等关键配置信息。

    此状态通常持续数分钟以上仍无进展,表现为:

    • 使用zerotier-cli listnetworks命令显示REQUESTING_CONFIG
    • 未分配虚拟IP地址
    • 无法与其他成员通信
    • 日志中频繁出现“waiting for network config”提示

    2. 排查流程:由浅入深的诊断路径

    为系统化定位问题根源,建议遵循以下分层排查顺序:

    1. 确认本地ZeroTier服务运行状态
    2. 验证设备是否已在控制器端授权
    3. 检查控制器网络配置(IP分配、路由规则)
    4. 分析中间网络是否存在ACL或防火墙限制
    5. 深入调试UDP 9993通信链路连通性
    6. 查看系统级日志与抓包分析

    3. 常见原因分类与对应表现

    故障类别典型表现影响层级检测手段
    控制器配置错误未启用自动IP分配、缺少成员授权应用层Web控制台检查成员状态
    网络ACL限制企业防火墙阻止出站UDP流量网络层telnet/nc测试端口可达性
    本地防火墙阻断iptables/nftables丢弃9993端口数据包主机层firewall-cmd --list-ports
    DNS解析异常无法解析api.zerotier.com传输层dig api.zerotier.com
    服务未启动或崩溃systemctl status zerotier-one显示非运行状态系统层systemctl status

    4. 解决方案详解

    针对上述各类问题,提供如下具体操作步骤:

    4.1 确认ZeroTier服务正常运行

    
    # 检查服务状态
    sudo systemctl status zerotier-one
    
    # 若未运行则重启服务
    sudo systemctl restart zerotier-one
    
    # 查看实时日志
    sudo journalctl -u zerotier-one -f
        

    4.2 验证控制器授权状态

    登录ZeroTier Central,进入对应网络页面,在“Members”列表中查找本设备MAC地址或Node ID,确保其右侧勾选框被选中(即已授权)。

    若未授权,请手动点击启用;也可通过API批量管理:

    
    curl -X POST https://api.zerotier.com/api/v1/network/<NETWORK_ID>/member/<NODE_ID> \
         -H 'Authorization: bearer <YOUR_AUTH_TOKEN>' \
         -d '{ "authorized": true }'
        

    4.3 检查控制器网络配置

    确保以下设置正确:

    • IP Assignment Pools:定义了可分配的IP范围,如192.168.196.0/24
    • Routes:配置静态路由以实现跨子网访问
    • Managed Routes:开启后由控制器推送路由表

    4.4 测试UDP 9993端口连通性

    ZeroTier依赖UDP 9993进行信令交互和心跳维持。可通过以下方式测试:

    
    # 使用socat测试本地监听
    sudo socat - UDP4:echo:9993,sourceport=9993
    
    # 或使用nmap扫描(需远程支持)
    nmap -sU -p 9993 <your_public_ip>
        

    5. 高级诊断:抓包与日志分析

    当基础排查无效时,应启用深度分析手段:

    
    # 抓取ZeroTier相关UDP流量
    sudo tcpdump -i any udp port 9993 -w zerotier.pcap
    
    # 过滤并分析请求响应过程
    tshark -r zerotier.pcap -Y "udp.dstport == 9993" --color
        

    重点关注是否有来自2a01:4f8:160:30ba::2(ZeroTier根节点IPv6)的数据包返回。

    6. 可视化故障排查流程图

    graph TD A[节点显示 REQUESTING_CONFIG] --> B{ZeroTier服务运行?} B -- 否 --> C[启动 zerotier-one 服务] B -- 是 --> D{控制器已授权?} D -- 否 --> E[在Central中授权设备] D -- 是 --> F{IP分配池配置正确?} F -- 否 --> G[设置IP Assignment Pool] F -- 是 --> H{UDP 9993可通?} H -- 否 --> I[开放防火墙/AWS SG/NAT规则] H -- 是 --> J[检查DNS解析能力] J --> K[抓包分析通信细节] K --> L[联系ZeroTier技术支持]

    7. 特殊场景注意事项

    在某些复杂网络环境中需额外注意:

    • 容器环境:Docker/Podman需添加--cap-add=NET_ADMIN --device=/dev/net/tun
    • OpenWRT路由器:确保kmod-tun与kmod-iptunnel均已安装
    • 云服务商限制:阿里云、AWS默认禁止P2P UDP广播,需调整安全组策略
    • NAT穿透失败:对称型NAT环境下可能需要中继节点辅助
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 11月7日
  • 创建了问题 11月6日