Установка saned с systemd (без inetd или xinetd) - saned отказывается от подключения

Я настроил Raspberry Pi B v1 с минимальным изображением Jessie и настроил его для печати через чашки и сканирования через saned.

локальная установка без проблем; a

pi@EMK-RPiBv1:~$ scanimage -L
device 'fujitsu:ScanSnap S1500:25959' is a FUJITSU ScanSnap S1500 scanner

однако, сканер не виден в сети. a scanimage -L на другой машине показывает
emk2203@XPS12-9Q33:~$ scanimage -L
device 'hpaio:/net/HP_LaserJet_CM1415fn?ip=192.168.1.30' is a Hewlett-Packard HP_LaserJet_CM1415fn all-in-one
device 'hpaio:/net/HP_Officejet_Pro_276dw_MFP?ip=192.168.1.40' is a Hewlett-Packard HP_Officejet_Pro_276dw_MFP all-in-one

Итак,scanimage -L работает-он находит два других сетевых сканера, но не сканер, подключенный к Распи.

если я вопрос netstat -tulpn на pi и проверить состояние saned.service и saned.socket, я

pi@EMK-RPiBv1:~$ netstat -tulpn
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      -               
tcp        0      0 0.0.0.0:631             0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::6566                 :::*                    LISTEN      -               
tcp6       0      0 :::22                   :::*                    LISTEN                    
tcp6       0      0 :::631                  :::*                    LISTEN      
udp        0      0 0.0.0.0:42976           0.0.0.0:*                           
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           
udp        0      0 0.0.0.0:29987           0.0.0.0:*                           
udp        0      0 0.0.0.0:68              0.0.0.0:*                           
udp        0      0 192.168.1.34:123        0.0.0.0:*    -                       
udp        0      0 127.0.0.1:123           0.0.0.0:*-                           
udp        0      0 0.0.0.0:123             0.0.0.0:*-                           
udp6       0      0 :::35810                :::*     -                           
udp6       0      0 :::5353                 :::*     -                           
udp6       0      0 :::49009                :::*     -                         
udp6       0      0 fe80::ba27:ebff:fe4:123 :::*     -                          
udp6       0      0 2a02:8070:a182:ce00:123 :::*     -                           
udp6       0      0 ::1:123                 :::*     -                           
udp6       0      0 :::123                  :::*     -                        

pi@EMK-RPiBv1:~$ systemctl status saned.socket
● saned.socket - saned incoming socket
    Loaded: loaded (/lib/systemd/system/saned.socket; enabled)
    Active: active (listening) since Sun 2015-10-11 20:01:52 CEST; 2min 18s ago
    Listen: [::]:6566 (Stream)
Accepted: 0; Connected: 0

pi@EMK-RPiBv1:~$ systemctl status saned.service
● saned.service - LSB: SANE network scanner server
   Loaded: loaded (/etc/init.d/saned)
   Active: active (exited) since Sun 2015-10-11 20:01:53 CEST; 2min 26s ago
  Process: 342 ExecStart=/etc/init.d/saned start (code=exited, status=0/SUCCESS)

открытый порт показан только для tcp6, но в соответствии с pi@EMK-RPiBv1:~$ sudo sysctl net.ipv6.bindv6only Я net.ipv6.bindv6only = 0 - это не должно быть проблемой, так как ipv6 не привязан только к v6, но также включает ipv4.

но когда я пытаюсь telnet в открытый порт на pi, соединение отказал:

pi@EMK-RPiBv1:~$ telnet localhost 6566
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

это означает, что я не могу Сан.

если я убью systemd службы и сокета для saned и попытаться отладить, я получаю следующее:

root@EMK-RPiBv1:~# systemctl stop saned.service
root@EMK-RPiBv1:~# systemctl stop saned.socket
root@EMK-RPiBv1:~# lsof -i :6566

итак, ничего не слышно в данный момент-нет выхода.

root@EMK-RPiBv1:~# saned -d128 -a saned
[saned] main: starting debug mode (level 128)
[saned] read_config: searching for config file
[saned] read_config: done reading config
[saned] saned (AF-indep+IPv6) from sane-backends 1.0.24 starting up
[saned] do_bindings: trying to get port for service "sane-port"   (getaddrinfo)
[saned] do_bindings: [1] socket () using IPv6
[saned] do_bindings: [1] setsockopt ()
[saned] do_bindings: [1] bind () to port 6566
[saned] do_bindings: [1] listen ()
[saned] do_bindings: [0] socket () using IPv4
[saned] do_bindings: [0] setsockopt ()
[saned] do_bindings: [0] bind () to port 6566
[saned] do_bindings: [0] bind failed: Address already in use
[saned] run_standalone: spawning Avahi process
[saned] run_standalone: waiting for control connection
[saned] saned_avahi_callback: AVAHI_CLIENT_S_RUNNING
[saned] saned_create_avahi_services: adding service 'saned'
[saned] saned_avahi_group_callback: service 'saned' successfully established

что мне нужно сделать, чтобы открыть связь? Без установки inetd или xinetd, пожалуйста. Это должно работать только с systemd.

24
задан emk2203
22.12.2022 12:00 Количество просмотров материала 3432
Распечатать страницу

2 ответа

но когда я пытаюсь telnet в открытый порт на pi, соединение отказано:

pi@EMK-RPiBv1:~$ telnet localhost 6566
Trying ::1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

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

во всяком случае: я могу догадаться о двух проблемах:

  1. С inetd активации сокета, например санэд служба не запущена пока попытки подключения. Поэтому он также не может отображаться в результатах сканирования (так как он не выполняется во время сканирования). Поэтому вместо этого Вам может потребоваться запустить его как постоянную службу, а не активированную сокетом.

  2. код saned.service не является реальным сервисом systemd; он был автоматически преобразован из /etc / init.D / saned (как показывает префикс" LSB:"). Как инит.D преобразование необходимо обрабатывать много странные пограничные случаи, иногда это приводит к услугам, которые едва работают -особенно при совмещении с активацией гнезда. Таким образом, вы должны избегать одновременного запуска блоков native-systemd и LSB-converted в saned.

1
отвечен grawity 2022-12-23 19:48

надлежащее systemd сотрудничество в здравом уме 1.0.25, в здравом уме 1.0.24 есть проблемы. Подробнее вменяемый баг-трекер. Для работы с systemd необходимо либо использовать версию sane-utils 1.0.25 (не в Raspbian Jessie), либо внести коррективы в версию 1.0.24.

короче, libsystemd-dev нужно быть установленным для клея systemd для работы, и saned.service отредактировано в соответствии с предложением справочной страницы для 1.0.25:1.0.25 man page.

Man страница для 1.0.25

конфигурация Systemd при saned компилируется без поддержки systemd

эта конфигурация также будет работать, когда Saned компилируется с поддержкой интеграции systemd,но она не позволяет регистрировать отладочную информацию.

saned.socket (без изменений)

[Unit]
Description=saned incoming socket

[Socket]
ListenStream=6566
Accept=yes
MaxConnections=1

[Install]
WantedBy=sockets.target

saned@.service (изменилось, работает также, если systemd поддержка компилируется, но не позволяет протоколировать отладку информация)

[Unit]
Description=Scanner Service
Requires=saned.socket

[Service]
ExecStart=/usr/sbin/saned
User=saned
Group=saned
StandardInput=socket

Environment=SANE_CONFIG_DIR=/etc/sane.d

[Install]
Also=saned.socket

вы также можете ввести Alias=saned.service в последней строфе установки после Also=saned.socket чтобы обе ссылки saned начинались с одного saned.*

и /etc/default/saned должен содержать RUN=no или служба не работает, и в качестве напоминания, адрес saned сервера или FQDN (не только имя сервера) необходимо поместить в /etc/sane.d/net.conf на всех клиентских машинах.

1
отвечен emk2203 2022-12-23 22:05

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх