9.4 KiB
type, topic, tags, created
| type | topic | tags | created | |||||
|---|---|---|---|---|---|---|---|---|
| tech |
|
2026-08-26 |
Печать и общие сервисы (Mac + сеть)
Проверка службы печати 2026-08-26: «не видит принтер с телефона».
Состояние на момент проверки
На Mac (admin, macOS 26.6.1, arm64) в системе зарегистрированы два принтера:
| Принтер | Способ подключения | Статус |
|---|---|---|
| Samsung CLX-216x | Сетевой ipp://192.168.2.197/printers/Samsung_CLX-216x_Series, драйвер Generic PostScript |
не pингуется в текущей сети |
| Samsung M2020 Series (SEC84251974A6B3) | AirPrint dnssd://…_ipp._tcp.local., дефолтный, PPD Samsung M2020 Series-AirPrint |
не отвечает по сети |
Системный дефолт: Samsung_M2020_Series__SEC84251974A6B3_ (idle, enabled 2026-07-29).
Ключевые находки
- CUPS слушает только локально: в
/etc/cups/cupsd.conf→Listen localhost:631+Listen /private/var/run/cupsd. Наружу (по сети, для AirPrint) служба печати НЕ отдаётся. - Шеринг печати выключен (
SharePrintersв cupsd.conf закомментирован/неактивен; вsystem_profilerоба принтераShared: No,System Printer Sharing: No). - Порт 631 наружу закрыт:
nc -z 192.168.2.197 631→ closed. - Сеть Мака —
192.168.6.x(адрес192.168.6.173, шлюз192.168.6.1). Принтер прописан в подсети192.168.2.x.
⚠️ Важное наблюдение (пересечение с TrueNAS)
Адрес 192.168.2.197 — это TrueNAS (truenas_admin, SSH через mallexxx.duckdns.org), НЕ сам принтер. Samsung CLX-216x физически подключён к TrueNAS (USB) и печатается через docker-контейнер cups-splix (драйвер splix). Запись ipp://192.168.2.197/printers/Samsung_CLX-216x_Series в системе Мака — результат обнаружения расшаренной печати TrueNAS на этом адресе.
✅ НаСТОЯЩИЙ ДИАГНОЗ (2026-08-26, подтверждено SSH на TrueNAS)
Корень проблемы: cups-splix контейнер НЕ запущен на TrueNAS.
- На TrueNAS нет ни одной работающей службы печати:
lpstat/cupsdв системе не установлены, порт 631 закрыт (и локально, и снаружи). - Ни одного docker-контейнера по печати в
docker psнет (cup/sprint/ipp — пусто). Официальный список контейнеров (docker ps -a): immich(redis/server/postgres), modbus-bridge, mbusd, zigbee2mqtt, webdav, vless-proxy, hermes-taiga, portainer(-mcp), homeassistant, caddy, watchtower, transmission, syncthing, ser2net, rclone, nodered, mosquitto, library, inpxer, inpx-web, gitea, filebrowser.cups-splixотсутствует. - Образ
cups-splixне собран (docker images | grep cups|splix→ пусто).
Конфиг cups-splix (цел, на месте)
Папка /mnt/RED_2TB/docker/cups/: Dockerfile, docker-compose.yml, docker build.txt, data/, cache/, spool/, uld/.
docker-compose.yml:
services:
cups-splix:
image: cups-splix
container_name: cups-splix
command: ["/usr/sbin/cupsd", "-f"]
network_mode: host
privileged: true
volumes:
- /dev/bus/usb:/dev/bus/usb
- /mnt/RED_2TB/docker/cups/data:/etc/cups
- /mnt/RED_2TB/docker/cups/cache:/var/cache/cups
- /mnt/RED_2TB/docker/cups/spool:/var/spool/cups
restart: unless-stopped
Dockerfile (debian:12-slim): ставит cups-daemon cups-client cups-common printer-driver-splix avahi-utils dbus usbutils nano, пользователь cupsadmin:admin (в группе lpadmin), EXPOSE 631, CMD cupsd -f.
Как поднять (из доки, раздел «Сборка»):
cd /mnt/RED_2TB/docker/cups/
docker build -t cups-splix .
docker compose up -d # или docker run из build.txt
# проверить: порт 631 открылся, принтер подцепился
Почему выпал
.ix-apps вызов docker data-root при пересоздании пула НЕ переносился → образы (=кеш) потеряны, перекачиваются заново. cups-splix — локальная сборка, она не «перекачается», нужно пересобрать. Конфиги целы.
✅ РЕЗОЛЮЦИЯ (2026-08-26, выполнено)
cups-splix поднят, печать восстановлена. Шаги, фактически выполненные на TrueNAS:
cd /mnt/RED_2TB/docker/cups
docker build -t cups-splix . # образ собран успешно (~225s), splix установлен
docker compose up -d # контейнер запущен
docker exec cups-splix lpstat -p -d # printer Samsung_CLX-216x_Series ... idle, enabled
docker exec cups-splix lpstat -a # ... accepting requests
nc -z 192.168.2.197 631 # 631 OPEN снаружи
- Принтер подключён по USB к TrueNAS:
usb://Samsung/CLX-216x%20Series?serial=9566BAGQ213134Z.&interface=1(Bus 002 Device 008,04e8:3425Samsung CLX-216x). - CUPS-конфиг сохранился в
/mnt/RED_2TB/docker/cups/data(это/etc/cups) → принтер прописан и подцепился после рестарта сам. - Образ собрался без ошибок → раньше его просто не запускали собирать (не поломка Dockerfile), а потеряли при восстановлении стека вместе с
.ix-apps. - Порт 631 открыт наружу → печать доступна по сети на
192.168.2.197:631.
Условие для телефона: телефон должен быть в сети 192.168.2.x (той же, что и TrueNAS), чтобы увидеть принтер. Если телефон в другой подсети (напр. 192.168.6.x) — это сетевой вопрос, не печатный.
Полный рецепт на будущее продублирован в truenas-infrastructure.md → раздел «Печать / cups-splix».
⚠️ ТОПОЛОГИЯ ИЗМЕНЕНА (2026-08-31) — TrueNAS больше НЕ в локальной сети
TrueNAS ушла из локальной сети и доступна только через публичный DNS mallexxx.duckdns.org (внешка 90.189.160.148). Локальный 192.168.2.197 физически недостижим (пинг 100% потеря) — TrueNAS не в 192.168.2.x и не в сети телефона.
Подтверждено SSH на TrueNAS (2026-08-31):
cups-splixUp (4 days), принтерSamsung_CLX-216x_Seriesidle / enabled / accepting requests.- Принтер подключён по USB:
usb://Samsung/CLX-216x%20Series?serial=9566BAGQ213134Z.&interface=1. - CUPS слушает
0.0.0.0:631(все интерфейсы,network_mode: host). - CUPS config:
Port 631,WebInterface Yes,ServerAlias *(разделcupsd.conf). - Снаружи
mallexxx.duckdns.org:631— CLOSED (наружу не проброшен).
Реальная картина печати:
- Samsung Mobile Print (app) — печатает. У приложения адрес вписан вручную/закэширован (не обязательно
192.168.2.197). - Штатная Android print service — добавлял вручную
ipp://192.168.2.197:631/printers/Samsung_CLX-216x_Series→ «недоступен». Ожидаемо: TrueNAS ушла из локальной сети, а адрес192.168.2.197из телефона недостижим.
Вывод: «недоступен» в штатной службе — НЕ баг настройки и НЕ проблема порта. Это прямое следствие того, что CUPS-хост (TrueNAS) физически вне сети телефона: локального пути нет, а публичный mallexxx.duckdns.org:631 закрыт. Android-штатная служба не умеет удалённый IPP через интернет без открытого наружу порта.
ОТКРЫТЫЙ ВОПРОС (не разобран, нет доступа к настройкам приложения): по какому именно адресу Samsung Mobile Print реально шлёт печать, раз 631 снаружи закрыт. Гипотезы: (1) приложение кэширует соединение с времён, когда TrueNAS была локально; (2) используется другой публичный путь (реверс-прокси Caddy на ином порту/HTTPS), не записанный в доках. Для полного разбора нужен адрес/хост из настроек принтера внутри Samsung Mobile Print.