Jak włączyć Śledzenie celu IPtables w Debian Squeeze (6)

11

Próbuję użyć celu TRACE w IPtables, ale nie mogę uzyskać informacji o śledzeniu. Chcę użyć tego, co tu opisano: Debugger dla Iptables .

Od człowieka z iptables dla 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.

Używam następującej reguły: iptables -A PREROUTING -t raw -p tcp -j TRACEale nic nie jest dołączane ani w / var / log / syslog, ani w /var/log/kern.log!

Czy brakuje jeszcze jednego kroku? Czy szukam w złym miejscu?

edytować

Mimo że nie mogę znaleźć wpisów w dzienniku, cel TRACE wydaje się być poprawnie skonfigurowany, ponieważ liczniki pakietów są zwiększane:

# 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

edycja 2

Reguła iptables -A PREROUTING -t raw -p tcp -j LOG ma informacji pakietowej druku do / var / log / syslog ... Dlaczego nie praca TRACE?

bernie
źródło
1
po prostu natknąłem się na program python (który jest również nazywany iptables-trace :). Po uruchomieniu dodaje regułę TRACE z określonymi warunkami do uruchamiania iptables, analizuje i wyświetla sformatowane dane wyjściowe dla wynikowego wyniku TRACE, dopóki program nie zostanie zatrzymany (co usuwa regułę TRACE z iptables). Spróbuję tego wkrótce ...
Chris

Odpowiedzi:

8

Biegać:

modprobe ipt_LOG

To naprawiło to dla mnie.

Gido Bruno
źródło
Dzięki, działało! Dzienniki są dostępne w / var / log / syslog lub /var/log/kern.log
bernie,
14

Wydaje się, że (tj. Działa dla mnie) z nowym jądrem jest to potrzebne (dla IPv4):

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

kredyty:

akostadinov
źródło
To był ten, który pracował dla mnie na Ubuntu 16.04 (jądro 4.4.0-21-generic)
Ash Berlin-Taylor
Niestety modinfo nf_log_ipv4opis mówi tylko: „Logowanie pakietów Netfilter IPv4”. Niektóre opisy mogą poprawić odpowiedź: Co dokładnie robi sysctl?
U. Windl
8

Stwierdziłem, że muszę wykonać obie poprzednie odpowiedzi w następującej kolejności:

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

Oto kilka rzeczy, które odkryłem po drodze.

Możesz uzyskać listę prawidłowych rejestratorów (wraz z aktualnie wybranym rejestratorem) z następującymi:

cat /proc/net/netfilter/nf_log

Liczby tutaj reprezentują numery rodzin protokołów, zgodnie z definicją w /usr/include/bits/socket.h. 2 to AF_INET(to jest IPv4), a 10 to AF_INET6(IPv6).

mavit
źródło
2

To zadziałało dla mnie sudo sysctl net.netfilter.nf_log.2=ipt_LOG

Nikolay Bryskin
źródło