所以我添加了
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我的syslog时,我得到的输出看起来像这样
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
是什么意思?
答案 0 :(得分:4)
policy:1
是type:rulenum
。或者采用另一种方式type="policy"
和rulenum=1
。
仔细阅读this。具体做法是:
TRACE 此目标标记打包,以便内核将记录与数据包匹配的每个规则,因为这些规则遍历表,链, 规则。 (日志记录需要ipt_LOG或ip6t_LOG模块。)使用字符串前缀记录数据包:
" TRACE:tablename:chainname:type:rulenum"类型可以是"规则"对于普通规则,"返回"用于用户结束时的隐式规则 定义链和"政策"对于内置链的政策。 它只能在原始表中使用。
现在让我们从问题TRACE: mangle:OUTPUT:policy:1
中取一个前缀并应用我们已经学到的东西:
tablename = mangle
chainname = OUTPUT
type = policy]
rulenum = 1
答案 1 :(得分:0)
我想根据@OscarAkaElvis 和其他人写的答案提供一个简单的解释。
每条链都有一个默认策略,打印规则就可以看到。在这里,我们可以看到 INPUT
表中的 filter
链具有 ACCEPT
的默认策略:
# iptables -L -t filter
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT icmp -- anywhere anywhere /* 000 accept all icmp */
ACCEPT all -- anywhere anywhere /* 001 accept all to lo interface */
REJECT all -- anywhere 127.0.0.0/8 /* 002 reject local traffic not on loopback interface */ reject-with icmp-port-unreachable
如 https://backreference.org/2010/06/11/iptables-debugging/ 中所述,日志消息的格式为 TRACE: tablename:chainname:type:rulenum
。
对于策略,格式的最后一部分是 type:rulenum
。 rulenum
数字指的是策略的默认规则,即最后一条规则。基本上是“您添加到链中的规则数量”+ 1。
以下是使用原始问题中提出的链的两种解释:
mangle:OUTPUT:policy:1
此链 (mangle:OUTPUT
) 不包含任何规则。默认规则是第一个也是唯一的规则。因此数字是 :1
。raw:OUTPUT:policy:5
该链包含 4 条规则。因此,默认值为规则 #5。