Is it possible log all dropped connections by IPTables and set a iptables.log file for logging in /var/log/?


You can do this my configuring iptables to 'mark' the messages e.g.

iptables -A INPUT -s -j LOG --log-prefix='[iptables] '

Which will cause a log message that is prefixed with the text [iptables]

Now you can configure your rsyslog to send these messages to a particular log file by adding a suitable entry to it's configuration e.g.

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

there is a way to log packets in IPTables. first you need to create new chain to logging packets.

iptables -N LOGGING

then you need to append which packets you are gonna log using following commands.

iptables -A INPUT -j LOGGING
iptables -A OUTPUT -j LOGGING

now you can log the packets to the syslogs using this.

iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4

finally this command.

iptables -A LOGGING -j DROP

please add this new lines to bottom of your IPTables files.

  • But where will it be logged? Where can I find the log file?
    – user333044
    Jan 29 '16 at 16:44
  • They are logged in kern.log by default. but you can change this in your syslog server configuration.
    – Dom
    Jan 29 '16 at 19:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy