Как читать журналы трассировки iptables (номера политик)
Поэтому я добавил
sudo iptables -t raw -A PREROUTING -p tcp --dport 25 -j TRACE
А также
sudo iptables -t raw -A OUTPUT -p tcp --dport 25 -j TRACE
И когда я grep мой системный журнал для трассировки я получаю выходные данные, которые выглядят следующим образом
Jan 19 09:14:46 dev109 kernel: [29067248.683235] TRACE: raw:OUTPUT:rule:2 IN= OUT=eth0 ...
Jan 19 09:14:46 dev109 kernel: [29067248.683244] TRACE: raw:OUTPUT:policy:5 IN= OUT=eth0 ...
Jan 19 09:14:46 dev109 kernel: [29067248.683254] TRACE: mangle:OUTPUT:policy:1 IN= OUT=eth0 ...
Jan 19 09:14:46 dev109 kernel: [29067248.683262] TRACE: filter:OUTPUT:policy:1 ...
Jan 19 09:14:46 dev109 kernel: [29067248.683269] TRACE: mangle:POSTROUTING:policy:1 ...
Jan 19 09:14:46 dev109 kernel: [29067248.683432] TRACE: raw:OUTPUT:rule:4 IN= OUT=eth0 ...
Jan 19 09:14:46 dev109 kernel: [29067248.683441] TRACE: raw:OUTPUT:policy:5 IN= OUT=eth0 ...
Я пытаюсь понять, к чему относятся номера политик, это policy:1
== ACCEPT
?, если да, то что означает policy:5
?
1 ответ:
policy:1
Естьtype:rulenum
. Или по-другомуtype="policy"
иrulenum=1
.Прочитайтеэто внимательно. В частности:
Теперь давайте возьмем один из префиксов из вопросаСлед Эта цель помечает пакеты так, чтобы ядро регистрировало каждое правило, которое соответствует пакетам, когда они пересекают таблицы, цепочки, правила. (Для ведения журнала требуется модуль ipt_LOG или ip6t_LOG.) Пакеты регистрируются со строковым префиксом:
"след: имя_таблицы:chainname:тип:rulenum ", где тип может быть "правилом" для обычного правило, "возвращение" для неявного правила в конце пользователя определена цепочка и "политика" для политики встроенных цепочек. Его можно использовать только в сырой таблице.
TRACE: mangle:OUTPUT:policy:1
и применим то, что мы узнали:tablename = mangle chainname = OUTPUT type = policy] rulenum = 1