Tôi có thể tìm thấy tệp nhật ký iptables ở đâu và làm cách nào để thay đổi vị trí của nó?


48

Tôi có quy tắc này trong iptables của mình:

iptables -AINPUT -s 192.168.11.0/24 -j LOG

Câu hỏi của tôi là:

Tệp nhật ký iptables ở đâu và làm cách nào để thay đổi?

Câu trả lời:


62

Các nhật ký này được tạo bởi kernel, vì vậy chúng đi đến tệp nhận nhật ký kernel : /var/log/kern.log.

Nếu bạn muốn chuyển hướng các bản ghi này sang một tệp khác, điều đó không thể được thực hiện thông qua iptables. Nó có thể được thực hiện trong cấu hình của chương trình gửi các bản ghi: rsyslog. Trong quy tắc iptables, thêm tiền tố không được sử dụng bởi bất kỳ nhật ký kernel nào khác:

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

Theo ví dụ được đặt bởi 20-ufw.conf, tạo một tệp /etc/rsyslog.d/my_iptables.confcó chứa

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

Tôi chưa cài đặt ufw, vì vậy tôi không thể tìm thấy nhật ký trong syslog, kern.log hoặc iptables.log
pylover

3
@pylover UFW chỉ là một ví dụ. Tôi biết bạn không có iptables.log, quan điểm của câu trả lời của tôi là chỉ cho bạn cách tạo ra nó. Bạn có thể không có /var/log/kern.lognếu bạn đang chạy một phiên bản Ubuntu khác (Tôi nghĩ rằng các phiên bản gần đây không còn sử dụng tệp này và /var/log/syslogthay vào đó là nhật ký kernel ), nhưng điều đó không thành vấn đề. Ồ, nhưng nếu bạn đang chạy phiên bản Ubuntu cũ hơn, bạn có thể cần phải cài đặt rsysloggói.
Gilles 'SO- ngừng trở nên xấu xa'

Để thực hiện công việc này vào ngày 12.10, tôi đã phải điều chỉnh tệp rsyslog.d để có thêm char sau: ": dir, chứa," [netfilter] "- / var / log / iptables.log"
Daniel

2
một điều nữa, tôi cần đặt tên cho tệp như 00-my_iptables.conf, nếu không thì iptables vẫn đang đăng nhập vào kern.log
Valentin Kantor

2
Có lẽ bạn có thể đề cập đến & stoplệnh là tốt. Bằng cách đó, bạn tránh được các bản sao trong kern.logtệp, các bản sao có thể khiến bạn không thể xem các bản ghi nhân quan trọng khác.
Alexis Wilke

12

Tôi biết rằng đã quá muộn và câu trả lời đã được đánh dấu là câu trả lời được chấp nhận. Tôi chỉ có một phần thông tin mới để cung cấp.

Tệp nhật ký của LOGhành động được tìm thấy tại /var/log/syslog(Ubuntu và các HĐH tương tự) hoặc /var/log/messages(CentOS và các HĐH tương tự).


5

Nếu bạn gặp khó khăn trong việc tìm đúng tệp, bạn có thể thử như thế này:

find /var/log -mmin 1

Điều này sẽ tìm thấy bất kỳ tập tin được sửa đổi trong 1 phút cuối cùng bên trong /var/logvà bên dưới. Bạn có thể phát hiện ra rằng -j LOGcó thể cập nhật nhiều hơn chỉ một tệp.

Ví dụ, trên Ubuntu 18, cả hai /var/log/kern.log/var/log/syslogđều bị ảnh hưởng với việc ghi nhật ký bộ lọc mạng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.