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

Puppet运行报无法获取证书、TCP连接失败错误排查

Puppet客户端连接服务端域名解析报错排查方案

报错核心触发点为客户端无法解析配置的Puppet服务端域名,无法建立到服务端8140端口的TCP连接,按以下顺序逐层排查即可解决:

  • 第一步:验证基础域名解析能力
    在DietPi客户端终端执行解析测试:
    ping user.example.com
    或
    nslookup user.example.com
    如果命令返回域名解析失败,按场景修复:
    • 内网测试无内部DNS服务时,直接编辑客户端/etc/hosts文件,追加记录:<Puppet服务端实际内网/公网IP> user.example.com,保存后重新测试解析。
    • 存在内部DNS服务时,检查客户端/etc/resolv.conf内配置的DNS地址是否正确,是否具备该域名的解析记录。
  • 第二步:验证端口连通性与服务端状态
    解析正常后,测试客户端到服务端8140端口的TCP连通性:
    nc -zv user.example.com 8140
    如果连接失败按以下点排查:
    • 检查服务端侧防火墙规则(包括系统防火墙、云平台安全组、网络ACL),放开8140端口的入站访问权限,源地址覆盖客户端所在网段。
    • 登录Puppet服务端执行systemctl status puppetserver,确认服务处于active (running)状态,未启动则执行systemctl start puppetserver启动服务,同时执行systemctl enable puppetserver设置开机自启。
    • 核对Puppet服务端配置,确认服务未绑定仅本地回环地址127.0.0.1,需监听客户端可访问的网卡IP。
  • 第三步:核对Puppet客户端配置有效性
    执行命令查看当前生效的服务端配置:
    puppet config print server
    如果返回值不是预期的user.example.com,重新执行全局配置命令:
    sudo puppet config set server user.example.com --section main
    注意检查配置值末尾不要带多余的斜杠,避免出现报错路径中8140//puppet-ca的双斜杠异常问题。
  • 第四步:调整证书请求参数避免直接退出
    网络连通性验证通过后,首次执行agent命令时增加等待证书签发参数,避免直接退出:
    sudo puppet agent -v --test --waitforcert 60
    此时登录Puppet服务端,执行sudo puppetserver ca list可查看到待签发的客户端证书,执行sudo puppetserver ca sign --certname <客户端对应证书名>完成签发,客户端即可正常完成证书拉取、配置同步流程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 10:54:27