這篇開門見山,就直接說說兩種 IPv6 Tunnel 的 implementations 吧!
補充一下:既然是 IPv6 Tunnel,當然是你的 ISP 完全不支援 IPv6 也可以用。
6to4 的做法
首先把 IPv4 的 Address 轉成 IPv6 6to4 形式的 Prefix
除了自已計算外也可以用現成的Calculator: http://grox.net/utils/ipv6.php
我的IPv4 Address 183.179.146, 換算後就是 2002:b7b3:9209::/48
經查證後,由於 IPv6 的 Stateless address autoconfiguration (SLAAC) 必需有 /64 的網段才能運作 (大了小了都不行…)
所以必需Subnet成/64的網段才能 分派 (Advertise) 出去給其他 Host 使用 (光是這一點就弄了我大半個小時)
我們就把 2002:b7b3:9209::/48 Subnet 成 2002:b7b3:9209:1::/64吧
實際作法:
# 首先加入 6to4 介面
/interface 6to4 add local-address=183.179.146.9 mtu=1280 name=sit2 remote-address=192.88.99.1# 然後為 Router 及 Subnet內的Host分派 IPv4 Address
/ipv6 address add address=2002:b7b3:9209:1::1/64 interface=sit2
/ipv6 address add address=2002:b7b3:9209:2::1/64 interface=bridge-local# 加入 2000::/3 的 Route (把所有IPv6的流量Route出去)
/ipv6 route add distance=1 dst-address=2000::/3 gateway=sit2
- 不用設 DHCPv6 Server 因為 IPv6 的 SLAAC 功能 可以透過 PD 協議自己分配 IPv6 Address
- ND也不用加,上面加入Address既,RouterOS預設有開啟 “Advertise” 一項 (用Winbox可以看到)
會自動新增Dynamic Prefix 給 ND 協議
這樣就已經可以了 此時打開 http://test-ipv6.com/ 應該可以跑到 7/10 的分數還有3分應該是因為用 6to4 被扣掉了
官方Wiki的6to4教學:
http://wiki.mikrotik.com/wiki/Setting_up_an_IPv6_tunnel_via_6to4
HE Tunnel Broker 6in4 的做法
1. 申請一個 tunnelbroker.net 的帳戶
2. 如果有設定 Firewall 把 Router WAN 端的 ICMP Packet 設為 “allow”
tunnelbroker.net 必須 Ping 到你的 Public IPv4 Address 才給你繼續
3. “Create Regular Tunnel” 申請一條 Tunnel ,”IPv4 Endpoint” 填上自己的 Public IPv4 Address
完成後應該看到這個畫面:
Server IPv6 Address 和 Client IPv6 Address 分別是 HE 的 Server 和 Router 的 Endpoint address
這雖然這看似一整個/64 Subnet,但這是不能用來分配給其他Host的 可不要搞錯了
Routed /64 和 Routed /48 才是你分配到的 IPv6 Address
再提一次 /48 的必須 Subnet 才能給 ND 分配
實際作法:
# 加入 6to4 介面
/interface 6to4
add local-address=183.179.146.9 mtu=1280 name=sit1 remote-address=216.218.221.6# 為 Router 及 Subnet內的Host分派 IPv4 Address
# 我把 /64 和 /48 的子網都加進去了 IPv6 Address多了沒關係
/ipv6 address add address=2001:470:18:19::2/64 interface=sit1
/ipv6 address add address=2001:470:19:19::1/64 interface=bridge-local
/ipv6 address add address=2001:470:f885:1::/64 interface=bridge-local# 加入 2000::/3 的 Route (把所有IPv6的流量Route出去)
/ipv6 route
add distance=1 dst-address=2000::/3 gateway=sit1
現在打開 http://test-ipv6.com/ 應該就跑到 10/10 的分數 (看起來比 6to4 的酷)
官方 Tunnel Broker 教學(比較複雜 混雜很多其他的東西):
http://wiki.mikrotik.com/wiki/Manual:My_First_IPv6_Network#Tunnel_broker
HKIRC goIPv6
這部分基本上是順道吐槽一下而已: HKIRC 最近有提供一個 TunnelBroker服務 goIPv6: https://www.hkirc.hk/goipv6/index.html
(只提供一個 /64 Subnet,DNS還是用Google的)
同樣是免費申請的,滿心以為本地 ISP 的 TunnelBroker 會比較快和比較穩定。
一試之下果然不得了,但是慢和 Packet loss到不得了。
晚上 Packet Loss 可達 50% 以上,開啟後連上 Google 也有困難…
看一看他們的Service FAQ 跟 User Guide 裡面竟然有一條:
Is there any bandwidth limitation for goIPv6 services?
Yes, since there are only a limited amount of bandwidth shared by all customers, there is currently a 1Mbps limit set per tunnel.
我的天!1Mbps 1Mbps 1Mbps? 今時今日 1Mbps 的 bandwidth 能幹嘛? 只用來跑 test-ipv6.com 吧?
Update: 現在 goIPv6 還改成 invite only的,不過Google還找到申請連結。
但相信看完後應該沒人想申請吧? HE 甚至 6to4 比這還好。
設定途中有幾個可能遇到的問題,下一篇再談。
[本篇完]
搜尋之下找到這篇, 請問可知道如何在 DD-WRT 裡設定 6to4 和 6in4, 我試了幾種方法都連不上…