Proxy

根據本地埠,通過不同的公共 IP 在 Squid 中進行代理轉發

  • July 22, 2014

我希望通過不同的公共 IP 轉發持久的 HTTP 請求。它連接到伺服器並在伺服器持續流式傳輸數據時保持連接。

這需要對應用程序透明;路由邏輯需要僅限於與目標埠號(或主機:埠)建立 HTTP 連接。

我正在考慮讓 Squid 服務在 LAN IP 上偵聽多個埠;如果應用程序連接到埠A,則通過網卡A轉發請求;對於埠 B 連接,通過 nic B 轉發;等等。

這是適合 Squid 的任務嗎?在哪裡可以找到有關配置的一些提示?我在閱讀 Squid 文件時迷失了與此相關的任何內容(特別是如何映射本地埠-> 不同的輸出 NIC)。

是的,Squid 可以。

http_port 3128
http_port 3129
http_port 3130

acl port1 myport 3128
acl port2 myport 3129
acl port3 myport 3130

tcp_outgoing_address x.x.x.1 port1
tcp_outgoing_address x.x.x.2 port2
tcp_outgoing_address x.x.x.3 port3

如果每個 IP 地址有不同的網關,則還必須配置源路由:

ip rule add from x.x.x.1 table 10
ip rule add from x.x.x.2 table 11

ip route add table 10 default via GW1
ip route add table 11 default via GW2

ip route add default via GW3

在 squid.conf 中,重要的是設置:

server_persistent_connections off

否則我的程序行不通。

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