上的数据包
我想用以下命令标记被路由后TTL小于10的数据包:
iptables -v --table mangle -A POSTROUTING -o h_0_0-eth0 -m ttl --ttl-lt 10 -j MARK --set-mark 10但我总是犯同样的错误:
MARK all opt -- in * out h_0_0-eth0 0.0.0.0/0 -> 0.0.0.0/0 TTL match TTL < 10 MARK set 0xa
iptables: No chain/target/match by that name.我使用的是iptables v1.4.21。我假设这不是加载模块的问题,因为详细的输出会识别TTL匹配。
有没有人知道问题出在哪里?
发布于 2016-09-20 08:08:52
这个问题来自这样一个事实,即我的Linux内核补丁版本中没有包括netfilter扩展。
因此,我不得不重新编译内核并激活各种配置选项,如:
# Xtables targets
#
CONFIG_NETFILTER_XT_TARGET_AUDIT=y
CONFIG_NETFILTER_XT_TARGET_CHECKSUM=y
CONFIG_NETFILTER_XT_TARGET_CLASSIFY=y
CONFIG_NETFILTER_XT_TARGET_CONNMARK=y
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
CONFIG_NETFILTER_XT_TARGET_DSCP=y
# This one provides the TTL target
CONFIG_NETFILTER_XT_TARGET_HL=y
CONFIG_NETFILTER_XT_TARGET_HMARK=y
...现在一切都正常了!
https://unix.stackexchange.com/questions/310413
复制相似问题