我有一個 SSH 代理正在運行,現在我需要為我的客戶端選擇不同的傳出 IP

我有一個 SSH 代理正在運行,現在我需要為我的客戶端選擇不同的傳出 IP

我透過 Putty 設定了一個到我的專用伺服器的 SSH 隧道,我將其用作襪子代理。問題是我需要使用與專用伺服器的主 IP 不同的傳出 IP 位址。我為該伺服器設定了 30 個 ip 區塊,但即使我設定了基於 Web 的代理程式 (php),它也會使用主伺服器 ip。

有人知道解決方案嗎?

謝謝!

答案1

通常,作業系統假定連接的來源 IP 位址(您稱為「傳出 IP」)等於傳出介面的主位址(請參閱 參考資料ifconfig -a)。傳出介面是透過在路由表中尋找符合條目來決定的(請參閱netstat -rnroute)。

您可以嘗試向路由表添加/更改條目,這有可能導致作業系統選擇另一個傳出接口,並且反過來,它也有可能導致您的作業系統選擇另一個來源 IP 位址。

除此之外,如果您的伺服器恰好是 Linux,您可以透過使用 SNAT 來解決該問題(請參閱 參考資料iptables)。

答案2

首先,您是否為您的網路卡設定了別名?

如果使用 IP 別名進行 ssh 會發生什麼事?

對於基於 Web 的代理,您應該能夠指定要綁定到的 IP 位址。在 Apache 中,您只需設定 Listen 選項即可。你嘗試過嗎?

或者,正如 kubanskamac 所提到的,使用 iptables。

相關內容