rsyslogd: Wie kann ich das Protokollieren in der Datei /var/kern.log verhindern und zu einer anderen Datei umleiten?

732
Sunny

Ich versuche, das iptables-Protokoll in eine andere Datei umzuleiten. Aufgrund meiner Lektüre im Internet habe ich Folgendes getan:

In meiner iptables-Regel habe ich Regeln wie:

iptables -A INPUT -s ... -j LOG --log-prefix "iptables@@" 

Dann habe ich im Ordner /etc/rsyslog.d eine Datei mit den Einträgen erstellt:

 :msg,contains,"iptables@@" /var/log/iptables.log & ~ 

Ich habe auch versucht, eine leere Zeile zwischen den beiden obigen Zeilen zu haben. Ich bekomme die iptables-Protokolleinträge jetzt in die iptables.log-Datei. Sie gehen jedoch auch in die Datei /var/log/kern.log. Ich möchte das später unterdrücken. Wie mache ich das. Ich verwende Ubuntu 14.04 LTS.

1
Wenn Sie ** - j NFLOG --nflog-group 1 verwenden --nflog-prefix "INext-EOF" ** Sie können iptables über ulogd2 umleiten. Sie können es an eine Textdatei oder sogar an eine MySQL-Datenbank weiterleiten. cybernard vor 8 Jahren 1
Haben Sie Ihre Regel oben in der Konfigurationsdatei über dem Eintrag für /var/log/kern.log hinzugefügt? cybernard vor 8 Jahren 1
@cybernard Danke. Ich habe den ersten Vorschlag ausprobiert und es hat nicht funktioniert. Jetzt wird weder in /var/log/kern.log noch in der angegebenen Protokolldatei angemeldet. Ich schätze, ich muss ulogd2 installieren und andere Konfigurations- / Bearbeitungsschritte vornehmen. Muss lesen, aber die direkte Protokollierung in MySQL kann hilfreich sein. Was den zweiten Vorschlag betrifft, auf welchen "Anfang der Konfigurationsdatei" beziehen Sie sich? Die oben angegebenen Einträge beziehen sich auf eine separate Datei unter /etc/rsyslog.d. Diese Datei enthält keine weiteren Einträge. Dies wird vorgeschlagen [hier] (http://askubuntu.com/questions/348439/iptables-log-file-and-how-change-it). Sunny vor 8 Jahren 0
Für ulog benötigen Sie ** stack = log1: NFLOG, base1: BASE, ifi1: IFINDEX, ip2bin1: IP2BIN, mac2str1: HWHDR, mysql1: MYSQL ** und Sie müssen die Parameter crendentials, db, table und etc im ulogd einstellen. conf. Und erstellen Sie eine richtig strukturierte Tabelle. Später mehr. cybernard vor 8 Jahren 1
@cybernard Im Moment möchte ich nur vermeiden, dass das iptables-Protokoll in der Kernel-Protokolldatei dupliziert wird. Sunny vor 8 Jahren 0
Haben Sie eine rsyslog.conf im Ordner / etc, nicht im Ordner /etc/rsyslog.d? cybernard vor 8 Jahren 1
BTW Die korrekte MySQL-Datenbankstruktur befindet sich in dieser Datei ./doc/mysql-ulogd2.sql. mysql -u root -p <./ doc / mysql-ulogd2.sql cybernard vor 8 Jahren 0
@cybernard Ja. Ich habe die Datei rsyslog.conf im Ordner / etc und NICHT im Ordner /etc/rsyslog.d. Außerdem habe ich die Datei rsyslog.conf nicht berührt. Sunny vor 8 Jahren 0
Sie müssen diese Datei öffnen und nach einem Eintrag suchen, der auf ** / var / log / kern.log ** verweist. Bewegen Sie Ihre Regel über diese Regel. cybernard vor 8 Jahren 1
@cybernard Ich habe die Datei in /etc/rsyslog.d umbenannt, die sich mit der Zuordnung des Magic-Strings zum Dateinamen befasst. Ich habe es jetzt alphabetisch vor den anderen Dateien in diesem Verzeichnis benannt. Es funktionierte. Erhielt Hinweise von Ihrem Vorschlag "Verschieben Sie Ihre Regel über diese Regel." Vielen Dank. Ich schlage vor, dass Sie dies als Antwort mit all Ihren anderen Vorschlägen posten. Es wird sicherlich für andere nützlich sein. Ich werde es akzeptieren, da es jetzt nur in der iptables-Protokolldatei und NICHT in kern.log protokolliert. Vielen Dank für die geduldige Antwort auf alle Fragen auf dem Weg. Sunny vor 8 Jahren 0
@cybernard Die anderen Dateien in /etc/rsyslog.d sind 20-ufw.conf und 50-default.conf. Das Umbenennen der Datei in 10-iptables.conf hat es getan. Es war früher 70-iptables.conf. Sunny vor 8 Jahren 0

0 Antworten auf die Frage