Firewalls
This help document describes the ports that CUPS uses so that firewall administrators can allow traffic used for printing.
Ports Used for Printer Sharing
Table 1 lists the ports that are used for IPP printer sharing via CUPS.
(Destination) Port | TCP/UDP | Direction | Description |
---|---|---|---|
53 (DNS) | TCP/UDP | OUT | Domain Name System lookups and service registrations. |
631 (IPP/IPPS) | TCP | IN | Internet Printing Protocol requests and responses (print jobs, status monitoring, etc.) |
5353 (mDNS) | UDP | IN+OUT | Multicast DNS lookups and service registrations. |
Table 2 lists the ports that are used for SMB (Windows) printer sharing, typically via the Samba software.
(Destination) Port(s) | TCP/UDP | Direction | Description |
---|---|---|---|
137 (WINS) | UDP | IN+OUT | Windows Internet Naming Service (name lookup for SMB printing). |
139 (SMB) | TCP | IN | Windows SMB printing. |
445 (SMBDS) | TCP | IN+OUT | Windows SMB Domain Server (authenticated SMB printing). |
Ports Used for Network Printers
Table 3 lists the ports for outgoing network traffic that are used for network printers.
- DNS and mDNS are used for all printing protocols except SMB.
- SNMP is used to provide status and supply level information for AppSocket and LPD printers.
(Destination) Port(s) | TCP/UDP | Description |
---|---|---|
53 (DNS) | TCP/UDP | Domain Name System lookups. |
137 (WINS) | UDP | Windows Internet Naming Service (name lookup for SMB printing). |
139 (SMB) | TCP | Windows SMB printing. |
161 (SNMP) | UDP | SNMP browsing (broadcast) and status monitoring (directed to printer IP address). |
443 (IPPS) | TCP | Internet Printing Protocol requests and responses (print jobs, status monitoring, etc.) |
445 (SMBDS) | TCP | Windows SMB Domain Server (authenticated SMB printing). |
515 (LPD) | TCP | Line Printer Daemon (LPD/lpr) print job submission and status monitoring. |
631 (IPP/IPPS) | TCP | Internet Printing Protocol requests and responses (print jobs, status monitoring, etc.) |
5353 (mDNS) | UDP | Multicast DNS lookups. |
9100-9102 | TCP | Raw print data stream (AppSocket/JetDirect). |
Сервер печати CUPS
Первичный (основной) механизм для печати и сервисов печати в Ubuntu — это Общая система печати UNIX (Common UNIX Printing System — CUPS). Данная система печати — это свободный, доступный и переносимый слой, который стал новым стандартом печати для большинства дистрибутивов Linux.
CUPS управляет заданиями печати и обеспечивает сетевую печать с использованием стандарта IPP (интернет протокол печати), поддерживая огромный список принтеров от матричных до лазерных и любых других. CUPS также поддерживает PostScript описание принтеров (PPD) и автоопределение сетевых принтеров, а также простую настройку и администрирование через web интерфейс.
Установка
Для установки CUPS на ваш Ubuntu компьютер просто используйте sudo для выполнения команды apt-get, передав ей названия пакетов в качестве параметра. Полная установка CUPS содержит много зависимостей, но они все могут быть определены в одной команде. Введите следующее в терминале для установки CUPS:
После аутентификации вас по паролю, пакеты должны загрузиться и установиться без ошибок. В заключении установки сервер CUPS будет запущен автоматически.
При необходимости решения проблем, вы можете получить доступ к ошибкам сервера CUPS через файл журнала /var/log/cups/error_log. Если журнал ошибок не дает достаточно информации для решения какой-либо проблемы, уровень журналирования CUPS можно повысить изменением директивы LogLevel в файле настроек (описывается ниже) до debug или даже debug2 со стандартного info, что будет сохранять в журнал абсолютно все. Если вы проведете такое изменение, не забудьте вернуть все обратно после решения проблемы, чтобы избежать излишнего разрастания файла журнала.
Настройка
Поведение сервера CUPS настраивается директивами, содержащимися в файле /etc/cups/cupsd.conf. Файл настроек CUPS использует тот же синтаксис, что и первичный айл конфигурации HTTP сервера Apache, поэтому пользователи, знакомые с редактированием файла настроек Apache смогут легко освоить настройки и файла CUPS. Здесь приведены некоторые примеры настроек, которые вы можете использовать, предварительно изменив.
Прежде чем редактировать файл настроек, вам стоит сделать копию оригинального файла и защитить ее от записи, чтобы у вас были оригинальные настройки в качестве руководства, которые можно восстановить при необходимости.
Скопируйте и защитите от записи файл /etc/cups/cupsd.conf.original с помощью следующих команд в терминале:
sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original sudo chmod a-w /etc/cups/cupsd.conf.original
1. ServerAdmin: Для настройки email адреса назначенного администратора CUPS сервера, просто откройте на редактирование файл /etc/cups/cupsd.conf с помощью своего любимого текстового редактора, и добавьте или измените строку ServerAdmin соответствующим образом. Например, если вы администратор CUPS сервера и ваш email адрес ‘bjoy@somebigco.com’, вам следует изменить строку ServerAdmin следующим образом:
ServerAdmin bjoy@somebigco.com
2. Listen: В Ubuntu по умолчанию установленный CUPS сервер слушает только интерфейс обратной петли по адресу 127.0.0.1. Чтобы заставить CUPS сервер прослушивать актуальный IP адрес сетевого адаптера, вы должны указать сетевое имя или пару IP адрес/порт добавочной директивой Listen. Например, если ваш сервер находится в локальной сети с IP адресом 192.168.10.250 и вы хотите сделать его доступным для других систем в этой подсети, отредактируйте /etc/cups/cupsd.conf, добавив директиву Listen, как показано ниже:
Listen 127.0.0.1:631 # existing loopback Listen Listen /var/run/cups/cups.sock # existing socket Listen Listen 192.168.10.250:631 # Listen on the LAN interface, Port 631 (IPP)
В приведенном примере вы можете закомментировать или удалить ссылки на адрес обратной петли (127.0.0.1), если вы не хотите, чтобы cupsd прослушивал этот интерфейс, а только Ethernet интерфейсы локальной сети. Чтобы разрешить прослушивать все сетевые интерфейсы, назначенные определенному сетевому имении, включая обратную петлю, вы можете создать такую запись Listen для имени (например) socrates:
Listen socrates:631 # Listen on all interfaces for the hostname 'socrates'
или опустить директиву Listen и использовать вместо нее Port:
Port 631 # Listen on port 631 on all interfaces
Для дополнительных примеров по директивам в файле настройки CUPS, смотрите ассоциированную страницу системного руководства, введя в терминале следующую команду:
Всякий раз, как вы внесли изменения в файл настроек /etc/cups/cupsd.conf, вам потребуется перезапустить сервер CUPS вводом следующей команды в терминале:
sudo /etc/init.d/cups restart
Web интерфейс
Настраивать CUPS и отслеживать его состояние можно через web интерфейс, который по умолчанию доступен по адресу http://localhost:631/admin. Web интерфейс можно использовать для выполнения любых задач управления принтером.
Чтобы выполнить административную задачу через web интерфейс, вы должны либо разрешить учетную запись root на своем сервере, либо авторизоваться как пользователь из группы lpadmin. По соображениям безопасности CUPS не авторизует пользователей с пустыми паролями.
Чтобы добавить пользователя в группу lpadmin, выполните в терминале следующую команду:
sudo usermod -aG lpadmin username
Дальнейшая документация доступна через закладку Documentation/Help web интерфейса.