對於每個喜歡上網的朋友來說,幾乎登錄每個網站都會遭遇各種各樣的廣告轟炸,即使你輸入錯誤的網址,運營商的DNS攔截也會強行推送廣告。雖然我們可以通過浏覽器的攔截廣告插件對廣告進行屏蔽,不過在廣告侵入電腦時才進行攔截是不是有些亡羊補牢的意味?何不利用路由器的設置,將廣告直接攔截在“窗”外?
小知識:路由器是怎麼攔截廣告?
使用過浏覽器hosts文件攔截廣告的朋友都知道,hosts是通過域名轉向(將常見廣告域名都指向127.0.0.1)功能實現廣告屏蔽的。路由器攔截廣告類似,它借助路由器上廣泛存在的 Dnsmasq服務以及路由器內置的IP地址過濾、域名過濾組件,實現廣告網址在路由器就轉向到127.0.0.1,從而實現廣告的屏蔽。
簡單三步——屏蔽運營商DNS廣告
使用電信、聯通上網的用戶都知道,很多時候我們訪問一些網站會無故跳轉到電信的廣告頁面上,或者在訪問不存在的網址時自動跳轉到運營商的廣告頁面,這些就是典型的DNS廣告劫持。現在借助路由器設置可以輕松屏蔽它們。下面以屏蔽電信DNS廣告劫持為例,路由器使用的是Tplink WR541G/542G。
1.使用IE浏覽器進入路由器設置,接著依次展開左側窗格的“安全設置→防火牆設置”,勾選其下的“IP地址過濾”,缺省過濾規則中選取:凡是不符合已設IP地址過濾規則的數據包,允許通過本路由器。繼續勾選“域名過濾”並保存(見圖1)。
2. 在右側設置窗格,切換到“安全設置→域名過濾”,點擊“添加新條目”,按提示添加如下域名(不要輸入http://www.格式),將這些DNS廣告域名全部過濾,生效時間為“00~24”(即每天),狀態為“生效”(見圖2):
search.114.vnet.cn
114.vnet.cn
小提示:
每種運營商廣告域名並不相同,只要在浏覽器輸入一個不存在的網址如www.lokdhhgjfdfds.cxm,此時跳轉到的頁面就是運營商的廣告網址,在地址欄記下它的域名並添加到域名過濾列表即可。
3. 啟動命令提示符,輸入下列的命令獲得上述域名的IP地址並記下。接著在右側設置窗格,切換到“安全設置→IP地址過濾”,單擊“添加條目”,然後在彈出的窗口,在“廣域網IP地址”輸入框依次填入上述獲得的IP地址(如果廣告網址是一個網段,則輸入起始IP地址段即可),其他參數選擇默認設置,點擊確定之後重啟路由(見圖3)。
ping search.114.vnet.cn
ping 114.vnet.cn
這樣再次上網後,由於運營商的廣告域名和P地址全部被自動過濾,在我們的浏覽器就再也不會出現DNS廣告劫持了。一旦運營商增加了新的廣告,操作同上繼續添加到域名和IP地址過濾列表即可。同樣的,對於常見的危險域名和網址,使用同樣的方法可以在路由器中進行屏蔽。
注意:
如果設置不當(比如將防火牆規則設置為“凡是不符合已設IP地址過濾規則的數據包,禁止通過本路由器”)可能會導致無法上網,此時只要再次進入路由器設置,選擇“恢復出廠設置”,或者對路由器物理清零,再根據教程進行正確的設置即可。
升級路由器——屏蔽常見網頁廣告
上述的方法只能手動添加需要過濾的域名和IP地址,因此只適合屏蔽少量、典型的廣告網址。對於網上數量龐大的廣告頁面,我們不可能手動全部添加,如果你的路由器支持刷入DD-WRT,那麼利用DD-WRT可以輕松攔截各類廣告。
小知識:
DD-WRT是一種可用於某些無線路由器的非商業的第三方固件,支持多種品牌的路由器刷入。它的功能強大而且具有友好的Web管理/配置界面,可以提供很多“原版”路由器不支持的功能,具體支持的路由器品牌可以登錄http://www.dd-wrt.com/site/index查看。普通的路由器刷入DD-WRT後就可以利用其自帶的DNSMasq服務屏蔽大多數廣告頁面。
1. 進入DD-WRT路由設置頁面,依次展開“Services(服務) →Services(服務)”,在頁面下方的DNSMasq設置選項中,將DNSMasq 和 Local DNS(本地 DNS) 均設置成 Enable (啟用),然後保存設置(見圖4)。Spe
2.到http://dwz.cn/cfan28下載所需的腳本文件,使用記事本打開後復制所有內容。返回DD-WRT路由設置頁面,繼續展開頁面上方的“Administration(管理員)→Commmands(命令行)”,在“Command Shell”(命令行外殼)後的文本框粘貼上述復制的腳本文件,粘貼完成後點擊“Save Startup”,將其保存為開機啟動項目(見圖5)。
小提示
上述腳本的作用實際上是實現每次啟動路由器自動下載Chinalist(著名反廣告擴展Adblock Plus使用的針對國內廣告的ChinaList Lazy過濾包,它會定期更新廣告列表),下載後轉換生成 dnsmasq 配置文件,再告知 dnsmasq 調用。
3.繼續展開“Administration(管理員)→Management(管理)”,在右側窗格找到“cron”選項,將其設置為“Enable“(打開),接著在下面“Additional Cron Jobs”文本框輸入“* 1 * * * root /tmp/.rc_startup”代碼,最後保存退出即可。
完成上述的設置後,以後我們每次啟動路由器,它都會自動下載自動下載Chinalist並被路由器調用,屏蔽的效果就類似於浏覽器安裝的Adblock Plus插件,大家可以自行比較一下。
小提示:
對於無法刷DD-WRT的路由器,我們可以利用Chinalist提供的域名列表,只要在浏覽器地址欄定期輸入http://easylist-msie.adblockplus.org/chinalist+easylist.tpl,在打開的窗口手動將其中的域名添加到路由器的域名過濾列表也可以實現同樣的效果。
本文來自於【系統之家】 www.xp85.com