Cách bật IPtables TRACE Target trên Debian Squeeze (6)


11

Tôi đang cố gắng sử dụng mục tiêu TRACE của IPtables nhưng dường như tôi không thể nhận được bất kỳ thông tin theo dõi nào được ghi lại. Tôi muốn sử dụng những gì được mô tả ở đây: Trình gỡ lỗi cho Iptables .

Từ người đàn ông iptables cho TRACE:

   This target marks packes so that the kernel will log every  rule  which
   match  the  packets  as  those traverse the tables, chains, rules. (The
   ipt_LOG or ip6t_LOG module is required for the  logging.)  The  packets
   are   logged   with   the   string   prefix:  "TRACE:  tablename:chain-
   name:type:rulenum " where type can be "rule" for plain  rule,  "return"
   for  implicit  rule at the end of a user defined chain and "policy" for
   the policy of the built in chains.
   It can only be used in the raw table.

Tôi sử dụng quy tắc sau: iptables -A PREROUTING -t raw -p tcp -j TRACEnhưng không có gì được thêm vào trong / var / log / syslog hoặc /var/log/kern.log!

Có một bước nữa mất tích? Có phải tôi đang nhìn nhầm chỗ?

biên tập

Mặc dù tôi không thể tìm thấy các mục nhật ký, mục tiêu TRACE dường như được thiết lập chính xác vì các bộ đếm gói được tăng lên:

# iptables -L -v -t raw
Chain PREROUTING (policy ACCEPT 193 packets, 63701 bytes)
 pkts bytes target     prot opt in     out     source               destination
  193 63701 TRACE      tcp  --  any    any     anywhere             anywhere

Chain OUTPUT (policy ACCEPT 178 packets, 65277 bytes)
 pkts bytes target     prot opt in     out     source               destination

chỉnh sửa 2

Nguyên tắc iptables -A PREROUTING -t raw -p tcp -j LOG thực hiện thông tin gói in vào / var / log / syslog ... Tại sao không làm việc TRACE?


1
chỉ tình cờ tìm thấy một chương trình python (còn được gọi là iptables-dấu vết :). Khi bắt đầu, nó thêm quy tắc TRACE với các điều kiện được chỉ định để chạy iptables, phân tích cú pháp và hiển thị đầu ra được định dạng cho kết quả đầu ra TRACE cho đến khi chương trình bị dừng (loại bỏ quy tắc TRACE khỏi iptables). Sẽ thử điều này sớm thôi ...
chris

Câu trả lời:


8

Chạy:

modprobe ipt_LOG

Điều đó đã sửa nó cho tôi.


Cảm ơn, đã làm việc! Nhật ký có sẵn trong / var / log / syslog hoặc /var/log/kern.log
bernie

14

Có vẻ như (tức là hoạt động với tôi) với kernel mới, điều này là cần thiết (đối với IPv4):

modprobe nf_log_ipv4
sysctl net.netfilter.nf_log.2=nf_log_ipv4

tín dụng:


Đây là cái đã hoạt động với tôi trên Ubuntu 16.04 (kernel 4.4.0-21-generic)
Ash Berlin-Taylor

7

Tôi thấy rằng tôi cần phải thực hiện cả hai câu trả lời trước, theo thứ tự này:

sudo modprobe ipt_LOG
sudo sysctl net.netfilter.nf_log.2=ipt_LOG

Dưới đây là một vài điều mà tôi phát hiện ra trên đường đi.

Bạn có thể nhận được một danh sách các logger hợp lệ (cùng với logger hiện được chọn) với các mục sau:

cat /proc/net/netfilter/nf_log

Các số ở đây đại diện cho các số họ giao thức, như được định nghĩa trong /usr/include/bits/socket.h. 2 là AF_INET(đó là IPv4) và 10 là AF_INET6(IPv6).


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.