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