1

我调用 nfq_set_verdict_mark 来设置标记,然后我想在其他链中使用这个标记。但该标记可能未激活。我的 iptables 链如下:

iptables -A FORWARD -m length --length 0:1500 -j NFQUEUE --queue-balance 50:53;
iptables -A OUTPUT -m mark --mark 17 -j DROP

我写了一个程序用来从NFQUEUE获取数据包,然后匹配一些协议,例如,当匹配HTTP时,设置mark = 17,然后调用nfq_set_verdict_mark nfq_set_verdict_mark(qh, id, verdict, htonl(mark), 0, NULL);

但是,http协议不能删除,我认为该标记可能未激活。我该怎么做,在程序中标记然后按标记执行一些操作。帮帮我,谢谢

4

1 回答 1

0

这个问题已经解决了,设置标记没问题,iptables规则错误,当我更换

iptables -A OUTPUT -m mark --mark 17 -j DROP

iptables -m mangle -A POSTROUTING -m mark --mark 17 -j DROP

我可以丢弃标记为 17 的数据包

于 2013-08-21T07:28:23.830 回答