Настройка сервера печати CUPS и интеграция с FreeIPA

Оцените статью

В проекте по внедрению RedOS для замены Windows-инфраструктуры вопрос с CUPS я оттягивал до последнего. Я прекрасно знаю какой это глюкодром, но выбора у меня особо нет да и тема интересная. Ну, что, погнали разбираться и по старой традиции все максимально документировать.

Установка CUPS

# dnf install cups cups-filters cups-ipptool samba

Устанавливаем Samba с поддержкой KADM5SRV_MIT.

# dnf install samba-4.19.9-9m.red80
# smbd -b | grep HAVE_KADM5SRV_MIT
   HAVE_KADM5SRV_MIT

Настраиваем автозапуск и запускаем.

# systemctl enable smb
# systemctl enable cups
# systemctl start smb
# systemctl start cups

Открываем порт в Firewall (если он запущен).

# firewall‑cmd --permanent --add-service=ipp
# firewall‑cmd --reload

Проверяем, что сервис доступен на порту 631, но обратите внимание, что сервис по умолчанию доступен только с хоста где сервис и установлен.

# curl http://127.0.0.1:631

Разрешаем удаленный доступ к сервису.

# cupsctl --remote-admin
# cupsctl --remote-any

Перезапуск сервиса не требуется и можно сразу попробовать подключиться при помощи WEB-браузера.

Web-интерфейс управления CUPS

Генерируем SSL сертификат для CUPS

При переходе в раздел администрирование будет запрошен пароль любого локального пользователя с правами SUDO и будет выведено предупреждение о некорректном сертификате.

CUPS режим администрирования.

Получаем SSL-сертификат по инструкции для FreeIPA PKI.

Файл конфигурации ключа и сертификата cups-files.conf.

ServerKey /etc/cups/ssl/rprint01-vm-nux.ipa.sngp.su.key
ServerCertificate /etc/cups/ssl/rprint01-vm-nux.ipa.sngp.su.key

Устанавливаем обязательный запрос SSL сессии, для чего в файл cupsd.conf добавляем параметр:

DefaultEncryption required

Настраиваем логирование в файл

По умолчанию логирование производится в SysLog, но нам было бы полезно логировать в файлы и для этого правим файл cups-files.conf.

AccessLog /var/log/cups/access_log
ErrorLog /var/log/cups/error_log
PageLog /var/log/cups/page_log

Используя WEB-интерфейс администрирования CUPS добавим принтер

Переходим в раздел Администрирование.

Добавить принтер в CUPS

Так как мой тестовый принтер поддерживает протокол IPP, то его мы и будем использовать.

Настройка подключения принтера по протоколу IPP

URI для подключения принтера обычно можно узнать в панели управления принтером.

Описание и расположение принтера

Название, описание и расположение принтера лучше все же указывать осмысленными, а не с потолка взятые разного рода printer1. Так-же надо разрешить совместный доступ к принтеру.

Драйвер принтера

Выбираем модель принтера или используем PPD файл от производителя или совместимый (тут конечно головная боль, но с учетом того, что MacBook использует эту подсистему печать, то дела не так уж и плохи).

Принтер успешно добавлен

Принтер отображается в списке принтеров.

Список принтеров

Выполним печать пробной страницы.

Печать тестовой страницы

Базовая настройка сервера печати

На главной странице управления сервером есть несколько параметров которые мы можем активировать сразу из панели управления.

Настройка сервера печати

Нас интересуют параметры.

  • Разрешить совместный доступ к принтерам, подключенным к этой системе
  •  Разрешить печать из интернет
  •  Разрешить удаленное администрирование
  •  Разрешить аутентификацию Kerberos
  •  Разрешить пользователям отменять любое задание(не только их собственные)

Подключаем принтер с сервера печати CUPS на рабочую станцию

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

Графический интерфейс управления сервером печати

Аналогично подключения сетевого принтера добавим в локальный CUPS на хосте подключение к опубликованному на сервере печати принтеру.

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

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

URI-принтера

Тип подключения будет http или https и модель принтера или PPD-файл как на сервере. Собственно на этом и все.

Похожие записи

Подключение NFS-шары в качестве хранилища резервных копий ZVirt

Сегодня понедельник и продолжаем работать с проектом по запуску инфраструктуры на базе RedOS. Сегодня одним из пунктов настройка резервного копирования виртуальных машин в системе виртуализации ZVirt. Как выяснилось нам потребуется…

SOCKS5 Proxy в Ubuntu Linux за одну минуту

В прошлой статье я рассказывал как установить SOCKS5 Proxy Dante в Ubuntu Linux, но оказывется есть способ гораздо проще. Установка GOST v2 Сервис для автозапуска при старте сервиса Файл /etc/systemd/system/gost.service.…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Подключение NFS-шары в качестве хранилища резервных копий ZVirt

Подключение NFS-шары в качестве хранилища резервных копий ZVirt

SOCKS5 Proxy в Ubuntu Linux за одну минуту

SOCKS5 Proxy в Ubuntu Linux за одну минуту

Быстрая установка и настройка SOCKS5-прокси Dante в Ubuntu Linux

Быстрая установка и настройка SOCKS5-прокси Dante в Ubuntu Linux

Настройка сервера печати CUPS и интеграция с FreeIPA

Настройка сервера печати CUPS и интеграция с FreeIPA

Эволюция приложения в облаке: как запустить микросервисы в Managed Kubernetes

Эволюция приложения в облаке: как запустить микросервисы в Managed Kubernetes

Подтвердил свой уровень на Хабр-карьере

Подтвердил свой уровень на Хабр-карьере