HAproxy單臂負載平衡

HAproxy單臂負載平衡

我正在嘗試在單臂模式下為 HAproxy 設定負載平衡實驗室(當實際前端 IP 和後端伺服器駐留在同一子網路中,而實際客戶端始終位於遠端)。另一個請求是使客戶端來源 IP 對後端節點可見。當我們對基於 tcp 的自訂應用程式進行負載平衡時,選項「source 0.0.0.0 usersrc clientip」似乎是一個正確的選擇。另外,我已將後端設定為具有指向 HAproxy 的 IP 位址的預設閘道。

儘管一旦我啟用從後端選項,就會發生奇怪的事情:我看到與前端 VIP 的連接已正確完成,並且形成了 3 向握手。但是,當 HAproxy 伺服器嘗試建立第二個會話以使用客戶端的欺騙 IP 聯繫後端伺服器時,我確實看到了這種情況的發生:

  1. 代理程式正在將帶有欺騙性客戶端 IP 位址的 SYN 傳送到後端之一;
  2. 後端通常回覆SYN-ACK封包;
  3. 代理不發送最後一個 ACK,只是在超時後盲目發送 SYN 封包,結果相同;
  4. 在代理上,我看到此連接在 netstat 輸出中標記為 SYN_SENT,因此看起來代理伺服器由於某種原因實際上不接受 SYN-ACK 封包。

任何讚揚將不勝感激。

相關內容