我有两个系统。一个是笔记本电脑,有 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?如果您想接收传入连接,则必须这样做。