Гайд: Настройка сетевого сканера 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- В
saned.confуказывайте конкретные IP/CIDR, избегайте+. - Если сканер используется редко, отключите
saned.socketи запускайте вручную:sudo systemctl start saned.socket - В 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
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.
Удачной настройки!