Networking

從 IPv6 地址連接到 IPv4 伺服器

  • March 18, 2017

我有一台同時具有 IPv6 和 IPv4 地址的伺服器。是否可以通過IPv6介面通過 HTTP 連接到另一個 Web 伺服器(我只知道它的 IPv4 地址),以便該伺服器只能看到我的 IPv6 IP 作為源地址?

簡短的回答:否

長答案:IPv4 和 IPv6 是不同的協議。理論上,您可以從 IPv6 地址連接到 IPv4 服務,但您需要 NAT64,這是主要為僅 IPv6 網路設計的。

更新以反映評論:

我在下面的回答是不正確的,但我懷疑(即希望)我不是唯一一個有類似誤解的人,而且這個答案(更重要的是,它的評論)將有助於澄清事情。

主要問題是我誤讀了 6to4 的功能 - 6to4 沒有(正如我最初理解的那樣)為 IPv6 節點提供與 IPv4 節點通信的方法。它確實允許一個 IPv6 節點通過 IPv4 網路與另一個 IPv6 節點通信。

所以(正如已經指出的那樣)這是一個不正確的答案,特別是不包括提問者感興趣的情況。

關於 6to4 的棄用,目前確實只是一個建議,僅適用於 6to4 的特定子集。似乎不再建議將 6to4 用於新部署。

NAT64(至少如此處所述:https ://en.wikipedia.org/wiki/NAT64 )可能更適合:

當在純 IPv4 伺服器前使用 NAT64 轉換器以允許遠端純 IPv6 客戶端訪問它們時,無狀態轉換是合適的。狀態轉換適用於在客戶端或服務提供商處部署,允許僅 IPv6 的客戶端主機到達遠端僅 IPv4 節點。

原文

從技術上講,這並非不可能:https ://en.wikipedia.org/wiki/6to4 。

假設您找到要使用的中繼,該中繼將代表您處理 IPv4 連接,使其 IP(v4) 地址成為目標將看到的源。

但是,通過查找服務的 IPv6 地址(如果有)或使用 IPv4 來查看是否可以避免所有這些可能是有意義的 - 因為您的伺服器同時具有這兩種地址,所以只說 IPv4 似乎要容易得多比它為您的服務涉及額外的跳躍和復雜性。

更重要的是,聽起來您將遠端端用作某種上游,因此延遲/響應性可能也是一個考慮因素。

更新以反映Sander Steffann的評論: 6to4 自 2015 年起已棄用(https://datatracker.ietf.org/doc/html/draft-ietf-v6ops-6to4-to-historic-11),該文件建議使用 NAT64作為替代品(https://www.rfc-editor.org/rfc/rfc6146)。

因此,儘管仍然可以按照提問者的意願去做,但 6to4並不是正確的做法。

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