openwrt路由器使用iptables进行域名过滤
1、浏览器登陆192.168.1.1

2、然后按照下图点击设置

3、在防火墙自定义规则中写入如下语句:iptables-IFORWARD-mstring--string"gamersky"--algokmp-jDROP

4、按下提交这是到达如下页面:状态=>防火墙按下重启防火墙网址包含gamersky时,无法登陆,即使在搜索引擎中键入gamersky也不行。

5、看到FORWARD中已经包含了信息。输入游民星空网址试试,果然无法登陆了。可以看到已经拦截了请求的数据包。


6、iptables-I掂迎豢畦FORWARD-mstring--string"abcd"--algokmp-jDROPoriptab造婷用痃les-IFORWARD-mstring--string"abcd"--algobm-jDROP使用string设置过滤域名。当网址中包含相关字段是无法上该网址。使用ssh客户端可以把过滤的命令写入/etc/firewall.user中,则每次启动后firewall就会添加进入规则当中。而且这样添加后,在搜索引擎中也不能够出现该字段,否则不能进行相关搜索。必须把规则放入FORWARD链中,因为FORWARD是路由器进行转发的中心部分。当然也可以这样写:iptables-IFORWARD-swww.xxxx.com-mstate--stateNEW,RELATED,ESTABLISHED-jDROP但是可能有问题,首先,一般防火墙会在链接互联网之前就启动,这样域名得不到转化,导致错误。而如果写上ip地址,虽然默认计算机上网是要转化为ip的,但是有一些网站ip有很多个,这样写有问题。不能用所以经过试验,使用string模块是有效的。但是效率比较低,可能拖慢网速。不知道是不是ipset可以提高效率。