Я пытаюсь использовать цель TRACE IPtables, но я не могу записать какую-либо информацию о трассировке. Я хочу использовать то, что описано здесь: отладчик для Iptables .
От человека iptables для 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.
Я использую следующее правило: iptables -A PREROUTING -t raw -p tcp -j TRACE
но ничего не добавляется ни в / var / log / syslog, ни в /var/log/kern.log!
Есть еще один шаг? Я смотрю не в том месте?
редактировать
Хотя я не могу найти записи в журнале, цель TRACE, кажется, настроена правильно, так как счетчики пакетов увеличиваются:
# 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
редактировать 2
Правило iptables -A PREROUTING -t raw -p tcp -j LOG
делает информацию печати пакета в / вар / Журнал / системный журнал ... Почему не отслеживает работу?
Ответы:
Бегать:
Это исправило это для меня.
источник
Похоже (то есть работает для меня) с новым ядром это необходимо (для IPv4):
кредиты:
источник
modinfo nf_log_ipv4
описании просто сказано: «Ведение журнала пакетов Netfilter IPv4». Некоторое описание может улучшить ответ: что именно делает sysctl?Я обнаружил, что мне нужно выполнить оба предыдущих ответа, в следующем порядке:
Вот несколько вещей, которые я обнаружил по пути.
Вы можете получить список допустимых регистраторов (вместе с выбранным в данный момент регистратором) со следующими данными:
Числа здесь представляют номера семейства протоколов, как определено в
/usr/include/bits/socket.h
. 2 - этоAF_INET
(это IPv4), а 10 - этоAF_INET6
(IPv6).источник
Это сработало для меня
sudo sysctl net.netfilter.nf_log.2=ipt_LOG
источник