Linux

在僅支持 IPv6 的機器上使用 IPv4(通過 SSH 隧道?)

  • November 16, 2019

我們的非 IT 公司使用僅限 IPv4 的網路服務,它只允許從我們的(列入白名單的)IPv4 ip 訪問。這個 ip 被分配給我們的一個 VPS(這個 VPS 也有一個 IPv6 分配給它)。

我們通常通過 SSH 隧道從其他 IPv4 機器進入此 VPS,並通過 Firefox 中的代理設置使用該 IP 地址。這完全符合我們的要求,但不適用於我們僅支持 IPv6 的機器。這些可以使用其 IPv6 地址通過 SSH 隧道連接到 VPS,但是我們只能使用 VPS 的 IPv6 而不能使用 IPv4。

有沒有辦法使用這個 VPS 中的 IPv4,或者使用 VPS 作為中間伺服器來“翻譯”請求?我們更喜歡類似隧道的解決方案,但如果可以幫助我們實現目標,則允許使用所有可能的工具。

我們已經嘗試了大多數設置 ssh 連接(ssh 和 sshuttle)的方法,並且還使用 socat 做了一些事情,但還沒有運氣,我們發現的大多數解決方案都是關於將 IPv4 轉換為 IPv6,而不是 IPv6 轉換為 IPv4。

如果問題也影響到其他人,讓我們起草一個更全面的解釋。OP 正在通過以下方式建立的 SOCKS5 代理連接到網路:

ssh -D <local_port>

不幸的是,有一個Firefox 錯誤,它不允許僅 IPv6 的主機使用代理連接到 IPv4 地址。他們也必須啟用 DNS 代理。

另一方面,僅 IPv4 的主機可以使用代理連接到 IPv6 地址。

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