У меня две системы. Один из них - ноутбук и имеет rsyslog. Другой - встроенная система, в которой нет rsyslog. Что я хотел бы сделать, так это записать сообщения из встроенной системы на ноутбуке.
Я сконфигурировал ноутбук /etc/rsyslog.conf
для прослушивания TCP-порта 10514:
netstat -nlp | grep 10514
tcp 0 0 0.0.0.0:10514 0.0.0.0:* LISTEN 30280/rsyslogd
tcp 0 0 :::10514 :::* LISTEN 30280/rsyslogd
Во встроенной системе, которую я отправляю, тестовое сообщение с netcat:
[172.17.0.33: ]# echo "Test Message 1" | nc -w2 -p 10514 172.17.0.16
nc: can't connect to remote host (172.17.0.16): Connection refused
Ожидает ли rsyslog чего-нибудь особенного в пакете? Требуется ли в обеих системах наличие rsyslog? По какой другой причине я получил сообщение «В соединении отказано»?
Вы открыли входящий TCP-порт 10514 в брандмауэре сервера rsyslog? Вы должны это сделать, если хотите получать входящие соединения.
Разве ваш nc
укажите порт назначения, а не порт источника (-p). Кажется, вам нужно выполнить команду, как показано ниже:
echo "Test Message 1" | nc -w2 172.17.0.16 10514