Astra Linux — российская операционная система на базе ядра Linux, широко используемая в госструктурах, образовательных учреждениях и коммерческих организациях. Настройка сетевого принтера в этой ОС имеет свои нюансы, особенно если речь идёт о моделях с закрытыми драйверами или нестандартными протоколами печати. В отличие от Windows, где процесс часто сводится к нескольким кликам, в Linux-системах требуется ручная настройка конфигурационных файлов, установка пакетов и иногда даже компиляция драйверов.

Эта статья поможет разобраться, как подключить сетевой принтер в Astra Linux — от базовой настройки через графический интерфейс до сложных случаев с ручным добавлением PPD-файлов. Мы рассмотрим актуальные методы для версий Orel и Smolensk, а также дадим рекомендации по устранению распространённых ошибок, таких как Filter failed или проблемы с обнаружением устройства в сети. Если вы администрируете парк техники в организации или просто хотите печать из домашней сети — здесь найдёте ответы на все ключевые вопросы.

1. Подготовка системы: проверка сетевых настроек и зависимостей

Прежде чем приступать к настройке принтера, убедитесь, что ваша система Astra Linux готова к работе с сетевыми устройствами. Первым делом проверьте:

  • 🔌 Подключение принтера к сети: устройство должно быть включено и корректно подсоединено к локальной сети (через Ethernet или Wi-Fi). Проверьте индикаторы на корпусе принтера — горящий зелёный/синий светодиод обычно сигнализирует об активном сетевом соединении.
  • 🖥️ IP-адрес принтера: его можно узнать, распечатав тестовую страницу настроек (обычно кнопка Info или Menu на панели управления) или через веб-интерфейс роутера.
  • 📡 Доступность принтера в сети: с компьютера под управлением Astra Linux выполните команду ping [IP-принтера]. Если пакеты не проходят, проверьте настройки фаервола или сетевые фильтры.

Также установите необходимые пакеты для работы с принтерами. В Astra Linux это можно сделать через apt (для версий на базе Debian):

sudo apt update

sudo apt install cups printer-driver-all hplip samba

CUPS (Common Unix Printing System) — это основная подсистема печати в Linux, а printer-driver-all и hplip обеспечат поддержку большинства моделей принтеров (включая HP, Canon, Brother и др.). Пакета samba потребуется, если принтер подключён через Windows-сетевой ресурс.

⚠️ Внимание: В корпоративных сетях с активными политиками безопасности доступ к принтеру может блокироваться на уровне firewall или SELinux. Если после настройки принтер не обнаруживается, уточните у администратора сети, разрешены ли протоколы IPP (порт 631) и SMB (порты 139/445).
📊 Какой тип принтера вы настраиваете?
Лазерный
Струйный
МФУ
Термопринтер
Другой

2. Настройка принтера через веб-интерфейс CUPS

Самый удобный способ добавить сетевой принтер в Astra Linux — использовать веб-интерфейс CUPS. По умолчанию он доступен по адресу http://localhost:631. Если вы настраиваете принтер удалённо, замените localhost на IP-адрес компьютера с Astra Linux.

Инструкция по добавлению принтера:

  1. Откройте браузер и перейдите по адресу http://localhost:631/admin. При первом входе система запросит логин и пароль — используйте учётные данные root или пользователя с правами администратора.
  2. В разделе Printers нажмите Add Printer.
  3. В списке обнаруженных устройств выберите ваш принтер. Если он не отображается, введите его IP-адрес вручную в поле Other Network Printers (протокол AppSocket/HP JetDirect или IPP).
  4. Укажите модель принтера. Если вашей модели нет в списке, загрузите PPD-файл с официального сайта производителя (например, для HP — с hp.com).
  5. Настройте параметры по умолчанию (размер бумаги, качество печати) и сохраните изменения.

После добавления принтер появится в списке устройств. Чтобы проверить его работоспособность, распечатайте тестовую страницу через веб-интерфейс CUPS или командой:

lp -d [имя_принтера] /usr/share/cups/data/testprint.ps

Установить пакеты CUPS и драйверы|Проверить IP-адрес принтера|Открыть порт 631 в фаерволе|Подготовить PPD-файл (если требуется)|Проверка ping до принтера-->

3. Ручное добавление принтера через командную строку

Если веб-интерфейс CUPS недоступен (например, из-за ограничений безопасности) или вы предпочитаете работать в терминале, принтер можно добавить с помощью команды lpadmin. Этот метод особенно полезен для автоматизации настройки на нескольких машинах.

Пример команды для добавления сетевого принтера HP LaserJet P1102w с IP-адресом 192.168.1.100:

sudo lpadmin -p HP_LaserJet_P1102w -E -v socket://192.168.1.100 -m drv:///hpcups.drv/hp-laserjet_p1100.ppd

Расшифровка параметров:

  • -p — имя принтера (произвольное, но лучше использовать модель).
  • -E — включить принтер после добавления.
  • -v — URI устройства (для сетевых принтеров обычно socket://[IP] или ipp://[IP]).
  • -m — модель или путь к PPD-файлу.

Чтобы сделать принтер принтером по умолчанию, выполните:

sudo lpadmin -d HP_LaserJet_P1102w
⚠️ Внимание: При ручном добавлении принтера через lpadmin убедитесь, что указанный PPD-файл совместим с вашей моделью. Неправильный драйвер может привести к сбоям печати или повреждению заданий в очереди. Список поддерживаемых драйверов можно посмотреть в каталоге /usr/share/cups/model/.
💡

Если принтер не печатает после настройки, проверьте очередь заданий командой lpstat -t. Застрявшие задания можно удалить командой cancel -a или lprm -.

4. Настройка принтера через Samba (для сетей с Windows)

Если принтер подключён к компьютеру под управлением Windows и расшарен по сети, в Astra Linux его можно подключить через протокол SMB. Для этого:

  1. Убедитесь, что на Windows-машине включён общий доступ к принтеру (в свойствах принтера → вкладка Доступ).
  2. Установите пакет smbclient (если ещё не установлен):
sudo apt install smbclient
  1. Добавьте принтер через CUPS, указав URI в формате:
smb://[WORKGROUP]/[Windows_PC_Name]/[Printer_Share_Name]

Пример:

smb://WORKGROUP/WinPC/HP_OfficeJet

Где:

  • WORKGROUP — имя рабочей группы (по умолчанию в WindowsWORKGROUP).
  • WinPC — имя компьютера, к которому подключён принтер.
  • HP_OfficeJet — сетевое имя принтера.

Если при подключении запрашивается пароль, используйте учётные данные пользователя Windows, у которого есть права на печать. Для автоматического ввода credentials отредактируйте файл /etc/samba/smb.conf, добавив строку:

password server = [Windows_PC_IP]

5. Установка проприетарных драйверов для специфичных моделей

Некоторые принтеры (например, Kyocera, Xerox или Ricoh) требуют установки фирменных драйверов, которые не входят в стандартные репозитории Astra Linux. В этом случае:

  1. Скачайте драйвер с официального сайта производителя. Обычно это архив с расширением .tar.gz или .deb.
  2. Распакуйте архив и следуйте инструкции README или INSTALL. Для HP это может быть скрипт hplip-install, для Brotherinstall.sh.
  3. Если драйвер поставляется в виде .deb-пакета, установите его командой:
sudo dpkg -i [имя_пакета.deb]

Для принтеров Epson может потребоваться установка пакета epson-inkjet-printer-escpr:

sudo apt install epson-inkjet-printer-escpr

Важно: Принтеры с поддержкой только протокола AirPrint (например, некоторые модели Canon) в Astra Linux могут не работать без дополнительных манипуляций. В этом случае потребуется установить avahi-daemon и настроить CUPS для эмуляции AirPrint.

Производитель Рекомендуемый пакет/драйвер Команда установки
HP hplip sudo apt install hplip
Brother Фирменный .deb с сайта sudo dpkg -i brother-driver.deb
Epson epson-inkjet-printer-escpr sudo apt install epson-inkjet-printer-escpr
Canon cnijfilter2 sudo apt install cnijfilter2
Samsung samsungmfp-driver sudo apt install samsungmfp-driver
Что делать, если драйвер не устанавливается?

Если при установке драйвера возникают ошибки зависимостей (например, libcups2 конфликтует с libcups2-dev), попробуйте:

1. Удалить конфликтующие пакеты: sudo apt remove libcups2-dev.

2. Установить драйвер с флагом --force-depends: sudo dpkg -i --force-depends brother-driver.deb.

3. Восстановить зависимости: sudo apt --fix-broken install.

Если проблема сохраняется, скачайте драйвер для более старой версии Debian (например, Buster вместо Bullseye).

6. Решение распространённых проблем

Даже после правильной настройки принтер может не работать. Рассмотрим типичные ошибки и способы их устранения:

🔴 Ошибка: "Filter failed" или "Unable to locate printer"

Причины:

  • 🖨️ Неправильный PPD-файл или драйвер.
  • 🌐 Принтер недоступен по сети (проверьте ping и фаервол).
  • 📄 Очередь печати заблокирована.

Решения:

  1. Переустановите принтер с правильным драйвером.
  2. Очистите очередь командой cancel -a.
  3. Проверьте логи CUPS:
tail -f /var/log/cups/error_log

🔴 Ошибка: "Client-Error-Not-Found" при печати

Эта ошибка возникает, если CUPS не может найти указанный принтер. Проверьте:

  • Корректность имени принтера в команде lp (регистр имеет значение!).
  • Статус принтера в веб-интерфейсе CUPS (возможно, он отключён).

🔴 Принтер печатает пустые листы или иероглифы

Проблема типична для принтеров с несовместимыми драйверами. Решения:

  • Установите другой PPD-файл (например, для HP попробуйте драйвер hpcups вместо hplip).
  • Отправьте тестовый файл в формате PDF вместо PostScript:
lp -d [принтер] -o document-format=application/pdf файл.pdf
⚠️ Внимание: Если принтер подключён через USB, но вы пытаетесь настроить его как сетевой, CUPS может автоматически создавать дублирующие записи. Проверьте список принтеров командой lpstat -p и удалите лишние экземпляры командой lpadmin -x [имя_принтера].
💡

Большинство проблем с печатью в Astra Linux связаны с неверными драйверами или сетевыми настройками. Всегда начинайте диагностику с проверки логов CUPS и доступности принтера по IP.

7. Автоматизация настройки для нескольких пользователей

В организациях с большим количеством рабочих мест ручная настройка принтера на каждом компьютере неэффективна. Для автоматизации можно:

  1. Экспортировать конфигурацию CUPS:

Скопируйте файлы конфигурации принтера из /etc/cups/ppd/ и разверните их на других машинах. Также экспортируйте настройки через:

lpoptions -l -d [имя_принтера] > printer_settings.txt
  1. Использовать скрипты:

Пример скрипта для добавления принтера на всех машинах в сети:

#!/bin/bash

PRINTER_NAME="Office_Printer"

PRINTER_IP="192.168.1.100"

PPD_FILE="/usr/share/ppd/cupsfilters/HP-LaserJet_P1102.ppd"

lpadmin -p "$PRINTER_NAME" -E -v "socket://$PRINTER_IP" -m "$PPD_FILE"

lpadmin -d "$PRINTER_NAME"

  1. Настроить сетевой доступ к CUPS:

Отредактируйте файл /etc/cups/cupsd.conf, добавив:

Listen *:631

Allow @LOCAL

Затем перезапустите службу:

sudo systemctl restart cups

Теперь пользователи смогут подключаться к принтеру через веб-интерфейс CUPS по IP-адресу сервера.

8. Безопасность: ограничение доступа к принтеру

В корпоративной среде важно контролировать, кто может печатать на сетевом принтере. В CUPS это настраивается через:

  • 🔒 Аутентификацию: в файле /etc/cups/cupsd.conf добавьте:
AuthType Basic

AuthClass Group

AuthGroupName sys admin

  • 📋 Ограничение по IP: укажите разрешённые подсети:
Allow 192.168.1.0/24

Deny All

Также можно ограничить доступ к конкретным функциям принтера (например, цветную печать) через настройки PPD-файла или веб-интерфейс CUPS.

Для аудита печати включите логирование в /etc/cups/cupsd.conf:

LogLevel debug

AccessLog /var/log/cups/access_log

Логи будут сохраняться в /var/log/cups/, что поможет отследить, кто и когда отправлял задания на печать.

💡

В госструктурах с высокими требованиями к безопасности рекомендуется отключить веб-интерфейс CUPS (параметр WebInterface No) и управлять принтерами только через командную строку или централизованные системы (например, Samba AD).

FAQ: Частые вопросы по настройке сетевых принтеров в Astra Linux

🔹 Почему принтер добавляется, но не печатает?

Наиболее вероятные причины:

  • Неправильный драйвер (PPD-файл). Попробуйте другой драйвер из списка CUPS.
  • Блокировка порта 631 или 9100 фаерволом. Проверьте правила iptables или nftables.
  • Очередь печати заблокирована. Очистите её командой cancel -a.

Также проверьте логи CUPS командой journalctl -u cups -f.

🔹 Как подключить принтер по Wi-Fi?

Для беспроводных принтеров:

  1. Подключите принтер к той же сети Wi-Fi, что и компьютер с Astra Linux.
  2. Узнайте IP-адрес принтера (через панель управления или распечатку тестовой страницы).
  3. Добавьте принтер в CUPS через URI socket://[IP] или ipp://[IP].

Если принтер поддерживает WPS, можно подключить его к роутеру без ввода пароля (кнопка WPS на роутере + кнопка на принтере).

🔹 Можно ли использовать принтер, подключённый к Windows, без Samba?

Да, но с ограничениями. Альтернативные способы:

  • 🖥️ IPP через Windows: Настройте общий доступ к принтеру в Windows через протокол IPP (в свойствах принтера → порты → добавить Standard TCP/IP Port). Затем в Astra Linux подключитесь по URI ipp://[Windows_IP]/printers/[имя_принтера].
  • 🌐 Облачные сервисы: Некоторые принтеры (например, HP ePrint) поддерживают печать через email. Отправьте документ на специальный адрес, и принтер распечатает его.

Однако Samba остаётся самым надёжным способом для локальных сетей.

🔹 Как обновить драйвер принтера?

Процесс зависит от типа драйвера:

  • 📦 Драйвер из репозитория: Обновите пакеты командой sudo apt update && sudo apt upgrade.
  • 📄 Ручной PPD-файл: Скачайте новую версию с сайта производителя и переустановите принтер в CUPS.
  • 🔧 Проприетарный драйвер: Удалите старую версию (sudo dpkg -r [пакет]) и установите новую.

После обновления перезапустите CUPS:

sudo systemctl restart cups
🔹 Почему после перезагрузки принтер исчезает из списка?

Это происходит, если:

  • 🔌 Принтер подключён по USB, но в настройках CUPS указан сетевой URI.
  • 📝 Конфигурационные файлы CUPS сбрасываются (например, из-за скриптов очистки).
  • 🔄 Служба CUPS не сохраняет настройки. Проверьте права на папку /etc/cups:
sudo chown -R root:lp /etc/cups

sudo chmod -R 750 /etc/cups

Если проблема сохраняется, добавьте принтер через lpadmin с флагом -E (включить после добавления).