Sie müssen den Firewall-Protokollierungsteil vor anderen Regeln verschieben, damit es aussieht
# Log firewall to extra log :msg,contains,"[BLOCK " /var/log/firewall.log & stop # Log cron to cron.log and not to syslog *.*;cron,auth,authpriv.none -/var/log/syslog cron.* /var/log/cron.log
Die Regeln werden in der richtigen Reihenfolge betrachtet, so dass Sie jetzt eine Nachricht haben, die mit *. * Übereinstimmt . Cron, auth, authpriv.none wird immer in syslog geschrieben, auch wenn sie mit : msg übereinstimmt , enthält "[BLOCK" und ist in firewall.log geschrieben. Der Stoppbefehl ist einfach zu spät in der Datei, um etwas zu stoppen.
Siehe auch https://www.rsyslog.com/writing-specific-messages-to-a-file-and-discarding-them/