我的 ISP 是德國北威州 Unitymedia。它是一個電纜(如電視)ISP,它給了我一個 Technicolor TC7200 數據機/路由器。 ISP 使用 DS-Lite,所以我只有公共 IPv6 位址,沒有 IPv4 位址。這是可行的,除了調製解調器/路由器的選項非常有限且可以遠端管理之外,我希望在 ISP 和我的家庭網路之間擁有自己的路由器。
當我剛擁有 TC7200 時,我的電腦具有以下全域 IPv6 位址:
2a02:908:f421:7600:3c4e:c650:974c:ec49/64
2a02:908:f421:7600:f2de:f1ff:fede:a290/64
當我訪問 Firefox 外掛程式「IPvFox」等頁面時,google.com
我facebook.com
會看到它們確實透過 IPv6 載入。
現在我買了一台TP-Link WDR3600路由器並將其設定在我的電腦和數據機之間,例如這裡的路由B:
我將 WDR3600 的 WAN 設定為透過 DHCPv6 取得 IPv6 位址。這樣就可以了,它獲得了一個 IP 位址。然後,它使用 DHCPv6 為連接的裝置分配 IPv6 位址。這也有效,我的電腦上取得了 IPv6 位址。從內到外,這些是整個事物的 IPv6 位址:
2a02:908:f421:7600:f2de:f1ff:fede:a290/128 Computer LAN
2a02:908:f421:7600:ea94:f6ff:fed4:2624/64 WDR3600 LAN
2a02:908:f421:7600::e/64 WDR3600 WAN
2a02:908:f421:7600:ce35:40ff:fee0:9498/64 TC7200 LAN
2a02:908:f400:2:31c9:7cf5:eb4:75e2/128 TC7200 WAN
當我打開 時google.com
,需要很長時間,然後它會透過 IPv4 快速載入內容。我假設它嘗試通過 IPv6 但在超時後失敗。facebook.com
載入速度很快,也透過 IPv4。
所以我設法中斷了 IPv6 連線。我確實希望在 ISP 和我的家庭網路之間有一個由我控制的路由器,但沒有 IPv6 連線似乎是個壞主意。
在另一個論壇(德語),有人提到大多數路由器都會出現這種行為。運行最新版本 Barrier Breaker 的 OpenWrt 的路由器除外。有什麼辦法可以用原廠韌體嗎?他們有個模擬器在線的。您可以進入“IPv6 支援”並查看它具有的所有選項。
答案1
這裡缺少一條重要訊息:
- 路由器 Technicolor 7200 不支援前綴委派,也不支援橋接 (13.10.14)。它被 Unitymedia 德國和 KabelBW 禁用。
- 操作彼此後面的兩個路由器需要前綴委派,如下所示(閱讀答案 1、2 和 4e,這是來自 CPE,我沒有找到實際的規範): http://www.psg.com/lists/v6ops/v6ops.2008/msg00086.html
了解 1) 和 2) 後,您必須清楚一件事:由於 TC7200 無法提供前綴委派,並且您無法更改路由器,因此唯一可以拯救您的是某種 hack。我懷疑您的 WDR3600 是否會實施這種駭客攻擊(我認為這種駭客攻擊不存在,甚至不可能)。
說到這裡,我們至少談談理論上的解決方案。請記住一件事:ipv6 沒有 NAT。
ipv4 可以工作,因為你的路由器知道如何路由它:
- 您的電腦請求 ipv4 套件。
- 它會轉到 WDR,WDR 重寫來源,wiki:「當專用(內部)網路上的電腦向外部網路發送 IPv4 封包時,NAT 裝置會取代封包標頭的來源欄位中的內部 IP 位址(傳送者位址)與NAT 裝置的外部IP 位址」(Google 維基百科,NAT Translation_of_the_endpoint)
- TC7200 執行相同的操作(然後透過 unitymedias ds-lite 系統路由它)。
--> NAT 允許封包遍歷所有路由器,因為封包在每個步驟都知道要去哪裡。
ipv6
- 你的電腦發送一個 ipv6 包
- 您的路由器按原樣轉發它(也許)
- TC7200同上
- 它回來了
- TC7200 無法將其路由得更遠,因為您的 PC 位於 WDR 後面,而 TC7200 不知道它在那裡。它不知道如何進一步路由它。它沒有委託其子網,因此它是該子網所有位址的主人。如果它確實委託了其子網,它會將封包傳送到該子網路被委託的下一個路由器。它沒有理由聯絡您的路由器。
- 包被丟棄 --> 無 NAT 意味著目標必須位於路由器自己的網路中,除非該網路部分委託給另一個路由器。
所以你的設定不起作用的原因是:NAT 不存在。 TC7200 不知道使用相同子網路的其他路由器。
從這個意義上說,我也不同意您發布的 OpenWRT 解決方案:您提到的解決方案在這個線程中得到了最好的解釋(我沒有檢查解釋的有效性,但它確實有意義:URL:unitymediakabelbw論壇)
鬆散翻譯:「OpenWRT 解決方案不會橋接接口,而是重複使用與 WAN 相同的子網前綴(因此也打破了 ipv6 規範)。然後您之間將有一個路由器,它有自己的 ipv6 防火牆、自己的DNS 等(...)如果它只是支援前綴委託(...),那麼所有這些都不是必需的。
我不知道如果 OpenWRT 不偽造設備或橋接網路(從而破壞路由器背後的整個路由器的想法),這應該如何實現。我看到的唯一可能的解決方案是,OpenWRT 路由器是否會在WAN 接口上使用每個DHCP-v6 用戶端的MAC 位址建立一個虛擬橋接接口,並將所有流量1:1(當然透過防火牆)路由到橋接IP 。這將使 TC7200 知道。我會向論壇帖子的作者以及 OpenWRT 開發人員詢問該解決方案。
答案2
現在我想得更久了,我確信您沒有正確配置 WDR3600。您必須將其設定為在 LAN 上傳送帶有單獨網路前綴的路由器通告。經過有根據的猜測,我發現您的路由前綴為 2a02:908:f421:7600::/56。也就是說,您有 256 個子網路 ID 可供使用(其中 00 已使用)。為連結「B」選擇另一條連結並相應地設定路由器。