通過 squid 路由和驗證所有訪問
我想通過 Squid 代理伺服器路由我網路中的所有 Internet 訪問,並對所有使用者進行身份驗證和記錄。我希望這是一個獨立於客戶端的設置,這樣沒有人需要在他們的瀏覽器或機器上做任何事情。
我已將我的網路網關設置為代理伺服器,以便將所有流量發送到它。我已經使用 DHCP 伺服器中的選項完成了這項工作。
- 現在我嘗試使用**squid 作為透明代理,**但它不會在該模式下進行身份驗證。
- 我嘗試使用iptables 將所有流量路由到埠 3128,但它不會從 SQUID 彈出身份驗證對話框。
- 我嘗試通過將WPAD 文件放置在包含以下內容的網路伺服器上來告訴DHCP 將 WPAD 提供給所有客戶端,以在客戶端上進行自動代理配置:
dhcpd.conf中的更改
選項 wpad 程式碼 252 =測試;
選項 wpad “\n\000”;
選項 wpad " http://192.168.1.5/wpad.dat \n";
WPAD 文件:
函式 FindProxyForURL(url,host)
{
return “代理 squid-server-ip-address:3128 ; DIRECT “;
}
但是瀏覽器(不同版本的 Firefox 和 IE)似乎忽略了它。:(
我該怎麼辦 ?
認為您的 DHCP 選項可能已關閉…來自:http ://www.wlug.org.nz/WPAD
將以下內容添加到您的 /etc/dhcpd.conf:
選項 option-252
“ http://wpad.host.co.nz/proxy.pac ”;
對於 ISC DHCP v3+,option-# 選項不起作用。您必須在配置的全域部分中執行此操作:
選項 wpad-url 程式碼 252 = 文本;
(定義一個新選項)
並將其添加到配置的全域或適當的子網部分中:
選項 wpad-url
" http://wpad.my.domain.tld/proxy.pac \n”; (使用新選項)
此外,您會發現在 squid 中以透明模式進行身份驗證是不可能的。一些商業網路過濾器確實可以解決這個問題(實際上我為SmoothWall工作,一個這樣的過濾器)。