Syslogを他のサーバーに送信したい
はじめまして、10.5.2 を使用していますが、/etc/syslog.confに
*.* @hogehoge
としたのですが、他のhogehoge(FreeBSD 4.9)にログ送信したいのですが,
hogehoge側で受信されません。
syslog.conf に記載するほかに、何かやらなくてはならないのでしょうか
はじめまして、10.5.2 を使用していますが、/etc/syslog.confに
*.* @hogehoge
としたのですが、他のhogehoge(FreeBSD 4.9)にログ送信したいのですが,
hogehoge側で受信されません。
syslog.conf に記載するほかに、何かやらなくてはならないのでしょうか
syslogdにHUPシグナルを送るだけでいけるはずですが?syslogサーバ側で受けとれる状態にはなってるんですか?
tcpdumpでモニタしてみるとどうでしょう?
回答ありがとうございます。
kill -HUPもリブートも試みましたがだめでした。
syslog サーバー側では、同一セグメントないのすべてに大して受信を許可( -a 192.168.xx.0/24 )にしてあります。
mac側でlogger taetして
tcpdumpをしてみましたが、サーバ側には届いていないようでした。
mac側でもtcpdumpしてみましたが、やはり送信が行われていないようです。
/etc/syslog.confに
*.* /var/log/all.log
と書いておいて、all.logに出力されているのは確認したので、通常のファイルへの出よくは/etc/syslog.confで有効であることは確認できたのですが、@hogehogeだと送信されません。
どこかに、Firewall(の逆?)のようなフィルターが働いているのでしょうか?
回答ありがとうございます。
kill -HUPもリブートも試みましたがだめでした。
syslog サーバー側では、同一セグメントないのすべてに大して受信を許可( -a 192.168.xx.0/24 )にしてあります。
mac側でlogger taetして
tcpdumpをしてみましたが、サーバ側には届いていないようでした。
mac側でもtcpdumpしてみましたが、やはり送信が行われていないようです。
/etc/syslog.confに
*.* /var/log/all.log
と書いておいて、all.logに出力されているのは確認したので、通常のファイルへの出よくは/etc/syslog.confで有効であることは確認できたのですが、@hogehogeだと送信されません。
どこかに、Firewall(の逆?)のようなフィルターが働いているのでしょうか?
こちらは10.4.11ですが、その設定だけで正常に外部ホストに出ます。
・/etc/syslog.confは「*.* @hogehoge」の行だけですか?(以前、/etc/syslog.confを書き換えようとした時、てっきりコメント行だと思っていた行がそうでなかった経験があります。)
・ホスト「hogehoge」はIPアドレスですか。それともホスト名ですか?ホスト名の場合、名前解決は出来ていますか?また、送信時点で到達可能な状態になっていますか?
kwabeさん
ありがとうございました。
tcpdumpの見方が間違っていて、送信/受信ともされていたことを確認しました。
で、結果的には、受信側のsyslogdの起動の際に -a 192.168.xx.0/24としていたために、送信もとのポートが514である必要があったようです。
syslogに送信している他のノードのほとんどがFreeBSDで、彼らは514からsyslogを送っていたので問題がなかったのですが、macOSはその時々のportから送ってきていたために、受け手側でも相手のポートを任意にする必要があったようです。(tcpdumpより)
なので、 -a 192.168.xx.0/24:* とすることで無事受信できました。
ご助言助かりました。ありがとうございます
RFC3614のBSD Syslog Protocolでは確かに送信元ポートは送信先と同じ514にすることが推奨されていますが、syslog自体様々に実装されてきた経緯もあり、そこはOSによって違うようで、例えばSolarisもローカルポートを使うようです。2004年のdraft-ietf-syslog-transport-udp-01でも、送信元ポートは任意でよいとされ、02ではさらに同一プロセスの中では同じにすること、という既定も取り除かれています。
syslogでも通常のTCP/UDPと同じく、送信元ポートは任意と考えたほうがよいのでしょう。ちなみに、自宅ルータ(BA8000 Pro)のsyslogについては、送信元ポートは514でしたが。
Syslogを他のサーバーに送信したい