[Mikrotik][Routerboard] RouterboardシリーズでHurricane Electric IPv6 Tunnel Brokerを利用してIPv6を利用する方法。

mikrotik

最近巷で流行の兆しが見えてきている、MikroTik社のRouterboardですが、自宅でIPv6を使用したいけど、使用できないという方は、Hurricane Electric IPv6 Tunnel Broker(以下HE.net)というサービスがあります。

ここは無償でIPv6アドレスのTunnelを作り仮想的にIPv6アドレスを払いだしてくれるサービスです。

というわけで、RouterboardでHE.netを利用するコマンドを以下に紹介します。

手順

Hurricane Electric Internet Services - Internet Backbone and Colocation Provider
/interface 6to4 add comment="Hurricane Electric IPv6 Tunnel Broker" \
disabled=no local-address=<ルータ側に割り当てられたIPv6アドレス> \
mtu=1280 name=sit1 remote-address=<he.netの対向のIPv4アドレス>
/ipv6 route add comment="" disabled=no distance=1 dst-address=2000::/3 \
gateway=<Server IPv6 Address:で指定されているIPv6アドレス> scope=30 target-scope=10
/ipv6 address add address=<Client IPv6 Address:で指定されているIPv6アドレス> \
advertise=yes disabled=no eui-64=no interface=sit1

一旦ここでRouterboard自身からping6を実行し、間違いなくIPv6通信ができることを確認します。

[admin@MikroTik] > ping [:resolve ipv6.google.com]
HOST                                     SIZE TTL TIME  STATUS
2404:6800:4004:805::1012                   56  59 15ms  echo reply
2404:6800:4004:805::1012                   56  59 8ms   echo reply
2404:6800:4004:805::1012                   56  59 7ms   echo reply
2404:6800:4004:805::1012                   56  59 15ms  echo reply
2404:6800:4004:805::1012                   56  59 9ms   echo reply
2404:6800:4004:805::1012                   56  59 7ms   echo reply
2404:6800:4004:805::1012                   56  59 15ms  echo reply
sent=7 received=7 packet-loss=0% min-rtt=7ms avg-rtt=10ms max-rtt=15m

あとは、RouterBoard自身のDHCPv6Server機能を利用して、内側のネットワーク内にIPv6を払い出すようにしてやることで、外部にIPv6通信ができるようになると思います。

/ipv6 dhcp-server
add address-pool=he.net disabled=no interface=internal name=kometch.local
/ipv6 pool
add name=he.net prefix=<HE.netで払いだされたIPv6アドレスレンジ>/64 prefix-length=64
/ipv6 address
add address=<Server IPv6 Address:で指定されたIPv6アドレス> comment="default gateway ipv6" interface=internal
add address=<Client IPv6 Address:で指定されたIPv6アドレス> interface=sit1
add distance=1 dst-address=2000::/3 gateway=<HE.netで払いだされたIPv6アドレスレンジ>
/ipv6 firewall filter
add chain=input comment="Router - Allow IPv6 ICMP" protocol=icmpv6
add chain=forward comment="LAN - Accept ICMPv6 " protocol=icmpv6
add chain=input comment="Router - Accept established connections" connection-state=\
established
add chain=input comment="Router - Accept related connections" connection-state=related
add chain=input comment="Router- UDP" protocol=udp
add chain=forward comment="LAN - Accept UDP" protocol=udp
add chain=forward comment="LAN - Accept established Connections" connection-state=\
established
add chain=forward comment="LAN - Accept related connections" connection-state=related
add action=log chain=forward comment="LAN - Log everything else" disabled=yes \
log-prefix="Log IPv6"
add action=drop chain=input comment="Router - Drop invalid connections" \
connection-state=invalid
add action=drop chain=input comment="Router - Drop other traffic"
add action=drop chain=forward comment="LAN - Drop invalid Connections" connection-state=\
invalid
/ipv6 settings
set accept-router-advertisements=yes

後は内側にあるPCからもpingを実行し、外部とのIPv6通信の疎通ができることを確認します。

C:\Users\kometch>ping -6 ipv6.google.com

ipv6.l.google.com [2404:6800:4004:805::1012]に ping を送信しています 32 バイトの
データ:
2404:6800:4004:805::1012 からの応答: 時間 =8ms
2404:6800:4004:805::1012 からの応答: 時間 =9ms
2404:6800:4004:805::1012 からの応答: 時間 =10ms
2404:6800:4004:805::1012 からの応答: 時間 =12ms

2404:6800:4004:805::1012 の ping 統計:
パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
最小 = 8ms、最大 = 12ms、平均 = 9ms

今回は全てコマンドで実施しましたが、これらの操作は全てWebfigならびにWinBoxを利用したGUIからも行うことが出来ます。

それでは楽しいIPv6ライフを。

ちなみに

Example Configurationとして、トンネルを作成すると対応するパラメータに合わせた設定を出力してくれるのでそれを利用するのもありだと思います。

この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

kometchtechをフォローする
タイトルとURLをコピーしました