我目前正在進行以下方面的研究:
假設 A 公司有一個本地 IPv4 網絡,而且他們的防火牆僅是 IPv4,因此雙堆疊不是選項。
B 公司是一家中國公司,他們只支援 IPv6。 B 公司託管一個網站 ipv6address.companyB.cn。 A公司和B公司是兩家不同的公司,彼此之間沒有任何資訊。
A公司如何造訪B公司的網站?
換句話說:
除了雙堆疊之外,還有其他解決方案可以讓本機 IPv4 存取 IPv6 網路嗎?
據我發現,它們並不是使 IPv4 用戶端能夠與 IPv6 伺服器通訊的「動態」解決方案,而只是靜態的。
意義:
對於本機 v4 用戶端存取本機 v6 伺服器,目前可用的是無狀態 NAT46,這也需要靜態 DNS 項目。
因此,我在這裡提出問題,希望有人有類似的情況,並能為我指出正確的方向。
答案1
您可能不需要對整個 LAN 進行雙堆疊,但至少有一雙堆疊系統是不可避免的,因為純 IPv4 網路無法存取純 IPv6 網路,除非一些其間有雙棧繼電器。 (但是,該系統可能是雲端伺服器,不一定位於您自己的網路中。)
一旦你有了這個,就有幾個選擇,但這些是最有可能的:
如果您需要在全公司範圍內使用它全部IPv6 目的地:
搜尋(我相信這就是名字)statefulNAT46,類似於NAT64,由1) 一個DNS 伺服器組成,根據真實的AAAA 記錄提供假A 記錄,2) 一個中繼伺服器,執行實際的路由/轉換(接收用於這些假位址的IPv4 封包,發送出去) IPv6 封包到真實位址)。中繼顯然需要 IPv4 和 IPv6 連線。
(NAT46 可以像 NAT64 一樣自動實現,只需找到實現它的軟體(例如 DNS 伺服器)...)
如果您僅在少數用戶端主機上需要此功能,但對於所有目標:
設定一個VPN伺服器提供 IPv6 存取。連接到 VPN 伺服器的各個主機透過它獲得 IPv6 訪問,而不影響公司網路的其餘部分。 IPv4 仍然可以直接連線。
或使用傳統的「協定 41」隧道,例如 Hurricane Electric 提供的隧道。
如果您僅在少數用戶端主機上需要此功能,對於所有網站,但僅限網站 (HTTP/HTTPS):
設定一個基本的HTTP代理伺服器(例如 Squid)並獲得 IPv6 連接只針對該伺服器。需要存取僅 IPv6 網站的使用者可以將其瀏覽器設定為使用雙堆疊代理。
不限於 HTTP(S) 的類似解決方案是提供 SOCKS5 代理,甚至SSH“動態隧道”它提供即時 SOCKS 相容代理。在所有情況下,代理本身都需要 IPv6 連線。
如果您需要在整個公司範圍內使用此功能,但只需要一個或兩個網站:
對於 HTTP,設定反向代理(使用 nginx/Apache/HAproxy)接受請求
http://proxyhost
並將其轉送到真實的 IPv6 伺服器。同一個反向代理可以處理多個虛擬主機。對於非 HTTP,找到類似 OpenBSD 的東西中繼。
最後,中繼伺服器本身可以使用與上面「單一主機」部分相同的方法(VPN 或 proto41 隧道)來獲得其 IPv6 連線。