У меня есть две виртуальные машины в Azure, которые находятся в одной подсети. На одной виртуальной машине (10.1.0.6) работает демон clamav, на другой - приложение Java Wildfly (10.1.0.5).
Я хотел бы отправить файлы из Java-приложения демону clam av.
Я проверил, что Clamav работает и прослушивает порт 3310:
netstat -ant|grep 3310
tcp 0 0 127.0.0.1:3310 0.0.0.0:* LISTEN
netstat -lnp | grep clam
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
unix 2 [ ACC ] STREAM LISTENING 800631 -
/var/run/clamav/clamd.ctl
Для сервера Clam Av все входящие порты открыты в виртуальной частной сети. Однако, если я проверю на сервере java, доступен ли порт через telnet или NC, я получаю:
telnet 10.1.0.6 3310
Trying 10.1.0.6...
telnet: Unable to connect to remote host: Connection refused
nc -vz 10.1.0.6 3310
nc: connect to 10.1.0.6 port 3310 (tcp) failed: Connection refused
Если я отправляю файлы через приложение Java, я получаю ту же ошибку.
Правильно ли настроен мой clamav и связана ли эта проблема с моей конфигурацией подсети?
Спасибо за вашу помощь!
Проблема заключалась в том, что демон прослушивал IP-адрес обратной петли (127.0.0.1). Мне пришлось переключить это, чтобы слушать 10.1.0.6 (0.0.0.0 тоже должен работать).
добавлен в /etc/clamav/clamd.conf
:
TCPSocket 3310
TCPAddr 10.1.0.6
добавлен в /etc/systemd/system/clamav-daemon.service.d/extend.conf
ListenStream=10.1.0.6:3310
Перезапустил демон, и теперь он работает!