Proxy

通過 squid 路由和驗證所有訪問

  • April 1, 2010

我想通過 Squid 代理伺服器路由我網路中的所有 Internet 訪問,並對所有使用者進行身份驗證和記錄。我希望這是一個獨立於客戶端的設置,這樣沒有人需要在他們的瀏覽器或機器上做任何事情。

我已將我的網路網關設置為代理伺服器,以便將所有流量發送到它。我已經使用 DHCP 伺服器中的選項完成了這項工作。

  1. 現在我嘗試使用**squid 作為透明代理,**但它不會在該模式下進行身份驗證。
  2. 我嘗試使用iptables 將所有流量路由到埠 3128,但它不會從 SQUID 彈出身份驗證對話框。
  3. 我嘗試通過將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工作,一個這樣的過濾器)。

引用自:https://serverfault.com/questions/128509