Proxy

Squid 阻止非代理使用者

  • January 29, 2019

我安裝了正在偵聽埠 3128 的 squid。現在,我想向每個嘗試連接到任何 http/https 網頁並且沒有設置代理的使用者顯示一個錯誤網頁。我需要設置什麼參數?

我不認為你可以讓魷魚為你做這件事。

無論請求什麼 URL,您都需要將路由器上的傳出 http/https 流量重定向到某個本地網路伺服器,該伺服器會響應給定的錯誤頁面。

當您在網關本身上執行網路伺服器時,重定向是最簡單的;然後,您可以添加如下規則:

iptables -t nat -A PREROUTING -p tcp --dport http -j REDIRECT
iptables -t nat -A PREROUTING -p tcp --dport https -j REDIRECT

這會將發往這些埠的任何流量發送到本地系統。

請注意,對於 https 流量,使用將收到證書錯誤,因為本地系統使用的證書肯定與請求的主機名不匹配。

在網路伺服器端,您可以使用帶有您的消息的 index.html 頁面作為 404 錯誤文件,這樣無論請求什麼 URL,都會提供該頁面。

當然最簡單的方法就是直接拒絕所有http/https流量,瀏覽器會報錯。您可以使用REJECTwith --reject-with adm-prohibited,希望瀏覽器將此狀態傳遞給使用者。

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