对于每个喜欢上网的朋友来说,儿乎登录每个网站都会遭遇各种各样的广告轰炸,即使你输入错误的网址,运营商的DNS拦截也会强行推送广告。虽然我们可以通过浏览器的拦截广告插件对广告进行屏蔽,不过在广告侵入电脑时才进行拦截是不是有些亡羊补牢的意味?何不利用路由器的设置,将广告直接拦截在“窗”外?
(1)屏蔽运营商DNS广告
使用电信、联通上网的用户都知道,很多时候我们访问一些网站会无故跳转到电信的广告页面上,或者在访问不存在的网址时自动跳转到运营商的广告页面,这些就是典型的DNS广告劫持。现在借助路由器设置可以轻松屏蔽它们。下面以屏蔽电信DNS广告劫持为例,路由器使用的是TplinkWR541G7542G。
1)使用IE浏览器进入路由器设置,接着依次展开左侧窗格的“安全设置一防火墙设置”,勾选其下的“IP地址过滤”,缺省过滤规则中选取“凡是不符合已设IP地址过滤规则的数据包,允许通过本路由器”。继续勾选“域名过滤”并保存,如图6所示。
2)在右侧设置窗格,切换到“安全设置朴域名过滤”,点击“添加新条目”,按提示添加如下域名(不要输入http://www.格式):
search. 114.vnet.cn
114.vnet.cn
将这些DNS广告域名全部过滤,生效时间为“0024”(即每天),状态为“生效伙,如图7所示。
每种运营商广告域名并不相同,只要在浏览器输入一个不存在的网址如http://www.lokdhhgjfdfds.com,此时跳转到的页面就是运营商的广告网址,在地址栏下记下它的域名并添加到域名过滤列表即可。
3)启动命令提示符,输入下列命令获得上述域名的IP地址并记下:
ping search.114.vnet.cn
ping 114.vnet.cn
接着在右侧设置窗格,切换到“安全设置→IP地址过滤”,单击“添加条目”,然后在弹出的窗口中,在“广域网IP地址”输入框依次填入上述获得的IP地址(如果广告网址是一个网段,则输入起始IP地址段即可),其他参数选择默认设置,确定之后重启路由,如图8所示。
这样再次上网后,由于运营商的广告域名和IP地址全部被自动过滤,浏览器就再也不会出现DNS广告劫持了。一旦运营商增加了新的广告,操作同上继续添加到域名和IP地址过滤列表即可。同样的,对于常见的危险域名和网址,使用同样的方法可以在路由器中进行屏蔽。
如果设置不当(比如将防火墙规则设置为“凡是不符合已设IP地址过滤规则的数据包,禁止通过本路由器”)可能会导致无法上网,此时只要再次进入路由器设置,选择“恢复出厂设置”,或者对路由器物理清零,再根据教程进行正确的设置即可。
(2)屏蔽常见网页广告
上述方法只能手动添加需要过滤的域名和IP地址,因此只适合屏蔽少量、典型的广告网址。对于网上数量庞大的广告页面,我们不可能手动全部添加,如果你的路由器支持刷入DD-WRT,那么利用DD-WRT可以轻松拦截各类广告。
DD-WRT是一种可用于某些无线路由器的非商业的第三方固件,支持多种品牌的路由器刷入。它的功能强大而且具有友好的Web管理/配置界面,可以提供很多“原版”路由器不支持的功能,具体支持的路由器品牌可以登录http://www.dd-wrt.com/site/index,查看。普通的路由器刷入DD -WRT后就可以利用其自带的DNSMasq服务屏蔽大多数广告页面。
1)进入DD-WRT路由设置页面,展开Services(服务),在页面下方的“DNSMasq”设置选项中,将"DNSMasq”和“Local DNS(本地DNS )”均设置成“Enable”(启用),然后保存设置。
2)登录http://dwz.cn/cfan28,下载所需的脚本文件,使用记事本打开后复制所有内容。返回DD一WRT路由设置页面,继续展开页面上方的“Administration(管理员)→Commmands(命令行)”,在“Command Shell”(命令行外壳)后的文本框粘贴上述复制的脚本文件,粘贴完成后点击“Save Startup”,将其保存为开机启动项目。
上述脚本的作用实际上是实现每次启动路由器自动下载Chinalist(著名反广告扩展AdblockPlus使用的针对国内广告的CinaList Lazy过滤包,它会定期更新广告列表),下载后转换生成dnsmasq配置文件,再告知dnsmasq调用。
3)继续展开“Administration(管理员)→Management(管理)”,在右侧窗格找到“Cron”选项,将其设置为“Enable”(打开),接着在下面"Additional Cron Jobs”文本框输入“*1***root /tmp/.rc_startup”代码,最后保存退出即可:
完成上述的设置后,以后我们每次启动路由器,它都会自动下载Chinalist并被路由器调用,屏蔽的效果就类似于浏览器安装的Adblock Plus插件,大家叮以自行比较一下。
对于无法刷DD -WRT的路由器,我们可以利用Chinalist提供的域名列表,只要在浏览器地址栏定期输入http://easylist -rnsie.adblockplus.org/chinalist +easylist.tpl,在打开的窗口手动将其中的域名添加到路由器的域名过滤列表,也可以实现同样的效果。
(3)多管齐下防范广告网页
俗话说:道高一尺,魔高一丈。在我们探讨使用各种方法屏蔽广告的同时,网站广告主一也在想用各种更高明的方法向我们推送广告。虽然在路由器上屏蔽广告的方法很好,但是面对层出不穷的广告页面,仅仅使用路由器还是远远不够的。路由器设置操作较为复杂,为了更好地屏蔽广告网页,我们可以结合浏览器的hosts件,手动添加广告网址到屏蔽列表。此外还可以安装著名反广告插件Adblock(适用IE、搜狗、傲游、火狐等多款浏览器),并且定期更新和手动添加屏蔽规则,这样就可以有效防范各种网页广告。