Как отобразить IP-адрес отправителя, когда rsyslog отклоняет UDP-сообщение?

Среда - это 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-адреса отклоненного отправителя?

1
задан 7 May 2014 в 20:27

1 ответ

Я загрузил источник версии 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-адрес отправителя.

0
ответ дан 7 May 2014 в 20:27

Другие вопросы по тегам:

Похожие вопросы: