1、在防火墙自定义规则中写入如下语句:
iptables -I FORWARD -m string --string "过滤关键词" --algo kmp -j DROP
2、按下提交,这是到达如下页面:
状态=>防火墙
按下重启防火墙
网址包含关键词时,无法登陆,即使在搜索引擎中键入关键词也不行。
3、看到FORWARD中已经包含了信息。
复制内容到剪贴板
- iptables -I FORWARD -m string --string "abcd" --algo kmp -j DROP
- or
- iptables -I FORWARD -m string --string "abcd" --algo bm -j DROP
使用string设置过滤域名。当网址中包含相关字段是无法上该网址。
使用ssh客户端可以
把过滤的命令写入/etc/firewall.user中,则每次启动后firewall就会添加进入规则当中。
而且这样添加后,在搜索引擎中也不能够出现该字段,否则不能进行相关搜索。
必须把规则放入FORWARD链中,因为FORWARD是路由器进行转发的中心部分。
当然也可以这样写:
iptables -I FORWARD -s www.xxxx.com -m state --state NEW,RELATED,ESTABLISHED -j DROP
但是可能有问题,首先,一般防火墙会在链接互联网之前就启动,这样域名得不到转化,导致错误。而如果写上ip地址,虽然默认计算机上网是要转化为ip的,但是有一些网站ip有很多个,这样写有问题。不能用
所以经过试验,使用string模块是有效的。但是效率比较低,可能拖慢网速。不知道是不是ipset可以提高效率。