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?

piring
sumber

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
Gilles 'SANGAT berhenti menjadi jahat'
sumber
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).

pelawak
sumber
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.

prosti
sumber