Web

如何阻止 DD-WRT 路由器上的特定 URL?

  • January 19, 2022

我一直在到處尋找這個。有誰知道如何阻止 DD-WRT 路由器上的特定 URL?例如,我想阻止website.com/whatever但不阻止website.comblah.website.comwebsite.com/blah。有沒有辦法做到這一點,或者你只能阻止整個域?

我嘗試在 DD-WRT 配置的訪問限制下添加有問題的 URL,但它似乎沒有任何效果。這是我的設置:

在此處輸入圖像描述

這是客戶列表:

在此處輸入圖像描述

我仍然可以在 IP 地址為 192.168.1.146 的主 PC 上輕鬆瀏覽到 google.com/imghp 和 google.com/images(重定向到 google.com/imghp)。

在DD-WRT wiki 的此頁面上,它顯示“在按 URL 地址阻止網站下,輸入您要阻止的域名(如果有)。” 除了 DD-WRT 論壇上的文章之外,這給我的印像是您只能在 DD-WRT 設置中的訪問限制下阻止域。

我開始懷疑這個問題是否必須使用 iptables 來解決,或者可能通過在路由器本身上安裝代理伺服器來解決。

編輯

DD-WRT 論壇上的使用者 goli 對此事有這樣的看法(連結):

有一個在 DD-WRT 上執行良好的 Privoxy 版本。我剛剛安裝了它。

Privoxy 有一個參數“accept-intercepted-requests 1”,允許將其用作透明代理。

我添加了一個 iptables 規則,它將一些 Web 流量請求傳遞給代理,而不是直接路由它:

iptables -t nat -A PREROUTING -i br0 -p tcp --dport 80 -s 192.168.0.128/255.255.255.224 -j DNAT --to 192.168.0.1:8118    

Privoxy 有所謂的“動作文件”。這些定義了當請求 URL 匹配給定的正則表達式時要做什麼。一種可能的動作是“阻止”。

從那時起,我一直在研究如何在路由器上安裝 Privoxy。這相當複雜,特別是因為我沒有足夠的備用快閃記憶體來使用 ipkg 通過 SSH 安裝它。(請參閱超級使用者上的這個問題。)

我的第二種方法是使用韌體修改套件,您可以在此處閱讀。我在刷新自定義版本時遇到了一些困難,但是一旦我把它全部整理好,我會在這裡發布我的結果。

不幸的是,我(來自 DD-WRT 論壇)的印像是,您只能在 DD-WRT 設置中的訪問限制下阻止域。

我決定改為設置一個安裝了 DansGuardian 的專用代理伺服器,這將允許我進行良好的控制,並使用 OpenWrt 中的 iptables 阻止任何不通過路由器上的代理的請求。

按著這些次序:

  • 轉到 dd-wrt ​​Web 界面中的“訪問限制”選項卡
  • 啟用策略
  • 設置名稱(例如“阻止 Youtube”)
  • 編輯客戶端列表以指定應阻止哪些電腦訪問 YouTube

要阻止所有機器,請使用底部的“IP 範圍”指定除路由器(通常.1)和廣播(.255)之外的所有 IP

  • 設置您想要阻止的天/小時,或“每天”一直阻止它
  • 在“通過 URL 地址阻止網站”下,輸入facebook.com
  • 點擊“保存”,然後點擊“應用設置”

如果您需要,有一個YouTube 影片會顯示每個步驟。

引用自:https://unix.stackexchange.com/questions/47601