我一直在使用幾種不同的轉發代理軟體,主要是 CCProxy 和 Squid Proxy/Cache。我擁有的是一台帶有單一 NIC 並分配多個 IP 的專用伺服器。一個IP是靜態的,其餘的是動態的。靜態 IP 充當主位址,這是我存取代理伺服器的方式,其他位址是用於網頁抓取和其他任務的動態 IP 位址。我在 CCProxy 中建立了一個代理,它允許您將使用者連結到特定的出站 IP 位址,這對我正在做的事情非常有用,允許我將不同的任務分配給不同的 IP。
那麼我想知道這是否可以在 Squid Proxy 中完成?
我喜歡 Squid 的可自訂性,但我真的可以使用這個功能。
預先感謝,喬
答案1
執行此操作的選項是tcp_outgoing_address
:
允許您根據發出請求的使用者的使用者名稱或來源位址將請求對應到不同的傳出 IP 位址。
「傳出IP位址」其實意味著「來源IP」。現在您可以選擇一個存取控制列表透過任何可用的方式區分您的用戶,客戶端的 IP ( acl ... src ...
),簡單的代理認證(auth_param
+basic_ncsa_auth
) ETC。
改編自文件的範例,使用來源 IP 作為選擇器,其中魷魚伺服器將擁有 LAN 中的各種 IP192.0.2.0/24
及其主 IP 192.0.2.1
。將其新增至典型範例squid.conf
:
acl allowed_clients src 198.51.100.0/24
http_access allow allowed_clients
acl dedicated_client1 src 198.51.100.174
tcp_outgoing_address 192.0.2.174 dedicated_client1
tcp_outgoing_address 192.0.2.10 allowed_clients
tcp_outgoing_address 192.0.2.5
將允許來自 的客戶端allowed_clients
,並讓它們使用傳出 IP ,但從中取得 的192.0.2.10
用戶端除外。在本範例中以外的其他位置配置的任何其他用戶端都將使用,並且伺服器的主 IP 將永遠不會被使用。198.51.100.174
192.0.2.174
192.0.2.5