如何读取iptables TRACE日志(策略编号)

loo*_*uni 4 policy trace 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

当我为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 ...
Run Code Online (Sandbox Code Playgroud)

我试图理解策略编号是指policy:1== ACCEPT?,如果是,这policy:5意味着什么?

Osc*_*vis 5

policy:1type:rulenum。或者换个方式type="policy"rulenum=1

阅读仔细。特别:

跟踪此目标标记是打包的,以便内核在记录所有遍历表,链和规则的数据包时记录匹配的所有规则。(需要使用ipt_LOG或ip6t_LOG模块进行记录。)使用字符串前缀记录数据包:

“ TRACE:tablename:chainname:type:rulenum”,对于普通规则,类型可以是“ rule”,对于用户定义的链的末尾,类型可以是“ return”,对于隐式规则,对于内置链的策略,“ policy”可以是type。它只能在原始表中使用。

现在,让我们从问题中选择一个前缀,TRACE: mangle:OUTPUT:policy:1然后应用我们所学的内容:

tablename = mangle
chainname = OUTPUT
type      = policy]
rulenum   = 1
Run Code Online (Sandbox Code Playgroud)

  • 我不明白最后一个虚构的最后一条规则 5 是否意味着它被接受或放弃。 (2认同)