Mikrotik (RouterOS) IPv6 學習筆記 (6to4 / 6in4 TunnelBroker) 之三 (問題篇)

這一篇討論一下設定所遇到的問題,有一些我還未成功解決的。
懂的朋友請留言指教一下。

  • DNS 問題

如果設定完還沒成功試連通 IPv6 網站,可以試試 nslookup ipv6.google.com
沒法 lookup 的話就是 ISP 的 DNS 沒開通 IPv6 AAAA DNS Record,
解決方法是把 DNS 設成 Google 的 8.8.8.8 和 8.8.4.4
還有 IPv6 的 Address 為 2001:4860:4860::8888 和 2001:4860:4860::8844

2014-01-26 22_45_25-

  •  更改RouterOS 設定後,設定明明正確 Ping 卻 Request timed out.

特別發生在更改過 Address 之後,猜測可能是 Router 更改設定後,沒有通知其他 Host
結果 Windows 仍然嘗試用舊 Address 連接,而 Router 此時已經不認得舊 Address了。

解決方法是把 Windows 下把 Interface 停用再啟用
然後把 Router 的 Address Disable再Enable

兩邊應該就能協調了,要不請檢查其他設定有沒有錯了。

  • IPv6 IPv4 優先權問題 (24-Mar-2014 成功解決)

Router 設定了 TunnelBroker 後,遇到 Dual Stack 的網站會 OS 預設會使用 IPv6 連接。

連接優先權: IPv6 > IPv4 > IPv6 Tunnel

但問題是 OS 誤把 HE 的 IPv6 Tunnel 當成 Native IPv6 了。
因為 TunnelBroker 始終繞遠了一點,Throughput 比 IPv4 直接連接慢,甚至有輕微 Packet Loss。

6to4 反而沒有這問題,因為 Windows detect 到 2002::/16 的地址就知道是 6to4 連接;
而 TunnelBroker 的位址跟一般 IPv6 位址無異。

解決方法:新增一個 “Label” 讓 OS 正確設定優先權

Windows: 使用 netsh

netsh interface ipv6 add prefixpolicy ::1/128 50 0
netsh interface ipv6 add prefixpolicy ::/0 40 1
netsh interface ipv6 add prefixpolicy 2002::/16 30 2
netsh interface ipv6 add prefixpolicy ::/96 20 3
netsh interface ipv6 add prefixpolicy ::ffff:0:0/96 10 4
netsh interface ipv6 add prefixpolicy 2001::/32 5 5
netsh interface ipv6 add prefixpolicy 2001:470::/32 3 6

Ubuntu: 修改 /etc/gai.conf 如下

label ::1/128       0
label ::/0          1
label 2002::/16     2
label ::/96         3
label ::ffff:0:0/96 4
label fec0::/10     5
label fc00::/7      6
label 2001:0::/32   7
label 2001:470::/32 8
precedence  ::1/128       50
precedence  ::/0          40
precedence  2002::/16     30
precedence ::/96          20
precedence ::ffff:0:0/96  10
precedence 2001:470::/32  5

設定正確的話,ping google.com 應該預設會用回 IPv4,
而 test-ipv6.com會出現 “Your browser has real working IPv6 address – but is avoiding using it.”
但其實這樣也是正確的。

參考:http://superuser.com/questions/436574/ipv4-vs-ipv6-priority-in-windows-7

未成功解決的問題:

  • 純 IPv6 環境下抓不到 DNS

關閉了 IPv4 下的 Windows,能獲得 IPv6 Address,但不能抓到 DNS。
開啟了 ND 裡的 Advertise DNS 仍然沒用。
Google了一下好像Windows 7沒有支援SLAAC DNS,需要改成DHCPv6 Stateful 設置才可以。
然而,我還未研究出怎麼讓 Windows 7 抓到 DHCPv6…

ND裡啟動”Managed Address Configuration” 和 “Advertise DNS” 都沒效果
Google 找到一篇說要把 ND Prefix 的 Autonomous 關掉,
我新增了 DHCPv6 Server ,加入了 Address Pool,把 Address 的 Advertise 都關掉,
自行加入 Prefix,Autonomous 關掉結果Windows連 IPv6 的 Address都沒有了 🙁

按照 Microsoft 的指示 設定 routerdiscovery=disabled, managedaddress=enabled 同樣沒成功
不知道那邊出問題了

[全文完,此系列完]

One Reply to “Mikrotik (RouterOS) IPv6 學習筆記 (6to4 / 6in4 TunnelBroker) 之三 (問題篇)”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.