Wo finde ich die iptables-Protokolldatei und wie kann ich den Speicherort ändern?


48

Ich habe diese Regel in meinen Iptables:

iptables -AINPUT -s 192.168.11.0/24 -j LOG

Meine Frage ist:

Wo ist die iptables-Protokolldatei und wie kann ich das ändern?

Antworten:


62

Diese Protokolle werden vom Kernel erzeugt, so dass sie in die Datei gehen die Kernel - Logs erhält: /var/log/kern.log.

Wenn Sie diese Protokolle in eine andere Datei umleiten möchten, ist dies über iptables nicht möglich. Dies kann in der Konfiguration des Programms erfolgen, das Protokolle versendet: rsyslog. Fügen Sie in der Regel iptables ein Präfix hinzu, das von keinem anderen Kernel-Protokoll verwendet wird:

iptables -A INPUT -s 192.168.11.0/24 -j LOG --log-prefix='[netfilter] '

20-ufw.confErstellen Sie nach dem Vorbild von eine Datei unter /etc/rsyslog.d/my_iptables.confcontain

:msg,contains,"[netfilter] " /var/log/iptables.log

Ich habe ufw nicht installiert, daher kann ich keine Protokolle in syslog, kern.log oder iptables.log
pylover

3
@pylover UFW war nur ein Beispiel. Ich weiß, dass Sie nicht haben iptables.log, der Sinn meiner Antwort ist, Ihnen zu zeigen, wie man es erstellt. Möglicherweise haben /var/log/kern.logSie nicht, wenn Sie eine andere Version von Ubuntu ausführen (ich denke, neuere Versionen verwenden diese Datei nicht mehr und setzen /var/log/syslogstattdessen Kernel-Logs ein ), aber es spielt keine Rolle. Oh, aber wenn Sie eine ältere Version von Ubuntu verwenden, müssen Sie möglicherweise das rsyslogPaket installieren .
Gilles 'SO- hör auf böse zu sein'

Damit dies unter 12.10 funktioniert, musste ich die Datei rsyslog.d so anpassen, dass sie das folgende zusätzliche Zeichen enthält: ": msg, includes," [netfilter] "- / var / log / iptables.log"
Daniel

2
eine weitere sache, ich musste die datei wie 00-my_iptables.conf benennen, sonst loggten sich iptables noch in kern.log ein
Valentin Kantor

2
Vielleicht könnten Sie den & stopBefehl auch erwähnen . Auf diese Weise vermeiden Sie Duplikate in der kern.logDatei, die Ihre Fähigkeit beeinträchtigen könnten, andere wichtige Kernel-Protokolle anzuzeigen.
Alexis Wilke

12

Ich weiß, dass das viel zu spät ist und die Antwort bereits als die akzeptierte markiert ist. Ich habe nur ein paar neue Infos zu geben.

Die Protokolldatei der LOGAktion befindet sich entweder auf /var/log/syslog(Ubuntu und ähnliche Betriebssysteme) oder /var/log/messages(CentOS und ähnliche Betriebssysteme).


5

Wenn Sie Probleme haben, die richtige Datei zu finden, können Sie Folgendes versuchen:

find /var/log -mmin 1

Hier finden Sie alle Dateien, die in den letzten 1 Minute innerhalb von /var/logund darunter geändert wurden . Möglicherweise stellen Sie fest, dass das -j LOGUpdate möglicherweise mehr als nur eine einzelne Datei enthält.

Zum Beispiel auf Ubuntu 18 sind sowohl die /var/log/kern.logals /var/log/syslogauch von der Netfilter-Protokollierung betroffen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.