Служба печати не отдаёт список принтеров по сети
Обнаружение принтеров в сети обеспечивает отдельная служба объявления. Служба печати при этом работает и печатает локально, поэтому её состояние ни о чём не говорит. Разбор идёт по второй службе и по правилам брандмауэра.
Вероятные причины
По порядку: сверху то, что встречается чаще.
-
Служба объявления в сети не работает
Без неё принтеры не видны другим машинам, хотя печать через прямое указание адреса работает.
-
Порт объявления закрыт брандмауэром
Объявления идут отдельным протоколом на групповой адрес. По умолчанию правила его не пропускают.
-
Служба печати слушает только петлевой адрес
По умолчанию доступ ограничен локальной машиной. Другие машины не могут обратиться даже при работающем обнаружении.
Диагностика
Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.
Состояние службы печати и службы объявления.
systemctl is-active cups avahi-daemonЧто объявляется в сети прямо сейчас.
avahi-browse -at 2>/dev/null | headНа каких адресах слушают обе службы.
sudo ss -tlnp | grep -E ":631|:5353"Решение
Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.
- Почему происходит
- Без неё принтеры не видны другим машинам, хотя печать через прямое указание адреса работает.
- Как проверить
-
Посмотрите состояние обеих служб.
systemctl is-active cups avahi-daemon 2>/dev/null systemctl status avahi-daemon --no-pager 2>/dev/null | head -6
- Как исправить
- Запустите и включите службу объявления. Если она не нужна, отключите обнаружение в настройках службы печати, чтобы не ждать его впустую.
- Почему происходит
- Объявления идут отдельным протоколом на групповой адрес. По умолчанию правила его не пропускают.
- Как проверить
-
Посмотрите правила и прослушивание.
sudo ss -ulnp | grep :5353 sudo nft list ruleset 2>/dev/null | grep -i 5353
- Как исправить
- Разрешите служебный порт объявления в локальной сети. Во внешнюю сеть его открывать не нужно.
- Почему происходит
- По умолчанию доступ ограничен локальной машиной. Другие машины не могут обратиться даже при работающем обнаружении.
- Как проверить
-
Посмотрите настройки прослушивания.
sudo grep -iE "^(Listen|Port|Browsing)" /etc/cups/cupsd.conf 2>/dev/null sudo ss -tlnp | grep :631
- Как исправить
- Разрешите доступ с нужных адресов в настройках службы печати. Открывать печать для всей сети без ограничений не стоит: через неё видно содержимое очередей.
Пример вывода
Служба объявления не запущена. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.
$ systemctl is-active cups avahi-daemon
active
inactive
cupsd[7100]: Listening to 127.0.0.1:631 (IPv4)
cupsd[7100]: Remote access is disabled.
Связанные ошибки
- Cannot assign requested address при привязке Ошибка 99 при привязке: адрес не принадлежит машине или ещё не поднят. Разбор с network-online.target и ip_nonlocal_bind.
- Служба не запускается вместе с зависимостью After= без Wants= не запускает зависимость. Разбор частой путаницы между порядком и необходимостью.
- Connection refused в журнале службы Соединение отклонено: служба не может подключиться к базе, кешу или другому сервису. Порядок запуска, адрес, брандмауэр.
- Address already in use при запуске службы Порт или адрес уже занят: bind() failed (98: Address already in use). Как найти владельца порта и что делать с остатками прежнего процесса.
- Automount: каталог монтируется не вовремя или отваливается Автомонтирование через .automount: как работает TimeoutIdleSec, почему ресурс отваливается и когда лучше обычный .mount.
- Broken pipe в журнале службы Запись в закрытый канал или соединение: клиент отключился, обработчик завершился, конвейер разорван.
- Connection reset by peer в журнале службы Соединение сброшено другой стороной: обрыв клиента, перезапуск сервера, промежуточное устройство.
- Connection timed out в журнале службы Соединение не устанавливается по таймауту: пакеты отбрасываются, узел недоступен, перегружен сервер на другой стороне.
Источники
- Документация CUPS
-
Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
Воспроизведено остановкой службы объявления при работающей службе печати.