L'environnement est Ubuntu 12.04.4 LTS avec rsyslog 5.8.6.
J'ai rsyslog configuré pour recevoir des messages via UDP sur le port standard 514. Il permet à un hôte spécifique de lui envoyer des messages:
$AllowedSender UDP, 192.168.4.1
Lorsque j'envoie un message à partir d'un autre serveur, il rejette le message et enregistre:
rsyslogd: UDP message from disallowed sender discarded
Est-il possible de configurer rsyslog pour inclure l'adresse IP de l'expéditeur rejeté?
J'ai téléchargé la source de la version 5 ( https://github.com/rsyslog/rsyslog/archive/v5-stable.Zip ) et regardé plugins/imudp/imudp.c . Dans ce fichier, il s'agit d'un message codé en dur sans option pour afficher l'adresse IP de l'expéditeur 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");
}
}
J'ai également constaté que tools/syslogd.c contient un résidu désormais inutilisé chkMsgAgainstACL () qui a affiché la valeur fromHost .
errmsg.LogError(0, NO_ERRCODE,
"UDP message from disallowed sender %s discarded",
(char*)fromHost);
Je ne sais pas pourquoi Rainer a décidé de ne pas conserver cette fonctionnalité. Il discute quelques problèmes de performances autour de cette section du code ici: http://blog.gerhards.net/2009/11/acls-imudp-and-accepting-messages.html
Dans tous les cas, il semble que je devrais compiler ma propre version de rsyslogd si je veux afficher l'adresse IP de l'expéditeur.