Mikrotik (RouterOS) IPv6 學習筆記 (6to4 / 6in4 TunnelBroker) 之二 (實作篇)

這篇開門見山,就直接說說兩種 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 被扣掉了

2014-01-26 22_41_30-Network Connections

官方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
完成後應該看到這個畫面:

2014-01-20 23_37_24-Tunnel Details

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 的酷)2014-01-26 22_26_22-Test your IPv6.

官方 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

2014-01-26 23_47_45-goIPv6 - Taking you to the future of the Internet

(只提供一個 /64 Subnet,DNS還是用Google的)

同樣是免費申請的,滿心以為本地 ISP 的 TunnelBroker 會比較快和比較穩定。
一試之下果然不得了,但是慢和 Packet loss到不得了。
晚上 Packet Loss 可達 50% 以上,開啟後連上 Google 也有困難…

看一看他們的Service FAQUser 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 比這還好。

設定途中有幾個可能遇到的問題,下一篇再談。

[本篇完]

One Reply to “Mikrotik (RouterOS) IPv6 學習筆記 (6to4 / 6in4 TunnelBroker) 之二 (實作篇)”

  1. 搜尋之下找到這篇, 請問可知道如何在 DD-WRT 裡設定 6to4 和 6in4, 我試了幾種方法都連不上…

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.