如果我有一個地址10.3.3.2,將其映射到v6將導致0:0:0:0:0:ffff:a03:302。 我可以ping通10.3.3.2但ping 0:0:0:0:0:ffff:a03:302給出「無路由到主機」錯誤。現在,我無法從我的網絡中ping任何IPv6地址,因此錯誤是預期的。我可以ping一個v6映射的v4地址嗎?
我很好奇,如果
ping6 0:0:0:0:0:FFFF:A03:302
如果IPv6流量正要出去完美。
如果我有一個地址10.3.3.2,將其映射到v6將導致0:0:0:0:0:ffff:a03:302。 我可以ping通10.3.3.2但ping 0:0:0:0:0:ffff:a03:302給出「無路由到主機」錯誤。現在,我無法從我的網絡中ping任何IPv6地址,因此錯誤是預期的。我可以ping一個v6映射的v4地址嗎?
我很好奇,如果
ping6 0:0:0:0:0:FFFF:A03:302
如果IPv6流量正要出去完美。
你正在做的事情叫做NAT64,描述在RFC-6146。
你必須做更多的事情才能發揮作用。
首先,映射地址必須以64:ff9b::
(它是一個保留的前綴,專門用於NAT64)而不是0:0:0:0:0:ffff:
(這個舊的前綴,最初出現在1995年末,在RFC-1884中,不用於IPv6 IPv4網關 - 例如,它用於映射網絡軟件存儲的地址,但不是當您想通過IPv6網絡連接到IPv4主機時)。
因此,映射10.3.3.2到IPv6給64:ff9b::a03:302
但在現實世界中,沒有人做這樣一個奇怪的映射,你只需要進行IP地址爲10.3.3.2主機名的DNS請求轉換爲符合DNS64的解析器(這種DNS解析器稱爲DNS64解析器,如RFC-6147中所述)。谷歌提供這一個(其中包括):2001:4860:4860::6464
,免費供大家使用。所以,你只需要配置你的DNS解析器來請求這個Google主機(不要忘記刪除任何其他的解析器)。
請注意,Google公有DNS64解析器不支持私有IPv4地址。因此,在您的示例中,我們需要用公共地址替換10.3.3.2。所以,我選擇1.3.3.2,這是一個公開地址。
爲了讓您做出測試,我創建了以下DNS記錄:tstaupreti.fenyo.fr
,映射到1.3.3.2。
然後使用,你可以很容易地檢查它是如何工作的:
1 - 首先,你可以問一個標準的公共DNS,像8.8.8.8(由谷歌公共DNS,但不符合DNS64),以舉一個IPv4地址用於該主機:
% dig @8.8.8.8 tstaupreti.fenyo.fr. a +short
1.3.3.2
%
現在2-,你可以檢查有與主機名相關聯的IPv6地址:
% dig @8.8.8.8 tstaupreti.fenyo.fr. aaaa +short
%
3-那麼,讓我們看看^ h appens與谷歌DNS64解析:
% dig @2001:4860:4860::6464 tstaupreti.fenyo.fr. a +short
1.3.3.2
%
這是正常的,因爲我們有請的IPv4地址,DNS64解析器,當然,IPv4的兼容。
4-但現在,讓我們來看看DNS64分解工作來計算你的映射:
% dig @2001:4860:4860::6464 tstaupreti.fenyo.fr. aaaa +short
64:ff9b::103:302
%
正如你可以看到,谷歌NAT64解析器還沒有見過tstaupreti.fenyo相關的任何IPv6地址。 FR,所以想看看,如果IPv4地址被分配給這個主機名,它發現1.3.3.2和,因此,它轉換爲NAT64 IPv6格式:64:ff9b::103:302
但這是不夠的,能夠在使用IPv6對tstaupreti.fenyo.fr進行ping時獲得icmp回覆。
這是因爲您還需要訪問NAT64 IPv6到IPv4網關並將IPv6數據包64:ff9b::/96
路由到此NAT64網關。這樣,無論DNS64映射返回什麼值,您的ICMP請求(ping)都將轉到NAT64網關。這個網關將你的數據包從IPv6轉換爲IPv4(或多或少像標準的NAT IPv4網關 - 更多細節參見RFC,有細微的變化)。
不幸的是,NAT64將64:ff9b::/96
定義爲不能在Internet上路由的保留前綴(這是因爲每個提供NAT64網關的專用網絡上的地址是相同的,例如通常在專用路由上的10.xxx網絡,因此,出於同樣的原因,它不能在互聯網上路由)。因此,沒有公共NAT64網關與NAT64前綴64:ff9b::/96
一起工作(您可以使用另一個前綴,並將其路由到配置有此不常見前綴的NAT64網關,但這是另一個故事)。一些互聯網服務提供商將這種地址路由到專用於其客戶的專用NAT64網關。如果您的ISP不這樣做,您需要自己在您的專用IPv6網絡上安裝這樣的網關。要做到這一點,您可以使用Linux的Tayga。
因此,在執行了最後一步(例如安裝Tayga)後,您將收到來自ping請求的ICMP回覆。在將ping數據包發送到互聯網上的任何IPv4純服務器時它將工作。
您不能簡單地將IPv4地址映射到您認爲的IPv6方式。 IPv4和IPv6是兩個完全獨立的協議,不能直接通信。 –
您使用的表示法通常用於需要用IPv6表示法表示IPv4地址的軟件。但它仍然代表IPv4地址,不能用作真正的IPv6地址。 –