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 TRACE
ale 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?
Odpowiedzi:
Biegać:
To naprawiło to dla mnie.
źródło
Wydaje się, że (tj. Działa dla mnie) z nowym jądrem jest to potrzebne (dla IPv4):
kredyty:
źródło
modinfo nf_log_ipv4
opis mówi tylko: „Logowanie pakietów Netfilter IPv4”. Niektóre opisy mogą poprawić odpowiedź: Co dokładnie robi sysctl?Stwierdziłem, że muszę wykonać obie poprzednie odpowiedzi w następującej kolejności:
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:
Liczby tutaj reprezentują numery rodzin protokołów, zgodnie z definicją w
/usr/include/bits/socket.h
. 2 toAF_INET
(to jest IPv4), a 10 toAF_INET6
(IPv6).źródło
To zadziałało dla mnie
sudo sysctl net.netfilter.nf_log.2=ipt_LOG
źródło