2021-03-22

Openwrt的url过滤配置流程

在实际的防火墙开发过程中,我们有时需要开发带url过滤的功能,那此时我们该怎么办呢?小编在这里给大家讲解一下。

如果linux内核已经全部编过相关iptables的各种模块,则可以用以下两条配置好。

iptables -I FORWARD -m string --string "baidu.com" --algo kmp -j DROP

iptables -I FORWARD -m string --string "baidu.com" --algo bm -j DROP。

上面两条命令可以过滤baidu.com的网页。即连接到此路由的客户端设备无法访问百度。

这两条命令我试过。可以过滤http和https。

-- algo kmp和--algo bm属于指定字符串匹配的算法。具体可以查看相关知识。

 

若linux内核没有包括url过滤相关的iptables模块,则我们需要自己配置相关的模块,重新编译的才能支持url过滤相关。Linux内核的配置流程如下所示。

 

1 查看NETFILTER_XT_MATCH_STRING模块有没有配置。如果没有,可以在软件包的根目录用make kernel_menuconfig。在弹出的菜单里,在Networking support->Networking option-> Network packet filtering framework (Netfilter) -> Core Netfilter Configuration-> Netfilter Xtables support选择。注意先要打开NETFILTER_XT_MATCH_STRING需要依赖的模块。

 

2 配置安装iptables-mod-filter数据包。在软件包的根目录用make menuconfig。在弹出的菜单里。Netwrok->firewall->iptables选择。

 

3 重新make V=s

 

4 以mtk的mt7621为例,会在staging_dir/target-mipsel_24kc_glibc-2.24/root-ramips/lib/modules/4.4.182下看到有xt_string.ko生成。此时可以确定配置成功。

 

5 烧录新编的版本验证。在可以看做机器的终端/lib/modules/4.4.182目录下也有xt_string.ko。

 

6 执行iptables -I FORWARD -m string --string "baidu.com" --algo kmp -j DROP

iptables -I FORWARD -m string --string "baidu.com" --algo bm -j DROP。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值