透過 IP 別名的 SSH 隧道

透過 IP 別名的 SSH 隧道

我有一台有 3 個 IPv4 的機器。讓我們以它們為例:

8.8.8.1 (eth0) (主 ip) 8.8.8.2 (eth0:1) (ip 別名) 8.8.8.3 (eth0:2) (ip 別名)

如果我建立 SSH 隧道並將瀏覽器配置為使用該隧道作為襪子代理,則所有傳出請求似乎僅透過主 IP。因此,如果我透過 IP 別名建立隧道並將其設定為 Firefox 中的代理,然後檢查顯示的 IP,始終顯示主 IP。

有沒有辦法將傳出連線設定為顯示為我代理程式的 IP 別名?

答案1

我猜你的預設路由位於 eth0 持有的網路上。您的代理流量不會直接連結到您的 IP 別名(流量是透過 sshd 進程在本機產生的,該進程將管理到您電腦的返迴路徑)。因此,傳出/代理的流量將基本上遵循標準機制:在預設介面上使用預設路由到達目的地。

您必須根據某些標準對資料包進行專門標記,才能透過其他 IP 路由它們。這是一個複雜的主題,我建議您看一下這個網站,它是該主題的官方通才文件:https://lartc.org/

您也可以將 SSH 伺服器推送到儲存 8.8.8.2 位址的 LXC 容器中(例如使用橋接設定來讓 LXC 存取您的網路)。由於LXC進程與主主機隔離,且只能使用您提供的資源,因此其所有流量將經過8.8.8.2...

哦,另請注意,在範例和/或專用網路中使用有效的路由 IP 位址並不是一個好主意:8.8.8.0/25 是 Google 擁有的有效網路子網路。不要重疊它,否則您可能無法存取某些 Google 內容。

請改用 10.xxx 或 192.168.xx。

相關內容