v6プラス「固定IPサービス」をRouterboardで設定してみた。

「v6プラス」固定IPサービス | 日本ネットワークイネイブラー株式会社
NTT東西が提供する次世代ネットワーク(NGN)フレッツ光ネクストにおいて、IPv6 IPoE (ネイティブ方式)接続をISP様へインターネット接続ローミングサービスを提供します

2019年5月8日:訂正

v6プラスの固定IPサービスの場合、MAP-Eにより通信しているわけではないため、件名より、MAP-Eを削除いたしました。お詫びして訂正いたします。

2019年5月8日:追記

MAP-E自体を設定できるわけではありません。v6プラスの固定IPサービスの場合、HGWからDHCPv6を払い出し、それを受けてIPv4 over IPv6トンネルを張ることでIPv4を、IPv6はネイティブでの通信を実現しています。言葉足らずで申し訳ありません。


最近はISPが提供するNTTフレッツを使用したIPv4 PPPoEなサービスでは、特定の時間での速度の低下がよく聞かれますが、それを回避する手段として、IPv6な回線にオフロードする手段が取り上げられるようになりました。

IIJなどが提供するDS-liteや、JPNEが提供するMAP-E(v6プラス)などがあります。

DS-liteなどはIPv4 over IPv6トンネルが設定できるルータであれば使用できるようで、結構YAMAHA RTXやNEC IXなどの設定が散見されます。

一方でMAP-E(v6プラス)ですが、サービス提供方法が特殊なせいで、設定できるルータが限定されています。ひかり電話を使用していればHGWがあるのでどれでも使用できますが、余計なランニングコストがかかってしまいます。

ですが、なんやら特定の条件?でv6プラスについては、固定IPサービスが使用できるようです。そして、この場合であれば、IPv4 over IPv6トンネルが設定できるルータであれば使用できるのです。

一番下に追記アリ(2017-11-12):

全体的に設定見直し(2021/01/30)

最初に

まぁ、すでにRouterboardを使用してIPv4 over IPv6トンネルを設定した方法での手順については、公開されている方々がいらっしゃいます。

https://hr-sano.net/blog/2017/10/17/how-to-configure-ipv6-ipoe-ds-lite-in-routerboard/
こちらの方々はIIJのDS-liteの場合です。筆者の場合はv6プラスを使用した環境で設定できたので、備忘録として残しておこうと思います。

といっても、IPv4 over IPv6を使用していることには代わりはないので、とくに目新しいことはありません。

上で上げている方々は基本的にGUI(wegfig)での設定のようなので、今回はCLIで設定をした場合にしようかと思います。

ちなみに筆者の環境は、【ひかり電話を契約している場合:DHCPv6-PD】なので、HGWを使用していない場合は若干違う可能性があります。

設定方法

1. IPIPv6トンネルを設定するインターフェースの設定

/ipv6 dhcp-client
add add-default-route=yes interface=<ONUと接続しているインターフェース> pool-name=<適当に> request=prefix

2. IPIPv6トンネルインターフェースの受け側の設定

/ipv6 address
add address=<プロバイダから払い出されるネットワークのマスクアドレス> comment="default gateway ipv6" from-pool=<1. で設定したpool名> \
interface=<ONUに接続しているインターフェース>

3. BRとのIPIPv6トンネルの接続のためのIPv6アドレス設定

/interface ipipv6
add clamp-tcp-mss=yes comment=v6_plus local-address=<2. で割り振られたIPアドレス> mtu=\
    1460 name=ipipv6-v6plus remote-address=<プロバイダから通知されたBRのアドレス>

4. IPIPv6トンネルへ透過させるIPv4アドレス設定

/ip address
add address=<プロバイダから通知された固定IPアドレス> interface=ipipv6-v6plus

5. LAN側インターフェース設定

/ipv6 address
add address=::1 comment="default gateway ipv6" from-pool=<1. で設定したpool名> interface=bridge1

6. NAT設定

/ip firewall nat 
add action=masquerade chain=srcnat comment="NAT ipipv6" out-interface=ipipv6-tunnel1 
/ip firewall mangle 
add action=change-mss chain=forward comment="Clamp MSS to PMTU" new-mss=clamp-to-pmtu passthrough=yes \ 
protocol=tcp tcp-flags=syn
/ipv6 firewall mangle 
add action=change-mss chain=forward comment="Clamp MSS to PMTU" new-mss=clamp-to-pmtu passthrough=yes \ 
protocol=tcp tcp-flags=syn

7. DHCP設定

/ip dhcp-server
add address-pool=dhcp_pool1 disabled=no interface=bridge1 name=dhcp1
/ip dhcp-server network
add address=192.168.88.0/24 gateway=192.168.88.1

8. 経路設定

/ip route
add check-gateway=ping distance=1 gateway=ipipv6-tunnel1
/ipv6 route
add dst-address=::/0 gateway=ether1 check-gateway=ping type=unicast distance=1

9. DNS設定

/ip dns
set allow-remote-requests=yes cache-size=50000KiB max-concurrent-queries=200 \
    max-concurrent-tcp-sessions=40 servers=208.67.222.222,208.67.220.220,2620:0:ccc::2,2620:0:ccd::2

上記に記載した設定については、あくまで最低限のものになります。

見てわかりますように、/ip firewall filter/ipv6 firewall filterの設定がありません。基本的にはIPv4についてはPPPoEで接続していたときの設定が使用できると思います。ただし、in-interfaceなどを使用している場合は、all pppなどを使用していないことを確認してください。今回の場合はPPPoEなどでの設定ではないので、all pppなどを使用していると、そのルールは使用されません。

IPv6については、特にベーシックなものから変更や特別に追記するようなルールは無いはずです。(筆者のほうで記憶違いがありましたらご指摘ください。)

筆者の場合は、通常のIPv4 PPPoE → IPv4 PPPoE + IPoE → v6プラス →v6プラス固定IPサービス と、どんどんとネットワーク環境を切り替えてきたため設定を昔から引き継いでおり、秘伝のタレと化していたことがちょっとハマりどころでした。というのも、/ip firewall natmangleに設定していたパラメータが悪さをしており、パケットがLANからWANへ飛ぶものの、replyが返ってこないという状況でした。(これで3週間ほど悩んでおりました。)

これでPingやtracerouteなどを使用していただくと、外への通信が可能になるかと思います。

確認

以下のWebサイトなどを使用していただくと、IPv6のISPがJPNEになっていることを確認できるかと思います。

IPv6 test - IPv6/4 connectivity and speed test
IPv6-test.com is a free service that checks your IPv6 and IPv4 connectivity and speed. Diagnose connection problems, discover which address(es) you are currentl...

ということで、RouterboardもDS-liteおよびv6プラス固定IPサービスに(非公式ながら)対応していますよ、という内容になります。(まぁRFCに規定されているの設定はできるはずです)

ここの内容間違っているよ、や、ここがよく分からない、などありましたら、コメントやTwitterなどでご連絡いただければ、なるべくご回答するようにいたします。

参考スループット

  • CCR1009-8G-1S-1S+
  • RouterOS v6.48beta40
  • v4 filter 84個
  • v6 filter 27個

CCR1009初期型であること、計測した時間が混雑する時間であることから低いかなと思います。CCR1009から見るとCPU使用率については100%で張り付くようなことになっているものはありませんでした。また、計測する時間帯については、今度朝一番などに計測してみようと思います。

その他

公式で対応しているよ、というメーカ様の設定Webサイトは以下になります。

タイトルとURLをコピーしました