Saya mencoba menggunakan target TRACE dari IPtables tetapi sepertinya saya tidak bisa mendapatkan informasi jejak apa pun yang dicatat. Saya ingin menggunakan apa yang dijelaskan di sini: Debugger untuk Iptables .
Dari pria iptables untuk 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.
Saya menggunakan aturan berikut: iptables -A PREROUTING -t raw -p tcp -j TRACE
tetapi tidak ada yang ditambahkan di / var / log / syslog atau /var/log/kern.log!
Apakah ada langkah lain yang hilang? Apakah saya mencari di tempat yang salah?
sunting
Meskipun saya tidak dapat menemukan entri log, target TRACE tampaknya sudah diatur dengan benar karena penghitung paket bertambah:
# 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
edit 2
Aturan iptables -A PREROUTING -t raw -p tcp -j LOG
tidak mencetak informasi paket ke / var / log / syslog ... Mengapa TRACE tidak berfungsi?
Jawaban:
Lari:
Itu memperbaikinya bagi saya.
sumber
Sepertinya (yaitu berfungsi untuk saya) dengan kernel baru ini diperlukan (untuk IPv4):
kredit:
sumber
modinfo nf_log_ipv4
deskripsi hanya mengatakan: "Netfilter paket IPv4 logging". Beberapa deskripsi dapat meningkatkan jawabannya: Apa yang tepatnya dilakukan sysctl?Saya menemukan bahwa saya perlu melakukan kedua jawaban sebelumnya, dalam urutan ini:
Berikut adalah beberapa hal yang saya temukan di sepanjang jalan.
Anda bisa mendapatkan daftar penebang yang valid (bersama dengan penebang yang saat ini dipilih) dengan yang berikut:
Angka-angka di sini mewakili nomor keluarga protokol, sebagaimana didefinisikan dalam
/usr/include/bits/socket.h
. 2 adalahAF_INET
(itu IPv4), dan 10 adalahAF_INET6
(IPv6).sumber
Ini berhasil untuk saya
sudo sysctl net.netfilter.nf_log.2=ipt_LOG
sumber