Gdzie mogę znaleźć plik dziennika iptables i jak mogę zmienić jego lokalizację?

48

Mam tę zasadę w moich iptables:

iptables -AINPUT -s 192.168.11.0/24 -j LOG

Moje pytanie brzmi:

Gdzie jest plik dziennika iptables i jak mogę to zmienić?

pylover
źródło

Odpowiedzi:

62

Dzienniki te są generowane przez jądro, więc idą do pliku, który odbiera dzienniki jądra: /var/log/kern.log.

Jeśli chcesz przekierować te dzienniki do innego pliku, nie można tego zrobić za pomocą iptables. Można tego dokonać w konfiguracji programu, który wysyła dzienniki: rsyslog. W regule iptables dodaj prefiks, który nie jest używany przez żaden inny dziennik jądra:

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

Postępując zgodnie z przykładem podanym przez 20-ufw.conf, utwórz plik /etc/rsyslog.d/my_iptables.confzawierający

:msg,contains,"[netfilter] " /var/log/iptables.log
Gilles „SO- przestań być zły”
źródło
nie mam zainstalowanego ufw, więc nie mogę znaleźć logów w syslog, kern.log lub iptables.log
pylover 21.09.2013
3
@pylover UFW był tylko przykładem. Wiem, że nie masz iptables.log, celem mojej odpowiedzi jest pokazanie, jak to zrobić. Możesz nie mieć, /var/log/kern.logjeśli używasz innej wersji Ubuntu (myślę, że najnowsze wersje nie używają już tego pliku i /var/log/syslogzamiast tego umieszczają dzienniki jądra ), ale to nie ma znaczenia. Och, ale jeśli używasz starszej wersji Ubuntu, może być konieczne zainstalowanie rsyslogpakietu.
Gilles „SO- przestań być zły”
Aby to zadziałało w dniu 12.10, musiałem dostosować plik rsyslog.d, aby miał następujący dodatkowy znak: „: msg, zawiera„ ”[netfilter]” - / var / log / iptables.log ”
Daniel
2
jeszcze jedno, musiałem nazwać ten plik jak 00-my_iptables.conf, w przeciwnym razie iptables nadal logowałyby się do kern.log
Valentin Kantor
2
Może mógłbyś również wspomnieć o & stoppoleceniu. W ten sposób unikniesz duplikatów w kern.logpliku, duplikatów, które mogłyby utrudnić twoją zdolność do zobaczenia innych ważnych dzienników jądra.
Alexis Wilke
12

Wiem, że jest o wiele za późno i odpowiedź jest już oznaczona jako zaakceptowana. Mam tylko trochę nowych informacji do przekazania.

Plik dziennika LOGakcji znajduje się w /var/log/syslog(Ubuntu i podobnych systemach operacyjnych) lub /var/log/messages(CentOS i podobnych systemach operacyjnych).

żartowniś
źródło
5

Jeśli masz problemy ze znalezieniem odpowiedniego pliku, możesz spróbować w następujący sposób:

find /var/log -mmin 1

Znajdzie to dowolny plik zmodyfikowany w ciągu ostatniej 1 minuty wewnątrz /var/logi poniżej. Może się okazać, że -j LOGmoże aktualizować więcej niż tylko jeden plik.

Na przykład w systemie Ubuntu 18 zarówno rejestrowanie przez filtr sieciowy , jak /var/log/kern.logi /var/log/syslogmają na nie wpływ.

prosti
źródło