フレッツでPPPoEとDS-Liteの併用 on RTX1210

NTTフレッツのIPv4接続は、プロバイダーや地域にもよるけど、混雑時の遅延がひどい。IPv6オプションを追加してIPv4接続を旧来のPPPoEからIPv4 over IPv6に変更すると速くなるらしい。

しかし、IPv4 over IPv6にすると、プロバイダーのオプションで契約している固定IPが使えなくなる。さらに、ヤマハのルーターで使えるネットボランチDNSというDDNSサービスも使えなくなる。そうなるとVPNで拠点間接続やリモートアクセスを利用してたり、宅鯖を運用してたりすると全部ダメになるので、PPPoE接続を止めてIPv4 over IPv6に完全移行するわけにもいかない。

幸い、IPv4 over IPv6の利用を始めたからと言って、PPPoEの接続が出来なくなるわけではなく、両方を同時に利用することは可能ということなので、色々試行錯誤して、PPPoEの固定IP接続を維持して外部からのVPN接続をこれまで通り行いつつ、内部からのインターネット接続はIPv4 over IPv6を通すための設定を行った時の覚え書き。

回線契約はフレッツ光ネクスト。10Gのフレッツ光クロスは現状PPPoE接続が事実上出来ないので、このページの情報には当てはまらない。

プロバイダーはアサヒネット。IPv4 over IPv6にはいくつかの方式があって、アサヒネットではDS-Liteという方式を使っている。ビッグローブ等ではMAP-Eという別の方式を使っているので、これまたこのページの情報は当てはまらない。

ルーターはヤマハRTX1210。ファームウェアはRev.14.01.14以降。

前提として、PPPoEによるインターネットプロバイダー接続、IPoEによるIPv6接続、固定IPの取得、VPN接続設定は既に出来ているものとする。それらの設定手順についてはここでは記載しない。

まず、アサヒネットのマイページから入り、接続用IDのIPv6接続機能契約確認ページでIPv4 over IPv6接続の利用申請を行う。申請してから利用できるようになるまで数日かかる。利用できるようになったら表示が「提供中(DS-Lite方式)」に変わる。

NTTのレンタルルーターを使っているなら自動で接続情報が配信されてIPv4 over IPv6で通信するよう勝手に設定されるが、その下にルーターを繋いだり、ONUから直接ルーターに繋いだりしていると、自分でルーターを設定しないとIPv4 over IPv6は使えない。

さてここからRTX1210の設定。PPPoEはPP1、VPN接続用トンネルは拠点間接続をtunnel1、リモートアクセスをtunnel2として既に設定済みとする。IPアドレスやフィルター番号等の値は任意で。

まずIPv4 over IPv6(DS-Lite)接続のためのトンネルを掘る。

tunnel select 3
 description tunnel DS-Lite
 tunnel encapsulation ipip
 tunnel endpoint name dslite.v6connect.net
 ip tunnel mtu 1460
 ip tunnel secure filter in 200003 200020 200021 200022 200023 200024 200025 200030 200032 200102 200103 200104 200105
 ip tunnel secure filter out 200013 200020 200021 200022 200023 200024 200025 200026 200027 200099 dynamic 200080 200081 200082 200083 200084 200085 200098 200099
 ip tunnel tcp mss limit auto
 tunnel enable 3

エンドポイントの指定はファームウェアのバージョンによってはFQDNでは繋がらないので、dslite.v6connect.net宛にNSLOOKUPまたはPINGを打って出てきたv6形式のIPアドレスを指定する。

 tunnel endpoint address (IPアドレス)

このIPアドレスは将来変わる可能性があるので、繋がらなくなったらその都度確認しなければならない。

トンネル用フィルターはPP1に設定されているものをin・outとも丸写しで(PPPoE接続の設定をウィザードでやったら自動設定されてるはず)。

これでRTX1210のダッシュボードの「VPN接続状態(拠点間)」の欄に「DS-Lite」が接続されている表示が出てればOK。

次にDS-Liteのトンネルに通すLAN内IPアドレスの範囲を決める。セグメントを切ったりするのは面倒なので、DHCPでIPアドレスを配給しているクライアントの接続を全部DS-Liteに回す、ということにする。

DHCPのアドレス範囲の設定例

dhcp scope 1 192.168.1.11-192.168.1.100/24

サーバーやリモートアクセスクライアントに割り当てるIPアドレスはこの範囲から外しておく。

リモートアクセス用IPアドレス割り当ての設定例

pp select anonymous
 ip pp remote address pool 192.168.1.101-192.168.1.110

次に、DHCPクライアントをDS-Lite側に振る為のフィルターを追加する。

ip filter 100101 pass 192.168.1.11-192.168.1.100 * * * *

フィルターを追加したら、デフォルトゲートウェイの設定を変更する。

ip route default gateway pp 1 gateway tunnel 3 filter 100101

これで、DHCPでIPアドレスを取得しているクライアントの通信はDS-Lite接続に送り、それ以外の通信は従来通りPPPoE接続で行うように出来た。DHCPクライアントからhttps://route.asahi-net.jp/にアクセスして「接続可(DS-Lite)」と出ていれば成功。拠点間接続やリモートアクセスもとりあえず問題なく動作している。ネットボランチDNSは使ってないけどこれでたぶん行ける。

なお、私の環境ではこれでなんとかなったけど、他所での動作は一切保証しない。


おまけ

ファームウェア更新等でRTX1210を再起動すると、本体はIPv6のアドレスを取得して通信も確立しているのに、配下のクライアントにはIPv6のIPアドレスが配給されない現象が起きる。そんな場合は以下のコマンド(ひかり電話の契約がない場合)でIPv6のRAプロキシ機能を再起動する。

no ipv6 lan1 address ra-prefix@lan2::1/64
ipv6 lan1 address ra-prefix@lan2::1/64

2022/1/10


戻る