仅在 2 个系统之一上使用 rsyslogd

仅在 2 个系统之一上使用 rsyslogd

我有两个系统。一个是笔记本电脑,有 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?还有其他原因导致我收到“连接被拒绝”?

答案1

您的命令不应该nc指定目标端口而不是源端口(-p)。看来您需要执行以下命令:

echo "Test Message 1" | nc -w2  172.17.0.16 10514

答案2

您是否在 rsyslog 服务器的防火墙中打开了入站 TCP 端口 10514?如果您想接收传入连接,则必须这样做。

相关内容