有時候在家想不讓小孩亂上網,某些網址不能登陸,而這時如果家里的無線路由器剛好是openwrt時,可利用iptables使得當輸入的網址包含相關字段是無法登陸該網頁。
1、瀏覽器登陸192.168.1.1

2、然后按照下圖點擊設置

3、在防火墻自定義規則中寫入如下語句:
iptables -I FORWARD -m string --string "gamersky" --algo kmp -j DROP

4、按下提交,這是到達如下頁面:
狀態=>防火墻
按下重啟防火墻
網址包含gamersky時,無法登陸,即使在搜索引擎中鍵入gamersky也不行。

5、看到FORWARD中已經包含了信息。輸入游民星空網址,試試,果然無法登陸了。可以看到已經攔截了請求的數據包。


使用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可以提高效率。
相關推薦:
中興光貓路由器ZXV10 H108L怎么設置網絡最好?
無線路由器級聯怎么設置?兩個路由器級聯的教程
小米路由器DNS地址可以修改嗎?小米路由器設置DNS地址的教程
新聞熱點
疑難解答