Подробный гайд: Пошаговая инструкция по расшариванию принтера в ALT Linux 11.4

Пошаговая инструкция по расшариванию принтера в ALT Linux 11.4. Настройка CUPS, Samba, Avahi и брандмауэра для стабильной печати с Windows и Linux.

2026.08.29                  


Подробный гайд: Пошаговая инструкция по расшариванию принтера в ALT Linux 11.4Подробный гайд: Пошаговая инструкция по расшариванию принтера в ALT Linux 11.4 Настройка общего доступа к принтеру в ALT Linux 11.4 (как и в других современных дистрибутивах на базе CUPS) состоит из нескольких этапов: настройка самого сервера печати (CUPS), настройка Samba (для клиентов Windows), настройка Avahi (для клиентов Linux/macOS) и открытие портов в брандмауэре.


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

  1. Принтер физически подключен к компьютеру с ALT Linux (по USB или сети).
  2. Принтер уже добавлен и работает локально (вы можете распечатать тестовую страницу с этой машины).
  3. У вас есть права суперпользователя (root).


Все команды ниже выполняются в терминале от имени root (через su - или с использованием sudo).


Шаг 1. Настройка CUPS (Сервер печати)

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

1. Откройте конфигурационный файл CUPS в текстовом редакторе (например, mcedit или nano):

   mcedit /etc/cups/cupsd.conf

2. Найдите секцию <Location /> и измените её так, чтобы разрешить доступ с локальной сети (@LOCAL):

   <Location />
     Order allow,deny
     Allow @LOCAL
   </Location>

3. Найдите секцию <Location /admin> и также разрешите доступ (иначе вы не сможете управлять принтером по сети):

   <Location /admin>
     Order allow,deny
     Allow @LOCAL
   </Location>

4. Убедитесь, что в файле есть строка, включающая общий доступ по умолчанию (или добавьте её, если её нет):

   DefaultShared Yes
  1. Сохраните файл и перезапустите службу CUPS:
   systemctl restart cups

Шаг 2. Настройка Samba (Для клиентов Windows)

Чтобы компьютеры с Windows увидели принтер и смогли отправить на него задание, нужно настроить Samba.

1. Установите Samba, если она еще не установлена:

   apt-get update
   apt-get install samba samba-client

2. Откройте конфигурационный файл Samba:

   mcedit /etc/samba/smb.conf

3. В секции [global] убедитесь, что присутствуют следующие строки (если их нет — добавьте):

   [global]
       load printers = yes
       printing = cups
       printcap name = cups
       show add printer wizard = yes

4. В самом низу файла найдите секцию [printers] и раскомментируйте её (убедитесь, что она выглядит так):

   [printers]
       comment = All Printers
       path = /var/spool/samba
       browseable = yes
       public = yes
       guest ok = yes
       writable = no
       printable = yes
       printer name = <имя_вашего_принтера_в_cups> 
       # Примечание: строку "printer name" можно не указывать, тогда будут расшарены ВСЕ принтеры из CUPS.

5. Также раскомментируйте секцию [print$] (она нужна, чтобы Windows могла скачивать драйверы с сервера, если вы их туда загрузите):

   [print$]
       comment = Printer Drivers
       path = /var/lib/samba/printers
       browseable = yes
       read only = yes
       guest ok = no
       write list = root

6. Сохраните файл. Проверьте синтаксис конфигурации:

   testparm

(Если в конце выдает Loaded services file OK, всё хорошо).

7. Запустите и добавьте в автозагрузку службы Samba:

   systemctl enable --now smb nmb

Шаг 3. Настройка Avahi (Для клиентов Linux и macOS)

Avahi обеспечивает автоматическое обнаружение принтера в сети (протокол mDNS/Bonjour).

1. Установите демон Avahi:

   apt-get install avahi-daemon

2. Запустите его:

   systemctl enable --now avahi-daemon

Шаг 4. Настройка брандмауэра (Firewall)

В ALT Linux по умолчанию может быть включен брандмауэр. Нужно открыть нужные порты.

Если используется firewalld (стандарт для рабочей станции):

firewall-cmd --permanent --add-service=ipp       # Порт 631 для CUPS
firewall-cmd --permanent --add-service=samba     # Порты 137-139, 445 для Samba
firewall-cmd --permanent --add-service=samba-client
firewall-cmd --permanent --add-service=mdns      # Порт 5353 для Avahi
firewall-cmd --reload

Если используется iptables (стандарт для сервера):

Вам нужно открыть порты TCP/UDP 631 (CUPS), 137-139, 445 (Samba) и 5353 (Avahi).



Пример правил:

iptables -A INPUT -p tcp -m multiport --dports 631,137,138,139,445 -j ACCEPT
iptables -A INPUT -p udp -m multiport --dports 631,137,138,139,445,5353 -j ACCEPT

(Не забудьте сохранить правила iptables, если используете его: iptables-save > /etc/sysconfig/iptables).


Шаг 5. Подключение клиентов

С компьютера Windows (10/11):

  1. Откройте «Параметры» -> «Устройства» -> «Принтеры и сканеры».
  2. Нажмите «Добавить принтер или сканер».
  3. Если он не найден автоматически, нажмите «Необходимый принтер отсутствует в списке».
  4. Выберите «Выбрать общий принтер по имени» и введите путь: \\IP-АДРЕС-ALT-LINUX\ИМЯ_ПРИНТЕРА (Имя принтера можно посмотреть в веб-интерфейсе CUPS: http://IP-АДРЕС-ALT-LINUX:631).
  5. Важно для Windows 10/11: Если вы использовали guest ok = yes в Samba, Windows может заблокировать подключение из соображений безопасности. В этом случае на Windows-машине нужно разрешить «гостевой» вход в SMB:
    • Нажмите Win + R, введите gpedit.msc.
    • Перейдите: Конфигурация компьютера -> Административные шаблоны -> Сеть -> Рабочая станция -> Включение небезопасных гостевых входов.
    • Переведите в состояние «Включено».

С компьютера Linux (в том числе другой ALT Linux):

  1. Откройте «Настройки» -> «Принтеры».
  2. Нажмите «Добавить» (или «+»).
  3. Система автоматически найдет принтер по сети (благодаря Avahi). Выберите его и нажмите «Далее».
  4. Выберите драйвер (или используйте PPD-файл, если он уже есть в системе).

Шаг 6. Диагностика и решение проблем

Если что-то пошло не так, проверяем логи:

1. Логи CUPS:

Включите подробное логирование, временно изменив в /etc/cups/cupsd.conf строку LogLevel warn на LogLevel debug.

   systemctl restart cups
   tail -f /var/log/cups/error_log

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


2. Логи Samba:

   tail -f /var/log/samba/log.smbd

3. Проверка доступности портов с клиента Windows:

Откройте PowerShell на Windows и проверьте, открыт ли порт CUPS:

   Test-NetConnection -ComputerName IP_ALT_LINUX -Port 631

Если TcpTestSucceeded : False, значит проблема в брандмауэре ALT Linux или в сетевом экране роутера (если они в разных подсетях).


4. Права на папку спула Samba:

Убедитесь, что папка для временных файлов существует и имеет правильные права:

   mkdir -p /var/spool/samba
   chmod 1777 /var/spool/samba

Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта