Добавить в корзинуПозвонить
Найти в Дзене

Настройка принт-сервера на Linux (CUPS) для офиса со смешанным парком МФУ

Проблема В офисе со смешанным парком устройств (старые USB принтеры, современные сетевые МФУ, ноутбуки на Windows, Linux и macOS) организация централизованной печати превращается в головную боль. Каждый принтер требует отдельной настройки на каждом компьютере. Драйверы для разных ОС несовместимы. При замене или перемещении устройства приходится перенастраивать всех пользователей. Без единой точки управления печатью поддержка превращается в бесконечную рутину. «У меня не печатает», «принтер не найден», «документ ушёл в неизвестном направлении». Выход это выделенный сервер печати на Linux с системой CUPS (Common UNIX Printing System). Он принимает задания от любых устройства в сети и направляет их на нужные принтеры, избавляя от необходимости настраивать каждый клиент отдельно. Решение CUPS (Common UNIX Printing System) это стандартный менеджер печати в Linux, который также поддерживает клиентов Windows, macOS и мобильных устройств по протоколам IPP и SMB/CIFS. Он позволяет централизова

Проблема

В офисе со смешанным парком устройств (старые USB принтеры, современные сетевые МФУ, ноутбуки на Windows, Linux и macOS) организация централизованной печати превращается в головную боль. Каждый принтер требует отдельной настройки на каждом компьютере. Драйверы для разных ОС несовместимы. При замене или перемещении устройства приходится перенастраивать всех пользователей. Без единой точки управления печатью поддержка превращается в бесконечную рутину. «У меня не печатает», «принтер не найден», «документ ушёл в неизвестном направлении».

Выход это выделенный сервер печати на Linux с системой CUPS (Common UNIX Printing System). Он принимает задания от любых устройства в сети и направляет их на нужные принтеры, избавляя от необходимости настраивать каждый клиент отдельно.

Решение

CUPS (Common UNIX Printing System) это стандартный менеджер печати в Linux, который также поддерживает клиентов Windows, macOS и мобильных устройств по протоколам IPP и SMB/CIFS. Он позволяет централизованно управлять очередями печати, разграничивать доступ и вести журнал заданий. Для Windows клиентов, у которых нет встроенной поддержки IPP, потребуется Samba. Она сделает CUPS принтеры видимыми как обычные сетевые принтеры Windows.

В этой статье мы настроим на Ubuntu Server 24.04 LTS следующие компоненты.

Установку и базовую настройку CUPS.
Веб интерфейс для удалённого управления принтерами.
Подключение принтеров по USB и по сети.
Расшаривание принтеров для Windows клиентов через Samba.
Управление драйверами и устранение типичных проблем.

Вот пошаговая инструкция, как развернуть CUPS.

1. Предварительные требования

Убедитесь, что сервер соответствует минимальным требованиям.

Ubuntu Server 24.04 LTS (или Debian 12) с правами суперпользователя.
Постоянный (статический) IP адрес в локальной сети.
Открытый порт TCP 631 для CUPS.
Не менее 2 ГБ ОЗУ и 10 ГБ свободного места на диске.

2. Установка CUPS

Подключаемся к серверу и устанавливаем пакеты.

text

sudo apt update
sudo apt install cups cups-client cups-filters cups-ipp-utils system-config-printer -y

3. Настройка CUPS

После установки нужно разрешить доступ к веб интерфейсу из локальной сети и настроить права администраторов. CUPS управляется через веб интерфейс на порту 631.

3.1. Разрешаем удалённое управление и печать

По умолчанию CUPS принимает команды только с локального хоста. Чтобы разрешить доступ с других компьютеров, отредактируйте /etc/cups/cupsd.conf.

text

sudo nano /etc/cups/cupsd.conf

Найдите строку Listen localhost:631 и измените её на.

text

Listen 0.0.0.0:631

Если нужен доступ только из определённой подсети, укажите её адрес. Добавьте разрешения для локальной сети.

text

<Location />
Order allow,deny
Allow localhost
Allow 192.168.1.0/24
</Location>

<Location /admin>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
Allow 192.168.1.0/24
</Location>

Сохраните изменения и перезапустите службу.

text

sudo systemctl restart cups

3.2. Добавление пользователя в группу администраторов

Для управления принтерами через веб интерфейс пользователь должен состоять в группе lpadmin.

text

sudo usermod -a -G lpadmin $USER

4. Настройка брандмауэра

Открываем порт 631 для CUPS и, опционально, 5353 для Avahi (автообнаружение принтеров).

text

sudo ufw allow 631/tcp
sudo ufw allow 5353/udp
sudo ufw reload

5. Добавление принтеров через веб интерфейс

Откройте браузер и перейдите по адресу http://<IP-адрес_сервера>:631. Перейдите во вкладку Administration и нажмите Add Printer.

Система запросит логин и пароль пользователя, входящего в группу lpadmin. Далее вы увидите список доступных принтеров.

Локальные USB принтеры отобразятся автоматически, если подключены напрямую.
Сетевые принтеры можно найти через «Find Network Printer» или добавить вручную, указав протокол и IP адрес (например, ipp://192.168.1.50:631/ipp/port1).

Выбрав принтер, укажите его имя, описание и местоположение. CUPS попытается подобрать драйвер автоматически. Если автоматический выбор не подходит, выберите PPD файл или укажите производителя и модель из списка. После добавления принтера обязательно распечатайте тестовую страницу.

6. Расшаривание принтеров для Windows клиентов через Samba

Windows не поддерживает IPP «из коробки», но может подключаться к принтерам через протокол SMB и CIFS. Для этого настроим Samba.

6.1. Установка и настройка Samba

text

sudo apt install samba smbclient -y

Создайте резервную копию конфигурационного файла и отредактируйте его.

text

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo nano /etc/samba/smb.conf

В секции [global] задайте имя рабочей группы (должно совпадать с настройками ваших Windows компьютеров) и включите расшаривание принтеров.

text

[global]
workgroup = WORKGROUP
server string = Print Server
security = user
map to guest = Bad User
load printers = yes
printing = cups
printcap name = cups

[printers]
comment = All Printers
path = /var/spool/samba
browseable = yes
guest ok = yes
writable = no
printable = yes
printer admin = root, @lpadmin

Сохраните файл, перезапустите службы и проверьте доступность принтеров.

text

sudo systemctl restart smbd nmbd
smbclient -L localhost -N

6.2. Подключение принтера на Windows клиенте

На компьютере с Windows откройте «Панель управления» → «Устройства и принтеры» → «Добавление принтера». Выберите «Искомый принтер отсутствует в списке» → «Выбрать общий принтер по имени» и введите UNC путь: \\<IP-адрес_сервера>\<имя_принтера>. Если принтер не отображается, проверьте сетевую доступность сервера и настройки Samba.

7. Управление драйверами

Для корректной работы принтеров, особенно МФУ, часто требуются специальные драйверы. Самый простой способ получить их установить пакеты производителя.

Для принтеров HP.

text

sudo apt install hplip

Для принтеров Epson.

text

sudo apt install printer-driver-escpr

Для принтеров Brother. Скачайте драйверы с официального сайта.

Универсальные драйверы. Если точный драйвер отсутствует, попробуйте драйвер Generic или Text Only. Они дают базовую функциональность, но не поддерживают цветную печать и сканирование.

8. Мониторинг и ведение логов

CUPS хранит все задания в веб интерфейсе (вкладка Jobs), а также в системных логах.

text

sudo journalctl -u cups -f
sudo tail -f /var/log/cups/error_log

Для отслеживания успешных и неудачных печатей можно включить подробное логирование через веб интерфейс (Server → Settings → Save debugging information).

Устранение распространённых проблем

ПроблемаВероятная причинаРешениеНе удаётся войти в веб интерфейсПользователь не входит в группу lpadminДобавьте пользователя в группу и перезапустите сеанс: sudo usermod -a -G lpadmin $USERПринтер не отображается в WindowsSamba не настроена или служба не запущенаПроверьте sudo systemctl status smbd. Убедитесь, что в smb.conf разрешён гостевой доступWindows запрашивает пароль при подключенииВ smb.conf отключён гостевой доступИзмените map to guest = Bad User и guest ok = yes в секции [printers]Ошибка «Filter failed» при печатиНеподходящий драйвер или отсутствует PPD файлСмените драйвер принтера в веб интерфейсе CUPS. Попробуйте универсальный драйверПринтер не добавляется через веб интерфейсНеправильный URI или недоступность принтера по сетиПроверьте подключение к принтеру: ping <IP-адрес> или telnet <IP-адрес> 9100Печать зависает в очередиНеисправность принтера или отсутствие бумагиПроверьте статус принтера через веб интерфейс. Удалите зависшее задание и очистите очередьНет звука при завершении печатиНе настроены уведомления CUPSВ веб интерфейсе: Server → Settings → Notifications

Итог

Мы развернули централизованный принт-сервер на базе CUPS, который позволяет управлять всеми принтерами и МФУ офиса из единой точки. Настройка принт-сервера на Linux избавляет от необходимости настраивать каждое устройство на каждом компьютере. Централизует учёт и контроль печати. Решает проблему совместимости между разными ОС.

При подключении Windows клиентов через Samba сотрудники могут отправлять задания на печать так же, как если бы принтер был подключён напрямую. А благодаря веб интерфейсу вы можете добавлять новые принтеры и отслеживать состояние очередей из любой точки сети

Настройка принт-сервера на Linux (CUPS) для офиса со смешанным парком МФУ | Андрей Коровин | Сисадмин | IT-инженер