曲径通幽论坛

标题: 字符串匹配过滤(mangle 表的使用) [打印本页]

作者: beyes    时间: 2015-5-30 23:20
标题: 字符串匹配过滤(mangle 表的使用)
要使用基于字符串匹配的过滤,应该先安装相应的软件包 iptables-mod-filter :
opkg update
opkg install iptables-mod-filter
reboot

所需依赖会自动被装上。

或者在编译时将其选中,它还有一个依赖 kmod-ipt-filter ,这个也要选中。

一般情况下,比如想过滤掉 qq.com 这个域名的访问,那么可以如下使用:
iptables -A FORWARD -m string --algo bm --string "qq.com" -j DROP

其中 --algo 后接算法,算法有两个, bm 或 kmp 可选。

不过我的测试结果是,在 BB 14.07 下,使用 FORWARD 链,无论是 -A 还是 -I 插入,都没办法使规则生效,但是使用 mangle 表就可以,如:
iptables -t mangle -I PREROUTING -p tcp -m string --algo bm --string "qq.com" --icase -j DROP

其中,--icase 是忽略字串的大小写。

顺便说一下,如果你用过 dnsmasq 来过滤一些域名的话,可能会遇到想过滤的栏目并不是以一个二级域名呈现,而是在某个目录下,比如:
www.groad.net/bbs/list_1024

这时,就可以通过这种字符串过滤的方法来解决,比如:
iptables -t mangle -I PREROUTING -p tcp -m string --algo bm --string "bbs/list_" --icase -j DROP






欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2