Di mana saya dapat menemukan file log iptables, dan bagaimana cara mengubah lokasinya?


48

Saya memiliki aturan ini di iptables saya:

iptables -AINPUT -s 192.168.11.0/24 -j LOG

Pertanyaanku adalah:

Di mana file log iptables, dan bagaimana saya bisa mengubahnya?

Jawaban:


62

Log ini dihasilkan oleh kernel, sehingga mereka pergi ke file yang menerima log kernel: /var/log/kern.log.

Jika Anda ingin mengarahkan log ini ke file lain, itu tidak dapat dilakukan melalui iptables. Ini dapat dilakukan dalam konfigurasi program yang mengirimkan log: rsyslog. Dalam aturan iptables, tambahkan awalan yang tidak digunakan oleh log kernel lain:

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

Mengikuti contoh yang ditetapkan oleh 20-ufw.conf, buat file di bawah yang /etc/rsyslog.d/my_iptables.confberisi

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

saya tidak menginstal ufw, jadi saya tidak dapat menemukan log di syslog, kern.log atau iptables.log
— pylover

3
@pylover UFW hanyalah sebuah contoh. Saya tahu Anda tidak memilikinya iptables.log, inti dari jawaban saya adalah menunjukkan kepada Anda cara membuatnya. Anda mungkin tidak memiliki /var/log/kern.logjika Anda menjalankan versi yang berbeda dari Ubuntu (saya pikir versi terbaru tidak lagi menggunakan file ini dan log kernel dimasukkan ke dalam /var/log/sysloggantinya), tapi itu tidak masalah. Oh, tetapi jika Anda menjalankan versi Ubuntu yang lebih lama, Anda mungkin perlu menginstal rsyslogpaket.
— Gilles 'SO- stop being evil'

Untuk membuat ini berfungsi pada 12.10, saya harus menyesuaikan file rsyslog.d untuk memiliki karakter tambahan berikut: ": msg, berisi," [netfilter] "- / var / log / iptables.log"
— Daniel

2
satu hal lagi, saya perlu memberi nama file seperti 00-my_iptables.conf, jika tidak iptables masih masuk ke kern.log
— Valentin Kantor

2
Mungkin Anda bisa menyebutkan & stopperintah itu juga. Dengan cara itu Anda menghindari duplikat dalam kern.logfile, duplikat yang dapat meningkatkan kemampuan Anda untuk melihat log kernel penting lainnya.
— Alexis Wilke

12

Saya tahu itu sudah sangat terlambat dan jawabannya sudah ditandai sebagai yang diterima. Saya hanya memiliki sepotong info baru untuk diberikan.

File log LOGtindakan ditemukan di /var/log/syslog(Ubuntu dan OS serupa) atau /var/log/messages(CentOS dan OS serupa).


5

Jika Anda kesulitan menemukan file yang tepat, Anda dapat mencoba seperti ini:

find /var/log -mmin 1

Ini akan menemukan file apa pun yang dimodifikasi dalam 1 menit terakhir di dalam /var/logdan di bawah. Anda mungkin menemukan bahwa -j LOGpembaruan dapat lebih dari sekadar satu file.

Sebagai contoh pada Ubuntu 18, keduanya /var/log/kern.logdan /var/log/syslogterkena dampak dengan netfilter logging.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.