Гайд: Настройка сетевого сканера SANE в ALT Linux: saned, firewall, проверка подключения

Настройка сетевого сканирования SANE в ALT Linux: установка пакетов, конфигурация saned, firewall, проверка подключения и диагностика ошибок.

2026.05.23                  


Гайд: Настройка сетевого сканера SANE в ALT Linux: saned, firewall, проверка подключенияГайд: Настройка сетевого сканера SANE в ALT Linux: saned, firewall, проверка подключения Подробный гайд по настройке сетевого сканирования через SANE в ALT Linux (версии P10 и новее, systemd).


1. Подготовка (оба узла)

1. Обновите систему и установите базовые пакеты SANE:
sudo apt update
sudo apt install sane sane-utils

В ALT Linux пакет sane-utils содержит утилиты scanimage, saned, sane-find-scanner и конфигурационные файлы.


2. Убедитесь, что ваш пользователь входит в группу scanner (доступ к USB-сканерам):
sudo usermod -aG scanner $USER

Выйдите и войдите в систему заново, либо выполните newgrp scanner.


2. Настройка сервера (сканер подключён сюда)

2.1. Проверка локального обнаружения

sudo sane-find-scanner -q
scanimage -L

Если сканер виден, переходим к сетевой настройке. Если нет, проверьте подключение, кабели и наличие специфичного бэкенда в /etc/sane.d/ (например, epson.conf, hpaio.conf).


2.2. Настройка доступа по сети

Отредактируйте файл разрешений:

sudo nano /etc/sane.d/saned.conf

Добавьте IP-диапазоны или конкретные адреса клиентов. Не используйте + в продакшене (разрешает всем).

# Примеры:
192.168.1.0/24
10.0.0.50
# 127.0.0.1   # локальный доступ (оставьте, если нужно)

2.3. Включение сетевого бэкенда

В файле /etc/sane.d/net.conf убедитесь, что строка net не закомментирована:

net

2.4. Запуск демона saned

В современных версиях SANE используется socket activation:

sudo systemctl enable --now saned.socket

Проверьте статус:

systemctl status saned.socket
ss -tlnp | grep 6566

Порт 6566/tcp должен быть в состоянии LISTEN.


2.5. Настройка файрвола

ALT Linux по умолчанию использует firewalld:

sudo firewall-cmd --permanent --add-port=6566/tcp
sudo firewall-cmd --reload

Если используется iptables напрямую:

sudo iptables -A INPUT -p tcp --dport 6566 -j ACCEPT
sudo iptables-save | sudo tee /etc/sysconfig/iptables

3. Настройка клиента (удалённая машина)

3.1. Установка пакетов

sudo apt update
sudo apt install sane sane-utils

Для графического интерфейса также рекомендуется:

sudo apt install simple-scan   # или xsane, skanlite

3.2. Указание сервера

Отредактируйте /etc/sane.d/net.conf и добавьте IP или hostname сервера:

192.168.1.100

В /etc/sane.d/dll.conf убедитесь, что строка net не закомментирована (обычно включена по умолчанию).


4. Проверка работы

На клиенте выполните:

scanimage -L

Ожидаемый вывод:

device `net:192.168.1.100:epson2:libusb:001:004' is a Epson Perfection V39 flatbed scanner

Тестовое сканирование:

scanimage -d net:192.168.1.100:epson2:libusb:001:004 --format=tiff > /tmp/test.tiff

Или запустите simple-scan / xsane → выберите сетевое устройство.


5. Устранение неполадок

Проблема Решение
scanimage -L не видит сканер по сети Проверьте saned.conf, firewall, saned.socket, логи journalctl -u saned.socket -f
Device busy / Permission denied Убедитесь, что на сервере никто не держит сканер открытым. Добавьте пользователя в группу scanner, проверьте права udev: ls -l /dev/bus/usb/...
Сканер виден, но ошибка Invalid argument Отключите аппаратное ускорение в бэкенде (например, в epson.conf закомментируйте строки с usb). Обновите sane-backends.
Сканер отваливается при долгом сканировании В /etc/sane.d/saned.conf добавьте timeout 1800 (секунды). Убедитесь, что нет энергосбережения USB.
Порт закрыт telnet <server_ip> 6566 или nc -zv <server_ip> 6566. Проверьте firewall-cmd --list-all

Полезные команды диагностики:

# На сервере
journalctl -u saned@*.service -f
sane-find-scanner -v

# На клиенте
SANE_DEBUG_NET=255 scanimage -L 2>&1 | tail -20

6. Безопасность и важные замечания

1. Трафик SANE не шифруется. Передаются данные сканирования и управляющие команды в открытом виде. Рекомендуется:
  • Использовать только в доверенной локальной сети
  • Либо туннелировать через SSH: ssh -L 6566:localhost:6566 user@server
  • Либо настроить stunnel/wireguard
    1. В saned.conf указывайте конкретные IP/CIDR, избегайте +.
    2. Если сканер используется редко, отключите saned.socket и запускайте вручную: sudo systemctl start saned.socket
    3. В ALT Linux конфигурации SANE находятся в /etc/sane.d/. При обновлении пакета sane-utils файлы .conf обычно сохраняются (.rpmsave не создаётся, если вы их правили).

7. Специфика ALT Linux

  • Пакетный менеджер: apt (совместим с apt-get, но в P10+ рекомендуется apt)
  • Система инициализации: systemd (socket activation для saned)
  • Брандмауэр: firewalld (по умолчанию в workstation/server профилях)
  • Udev-правила для сканеров устанавливаются пакетом sane автоматически. При необходимости можно добавить свои в /etc/udev/rules.d/
  • Логи: journalctl -u saned.socket, journalctl -u saned@*.service

Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.

Удачной настройки!