Среда - это Ubuntu 12.04.4 LTS с rsyslog 5.8.6.
Я настроил rsyslog для приема сообщений через UDP через стандартный порт 514. Он позволяет одному конкретному хосту отправлять на него сообщения:
$AllowedSender UDP, 192.168.4.1
Когда я отправляю сообщение с другого сервера, он отклоняет сообщение и регистрирует:
rsyslogd: UDP message from disallowed sender discarded
Можно ли настроить rsyslog на включение IP-адреса отклоненного отправителя?
Я загрузил источник версии 5 ( https://github.com/rsyslog/rsyslog/archive/v5-stable.zip ) и посмотрел plugins/imudp/imudp.c. В этом файле это - сообщение hardcoded без опции для отображения отправителя IP-адрес frominet :
if(glbl.GetOption_DisallowWarning) {
time_t tt;
datetime.GetTime(&tt);
if(tt > ttLastDiscard + 60) {
ttLastDiscard = tt;
errmsg.LogError(0, NO_ERRCODE,
"UDP message from disallowed sender discarded");
}
}
я также нашел, что tools/syslogd.c содержит теперь неиспользованный остаток chkMsgAgainstACL () , который действительно отображался значение fromHost.
errmsg.LogError(0, NO_ERRCODE,
"UDP message from disallowed sender %s discarded",
(char*)fromHost);
я не уверен, почему Rainer решил не сохранить ту функцию. Он действительно обсуждает некоторые вопросы производительности вокруг этого раздела кода здесь: http://blog.gerhards.net/2009/11/acls-imudp-and-accepting-messages.html
В любом случае, похоже, что я должен был бы скомпилировать свою собственную версию rsyslogd, если я хочу отобразить IP-адрес отправителя.