fix: harden intranet CUPS setup
This commit is contained in:
@@ -8,18 +8,18 @@
|
||||
|
||||
## 一、一键安装
|
||||
|
||||
### Gitee 仓库
|
||||
### Gitea 仓库
|
||||
```
|
||||
https://gitee.com/yu-yon/S905L3A.git
|
||||
https://git.workyai.cn/237899745/S905L3A.git
|
||||
```
|
||||
|
||||
### 一键安装命令
|
||||
```bash
|
||||
# 方式一:curl
|
||||
curl -fsSL https://gitee.com/yu-yon/S905L3A/raw/master/setup_cups.sh | bash
|
||||
curl -fsSL https://git.workyai.cn/237899745/S905L3A/raw/branch/master/setup_cups.sh | bash
|
||||
|
||||
# 方式二:wget
|
||||
wget -qO- https://gitee.com/yu-yon/S905L3A/raw/master/setup_cups.sh | bash
|
||||
wget -qO- https://git.workyai.cn/237899745/S905L3A/raw/branch/master/setup_cups.sh | bash
|
||||
```
|
||||
|
||||
### 脚本功能
|
||||
@@ -38,8 +38,7 @@ wget -qO- https://gitee.com/yu-yon/S905L3A/raw/master/setup_cups.sh | bash
|
||||
|------|------|------|
|
||||
| CUPS | 631 | 打印服务/Web管理界面 |
|
||||
| Avahi | 5353 | mDNS/AirPrint 自动发现 |
|
||||
| Samba | 445/139 | Windows SMB 打印共享 |
|
||||
| LPR (xinetd) | 515 | LPR 打印协议 |
|
||||
| 驱动管理器 | 632 | 内网上传安装打印机驱动(可选) |
|
||||
|
||||
---
|
||||
|
||||
@@ -56,19 +55,7 @@ wget -qO- https://gitee.com/yu-yon/S905L3A/raw/master/setup_cups.sh | bash
|
||||
|
||||
### 公网环境
|
||||
|
||||
公网环境较为复杂,可能遇到以下问题:
|
||||
- Windows IPP 强制使用 HTTPS,自签名证书不受信任
|
||||
- SMB 445 端口可能被 ISP 阻止
|
||||
- 需要在云服务器安全组开放相应端口
|
||||
|
||||
**公网可用方案:**
|
||||
1. **LPR 协议(推荐)**
|
||||
- 端口:515
|
||||
- 队列名:打印机名(如 PDF)
|
||||
- Windows 添加方式:TCP/IP 打印机 → 自定义 → LPR 协议
|
||||
|
||||
2. **IPP + 证书信任**
|
||||
- 需要将服务器证书导入 Windows 受信任的根证书
|
||||
不建议把 CUPS 或驱动管理器直接暴露到公网。本项目默认按内网使用配置,访问范围使用 `@LOCAL`,驱动管理器也会拒绝非私有网段来源。
|
||||
|
||||
---
|
||||
|
||||
@@ -98,9 +85,8 @@ https://服务器IP:631
|
||||
| `/etc/cups/cupsd.conf` | CUPS 主配置文件 |
|
||||
| `/etc/cups/printers.conf` | 打印机配置 |
|
||||
| `/etc/cups/ssl/` | SSL 证书目录 |
|
||||
| `/etc/samba/smb.conf` | Samba 配置(SMB 打印共享) |
|
||||
| `/etc/xinetd.d/cups-lpd` | LPR 服务配置 |
|
||||
| `/usr/share/cups/templates-zh_CN/` | 中文界面模板 |
|
||||
| `/opt/cups-driver-manager/` | 驱动管理器安装目录(可选) |
|
||||
|
||||
---
|
||||
|
||||
@@ -114,8 +100,8 @@ Listen 0.0.0.0:631
|
||||
# 允许任何主机名访问
|
||||
ServerAlias *
|
||||
|
||||
# 禁用强制加密(允许 HTTP)
|
||||
DefaultEncryption Never
|
||||
# 内网允许 HTTP,同时接受客户端主动 HTTPS
|
||||
DefaultEncryption IfRequested
|
||||
|
||||
# 中文界面
|
||||
DefaultLanguage zh
|
||||
@@ -123,32 +109,16 @@ DefaultLanguage zh
|
||||
# 允许远程访问
|
||||
<Location />
|
||||
Order allow,deny
|
||||
Allow all
|
||||
Allow @LOCAL
|
||||
</Location>
|
||||
|
||||
# 允许远程打印
|
||||
<Location /printers>
|
||||
Order allow,deny
|
||||
Allow all
|
||||
Allow @LOCAL
|
||||
</Location>
|
||||
```
|
||||
|
||||
### Samba 打印配置
|
||||
```ini
|
||||
[global]
|
||||
printing = cups
|
||||
printcap name = cups
|
||||
load printers = yes
|
||||
|
||||
[printers]
|
||||
comment = All Printers
|
||||
path = /var/spool/samba
|
||||
printable = yes
|
||||
guest ok = yes
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 七、常用命令
|
||||
|
||||
```bash
|
||||
@@ -161,14 +131,8 @@ systemctl restart cups
|
||||
# 查看 CUPS 日志
|
||||
tail -f /var/log/cups/error_log
|
||||
|
||||
# 重启 Samba
|
||||
systemctl restart smbd nmbd
|
||||
|
||||
# 重启 LPR 服务
|
||||
systemctl restart xinetd
|
||||
|
||||
# 检查端口监听
|
||||
ss -tlnp | grep -E "631|445|515"
|
||||
ss -tlnp | grep -E "631|632"
|
||||
```
|
||||
|
||||
---
|
||||
@@ -176,14 +140,15 @@ ss -tlnp | grep -E "631|445|515"
|
||||
## 八、故障排除
|
||||
|
||||
### 问题1:Windows 无法连接 IPP 打印机
|
||||
**原因**:Windows IPP 客户端强制使用 HTTPS,自签名证书不受信任
|
||||
**解决**:使用 LPR 协议或 SMB 协议代替
|
||||
**原因**:常见原因是客户端缓存了旧队列、服务器 IP 变化,或没有在同一内网网段。
|
||||
**解决**:删除旧打印机后重新添加,使用 `http://服务器IP:631/printers/打印机名` 或 Windows 设置里的“添加打印机”重新发现。
|
||||
|
||||
### 问题2:SMB 连接失败(0x80070035)
|
||||
**原因**:445 端口被防火墙/ISP 阻止
|
||||
### 问题2:驱动管理器无法打开
|
||||
**原因**:驱动管理器默认只允许内网来源访问,且需要安装时生成的 `admin` 密码。
|
||||
**解决**:
|
||||
- 检查云服务器安全组是否开放 445 端口
|
||||
- 局域网内通常无此问题
|
||||
- 确认客户端和打印服务器在同一内网
|
||||
- 查看密码:`cat /opt/cups-driver-manager/.password`
|
||||
- 查看服务状态:`systemctl status cups-driver-manager`
|
||||
|
||||
### 问题3:打印任务卡住
|
||||
**解决**:
|
||||
@@ -219,7 +184,7 @@ locale -a | grep zh_CN
|
||||
|
||||
## 十、待测试项目
|
||||
|
||||
- [ ] 局域网 Windows SMB 连接
|
||||
- [ ] 局域网 Windows IPP/CUPS 连接
|
||||
- [ ] 局域网 macOS/iOS AirPrint 自动发现
|
||||
- [ ] 局域网 Android Mopria 打印
|
||||
- [ ] 真实 USB 打印机连接测试
|
||||
|
||||
Reference in New Issue
Block a user