Debian Sıkıştırmasında IPtables TRACE Hedefini Etkinleştirme (6)


11

IPtables TRACE hedefini kullanmaya çalışıyorum ama herhangi bir izleme bilgilerini günlüğe almak gibi görünmüyor. Burada açıklananları kullanmak istiyorum: Iptables için hata ayıklayıcı .

TRACE için iptables adamından:

   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.

Aşağıdaki kuralı kullanıyorum: iptables -A PREROUTING -t raw -p tcp -j TRACE/ var / log / syslog veya /var/log/kern.log dosyasına hiçbir şey eklenmemiştir!

Başka bir adım eksik mi? Yanlış yere mi bakıyorum?

Düzenle

Günlük girdilerini bulamasam da, paket sayaçları artırıldığından TRACE hedefi doğru ayarlanmış gibi görünüyor:

# 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

düzenleme 2

Kural iptables -A PREROUTING -t raw -p tcp -j LOG , paket bilgilerini / var / log / syslog dosyasına yazdırır ... TRACE neden çalışmıyor?


1
sadece bir ipyt programına da denir (iptables-trace olarak da adlandırılır :). Başlatıldığında, program durdurulana kadar TRACE çıktısını çalıştırmak için belirtilen koşullara sahip bir TRACE kuralı eklenir, TRACE çıktısı için ayrıştırılır ve görüntülenen çıktı görüntülenir (bu da TRACE kuralını iptables'den kaldırır). Bunu yakında deneyeceğim ...
chris

Yanıtlar:


8

Çalıştırmak:

modprobe ipt_LOG

Bu benim için sorunumu çözdü.


Teşekkürler, işe yaradı! Günlükleri / var / log / syslog veya /var/log/kern.log
bernie

14

Yeni çekirdek ile (benim için çalışır) gibi görünüyor (IPv4 için):

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

kredi:


Bu benim için Ubuntu 16.04 (çekirdek 4.4.0-21-jenerik) üzerinde çalışan kişiydi
Ash Berlin-Taylor

Ne yazık ki modinfo nf_log_ipv4açıklama sadece "Netfilter IPv4 paket günlüğü" diyor. Bazı açıklamalar cevabı geliştirebilir: Sysctl tam olarak ne yapar?
U. Windl

8

Önceki cevapların her ikisini de bu sırayla gerçekleştirmem gerektiğini buldum:

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

İşte yol boyunca keşfettiğim birkaç şey.

Aşağıdakileri içeren geçerli kaydedicilerin bir listesini (şu anda seçili günlükçüyle birlikte) alabilirsiniz:

cat /proc/net/netfilter/nf_log

Buradaki numaralar, bölümünde tanımlandığı gibi protokol ailesi numaralarını temsil eder /usr/include/bits/socket.h. 2 AF_INET(IPv4) ve 10 AF_INET6(IPv6).


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.