Ipv6
IPV6 - 私有 IP 不起作用
我有一個帶有簡單 php 文件的 apache 伺服器,
echo "hello world!";
當我嘗試時:
- **http://$$ 127.0.0.1 $$:8000**工作正常
- **http://$$ 192.168.1.2 $$:8000**工作正常
- **http://$$ :: $$:8000**工作正常
- **http://$$ fe80::b00:24ff:fe62:5fa4 $$:8000**不工作
192.168.1.2是我的私有 IPV4
fe80::b00:24ff:fe62:5fa4是我的私有 IPV6
這裡有什麼問題?我必須設置一些東西嗎?
您聲稱的是您的私有 IPv6 地址不是私有 IPv6 地址。對於 IPv6,私有地址稱為 ULA(唯一本地地址),它們由RFC 4193 定義,唯一本地 IPv6 單播地址。IPv6 ULA 的範圍是
fc00::/7
,但地址的下半部分 (fc00::/8
) 保留給未來的全球權威機構分配。ULA 的後半部分(`fd00::/8)可供本地使用,但以下 40 位(全域 ID)必須由經過批准的偽隨機數生成器隨機生成,以盡量減少衝突的可能性。您所說的私有 IPv6 地址實際上是鏈路本地 IPv6 地址(
fe80::/10
參見RFC 4291,IP 版本 6 定址體系結構,第 2.5.6 節。鏈路本地 IPv6 單播地址)。每個鏈路上的每個 IPv6 介面都將使用相同的網路進行鏈路本地定址。這會導致一個問題,因為一個設備可能有多個介面,並且每個介面都將使用相同的鏈路本地網路。這意味著在使用本地鏈路地址時,設備無法確定您指的是哪個介面。為了克服這個問題,您可以在地址末尾使用範圍(介面),例如fe80::b00:24ff:fe62:5fa4%eth0
. 不幸的是,瀏覽器開發人員並沒有採用這種表示法。這意味著您無法在瀏覽器中使用 IPv6 連結本地地址。您需要
2000::/3
在網路上配置全域 ( ) 或 ULA 定址,以便在瀏覽器中使用 IPv6。