Apache-2.2

隨機更改傳出 IP 地址

  • February 1, 2017

如果我們有一個具有 10 個 IP 地址的伺服器,是否有一種干淨的方法可以在每個傳出請求中隨機選擇其中一個作為源 IP?

我嘗試了 Apache Mod Proxy,但顯然即使我通過腳本自動更改源 IP 地址,每次執行此操作時我都必須重新載入 Apache。

是否有任何工具或清潔方法可以處理這個問題?


編輯:更多資訊

有多個客戶託管在伺服器上,

他們中的許多人都在呼叫相同的 API(使用 cURL),其速率限制為每秒 2 個,因此基本上當其中一個客戶發送 2 個請求時,其他人無法獲得任何請求!

我試圖在每個請求(這裡的問題)上隨機輪換伺服器“傳出 IP 地址(源 IP)”,或者為每個主機分配一個專用的“傳出”IP(這不是這裡的問題)。

您可以使用statistic具有如下SNAT規則的 iptables 模組:

$ sudo iptables -t nat -A POSTROUTING -m statistic --mode random --probability 0.1 -j SNAT --to-source IP2
$ sudo iptables -t nat -A POSTROUTING -m statistic --mode random --probability 0.1 -j SNAT --to-source IP3
Other rules for remaining IPs ...

您可以選擇random模式或nth模式。10 個 IP 為每個 IP 提供 0.1 的機率。無需為主介面 IP (IP1) 添加規則,因為它是預設使用的。

上述規則適用於所有流量類型。您可以根據需要將其限制為特定的協議/埠等。

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