現在、ポート514でudpパケットを受信しているrsyslogサーバー(ironportプロキシ)にログを送信しています。私はポート514でtcpdumpをチェックし、多くのsyslogメッセージを見たので知っています。
しかし、問題は、これらのメッセージをファイルにリダイレクトできないことです。オンライン(そしてここ)で見たことをたくさん試しましたが、うまくいきません。これを行う正しい方法は何ですか?ここに私の質問に対する答えを知っている人がいれば:roll:
事前にありがとう
答え1
syslog メッセージを受信するサーバーの UDP ポート 514 に次の構成を追加する必要があります。
$ModLoad imudp
$UDPServerRun 514
$AllowedSender UDP, 10.42.0.0/15 127.0.0.1
$template RemoteStore, "/var/log/remote/%HOSTNAME%/%timegenerated:1:10:date-rfc3339%"
:source, !isequal, "localhost" -?RemoteStore
:source, isequal, "last" ~
正しい送信者(replace 10.42.0.0/15
)が許可されていることを確認してrsyslogを再起動してください。これでリモートログインを見つけることができます/var/log/remote/$hostname/YYYY-MM-DD
。
また、/CentOS固有:ファイアウォールが有効になっている可能性があります。その場合、UDPポート514への着信トラフィックが破棄される可能性があります。ファイアウォールの状態(systemctl status firewall
)を確認してください。有効になっている場合は、ルールを追加してみてください。
# firewall-cmd --get-default-zone
public
# firewall-cmd --zone=public --add-port=514/udp
# firewall-cmd --permanent
# firewall-cmd --reload
SELinuxをチェックしたいかもしれません。有効になっている場合は確認してください。rsyslog がポート 514 で UDP トラフィックを受信できるようにする。
答え2
私は最近同じ質問について頭を傷つけました。上記のSYN提案をすべて試しましたが、まだサイコロはありません。 :(
RHEL 7では、最後に「ACCEPT」ルールを追加する必要があることに気づきました。/etc/sysconfig/iptables:
-A INPUT -m state --state NEW -m udp --dport 514 -j ACCEPT
ファイルの「REJECT」ルールの前に表示する必要があります。一度座ったら、すべてが黄金色になります! :)