Linux

無法使用 ssh -D 代理多個 IP

  • April 22, 2017

我有一台 CentOS 虛擬機,有 127 個公共外部 IP 地址。我正在嘗試使用 ssh -D 一次代理所有連接,如下所示:

ssh -f -N -D 0.0.0.0:1000 1.1.1.1
ssh -f -N -D 0.0.0.0:1001 1.1.1.2

其中 0.0.0.0 是文字,1.1.1.1 / 1.1.1.2 對應於 127 個公共地址之一。起初,我的許可被拒絕了。所以我執行這個命令來添加 IP:

ip address add 1.1.1.2/25 dev eth0

操作成功完成。但是,當 socks 通過埠 1000 和 1001 代理時,公共外部 IP 保持不變:1.1.1.1。如果我通過 1.1.1.1 或 1.1.1.2 連接到遠端伺服器,這是真的

如何讓 SSH 使用所有 127 個公共 IP 地址?我不一定需要每個 ip 配置一個埠,只需要同時代理所有 ip 的能力。我搜尋了很多,但在論壇文章或 CentOS 文件中都找不到這個問題的任何答案。任何幫助表示讚賞。

-D port 指定本地“動態”應用程序級埠轉發。這是通過分配一個套接字來監聽本地端的埠來工作的,每當與此埠建立連接時,連接就會通過安全通道轉發,然後使用應用程序協議來確定從遠端連接到哪裡機器。

您用於 SSH 連接的 IP 地址不會影響用於遠端伺服器連接的**IP 。**這是根據(遠端伺服器的)路由表決定的。

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