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

CUPS服务器疑似DDoS攻击与Broken Pipe(errno=32)问题求助

针对你遇到的这个特定客户端频繁触发CUPS MaxClientsPerHost限制的问题,结合你的配置、日志和已经排查过的步骤,我分享几个可能的排查和解决方向:

1. 优化CUPS连接复用配置,减少新建连接频次

从你的日志可以看到,客户端在每次Get-Printer-Attributes请求后很快就断开连接(出现Broken pipe错误),没有复用已有的TCP连接,导致每秒新建多个连接触发限制。你可以在cupsd.conf里明确配置连接保持参数:

KeepAlive On
KeepAliveTimeout 30
MaxKeepAliveRequests 100

这些参数会让CUPS允许客户端复用连接,减少短时间内的连接数。修改后重启CUPS服务(systemctl restart cups)测试效果。

2. 定位客户端重复请求Get-Printer-Attributes的根源

日志里频繁出现同一客户端的Get-Printer-Attributes请求,这是核心异常点:

  • 驱动兼容性问题:虽然你用了通用PostScript驱动,但试试换用CUPS-PDF专用驱动(比如CUPS自带的Generic CUPS-PDF Printer驱动),可能通用驱动对tea4cups封装的打印机返回的某些属性解析异常,导致循环重试查询。
  • 客户端系统进程异常:在客户端用进程监视器(Windows用任务管理器,Linux用netstat -tuap,Mac用活动监视器)查看哪个进程在不断发起632端口的连接,排查是否有第三方打印监控软件或系统打印服务异常。
  • 抓包分析请求细节:在客户端用Wireshark抓包,查看每次Get-Printer-Attributes请求的具体属性字段,看是否有客户端请求了不存在的属性,导致CUPS返回异常,触发客户端重试。

3. 排查tea4cups的封装逻辑影响

你用了tea4cups封装cups-pdf打印机,可能是tea4cups在处理属性请求时返回了不完整或异常的响应:

  • 临时将printers.conf里的DeviceURI改回原生的cups-pdf:/,禁用tea4cups,测试该客户端的连接情况。如果问题消失,说明tea4cups的过滤脚本存在问题,需要检查脚本中处理IPP属性请求的逻辑,是否修改了返回的属性导致客户端无法正常识别。

4. 临时调整CUPS限制参数并开启详细日志

作为临时缓解,可以先调高MaxClientsPerHost的值(比如从80改为150),同时开启CUPS调试日志来获取更多细节:

cupsctl --debug-logging

调试日志会记录更详细的请求内容和服务器响应,帮助你定位客户端请求的异常点。问题排查完成后记得改回LogLevel warn并重启CUPS。

补充:结合你的配置的注意点

  • 你的cupsd.conf里DefaultEncryption Required和HTTPS配置正常,但客户端可能在SSL/TLS握手阶段存在异常,导致连接频繁断开重连,可以检查客户端的证书信任情况(虽然其他客户端正常,但这个特定客户端可能证书存储异常)。
  • 确认客户端的打印机端口配置是否正确,是否用了IPP over HTTPS(https://example.com:632/printers/PDF),避免误用其他协议导致异常。

附你提供的关键信息(方便后续参考):

服务器环境

  • Debian 10,CUPS + tea4cups + cups-pdf,Let's Encrypt证书
  • 客户端:Win7-10、Mac、Linux通用PostScript驱动,仅单个客户端异常

关键错误日志

cupsdReadClient: error=32, used=0, state=HTTP_STATE_WAITING, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=0, request=(nil)(), file=-1

核心配置片段

cupsd.conf关键参数:

MaxClients 400
MaxClientsPerHost 80
DefaultEncryption Required
WebInterface No

printers.conf关键配置:

<Printer PDF>
  DeviceURI tea4cups://
  MakeModel Generic CUPS-PDF Printer (w/ options)
  OpPolicy authenticated
</Printer>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 17:22:46