フレッツ光回線では夜間の通信混雑時の速度低下に対応するため、もはや「IPv4 over IPv6」での通信が必須となっています。
「IPv4 over IPv6」による通信を行うことで通信が混雑する夜間の時間帯でも快適なインターネット利用が可能となります。
その一方で「IPv4 over IPv6」では通信回線に付与されるIPv4アドレスが完全なIPv4アドレスではないため、「外出先から自宅へ接続できない」「特定の宛先へ通信できない(VPN通信など)」という弊害があります。
こんな場合に「IPv4 over IPv6」に加えて従来の通信方式「IPv4/PPPoE」を併用することで完全なIPv4アドレスを使った通信環境を構築することができます。
この記事では楽天ひかり回線を例にとり、楽天ひかりのクロスパス(DS-Lite)とPPPoEを1台のルーター(GL.iNetトラベルルーター)で併用できる環境を構築していきます。
フレッツ光回線でIPv4 over IPv6とPPPoEをどちらも使いたい!
フレッツ光回線はスマホや動画サービスの普及そして利用者の増加により、従来の通信方式「IPv4/PPPoE」では夜間の通信混雑時には動画も見れないほど速度低下してしまいます。
この問題の解決策として「IPv4 over IPv6(MAP-e/DS-Lite)」による通信方式を利用することで、通信混雑を回避して夜間でも快適な通信が可能となります。
もはやフレッツ光回線ではIPv4 over IPv6は必須の通信方式となりました。
IPv4 over IPv6の「ちょっと困った!」
IPv4 over IPv6通信方式はWAN側に付与されるIPv4アドレスが「完全なIPv4アドレスではない」という特性があることから、使い方によって以下のような「ちょっと困った!」が発生します。
- 外出先から自宅へ接続できなない
- 特定のプロトコル(L2TP/IPSecなど)が使えない
- 自宅サーバーがインターネット公開できない
上記以外にもさまざまな現象が起きる場合がありますが、プロバイダー契約時には「従来のサービスは利用できなくなる場合があります」という約款一言で済まされています。
つまりIPv4 over IPv6により通信速度的には快適な環境が手に入るわけですが、一方で長いIPv4通信の歴史の中で一般的となっている仕組みの中の一部はIPv4 over IPv6環境では使えない、ということです。
IPv4 over IPv6とPPPoEの併用による回避
このような「ちょっと困った」の現象が起きた時に便利なのが「従来のIPv4/PPPoEを併用する」という通信環境です。
通常のインターネット利用では夜間でも高速なIPv4 over IPv6通信を使い、Pv4 over IPv6では苦手な「IPv4固有のサービス」を利用する場合には従来の通信方式「IPv4/PPPoE」通信を利用する、という使い方です。
併用環境構築の問題点「2台のルーターが必要」
このような併用環境は一般的な市販ルーターでは構築できません。
一般的な市販ルーターではインターネット接続方式として1つの方式のみ設定でき、複数(DS-LiteとPPPoE、など)の通信方式が定義できません。
このため、一般的には2台のルーター(IPv4 over IPv6用ルーター/PPPoE用ルーター)を使い、複雑な配線と複雑なルーティング定義により併用環境を構築します。
あまりルーターの設定に慣れていない人にはむつかしいかもしれません。
1台のルーターでIPv4 over IPv6とPPPoEの併用環境を構築する
この記事ではルーター1台でIPv4 over IPv6通信とPPPoE通信が可能となる環境を構築していきます。
1台のルーターで構築するので配線の組みなおしも不要、面倒なルーティング設定も不要、ということになります。
この「1台のルーターで構築」のために、通常の市販ルーターでは不可能な「複数インターフェースが定義できる」ルーターとしてGL.iNetトラベルルーターを使用します。
GL.iNetトラベルルーターは香港のGL.iNetが製造・販売している高性能カスタムルーターOpenWrtを活用した小型家庭用ルーターです。
GL.iNetトラベルルーターで「DS-Lite」と「PPPoE」を併用する
このような経緯を経てGL.iNetトラベルルーターでDS-Liteを使ってみたのでその設定手順を記事にします。
ざっくりとした手順は以下のようになります。
- STEP1「管理パネル(Admin Panel)」からIPv6基本設定
- IPv6を「NAT6モード」で有効化
- マルチWANを「有線をIPv6で追跡監視」に設定変更
- STEP2詳細設定画面「LuCI」からIPv6詳細設定
- IPv6用インターフェース(WAN6)のデバイス名を変更
- DS-Liteモジュールをダウンロード&インストール
- ルーターの再起動(DS-Liteモジュールの設定反映)
- IPv4用インターフェース(WAN)をDS-Liteプロトコルに変更
- STEP3詳細設定画面「LuCI」からPPPoE接続設定
PPPoEインターフェース定義を行います
- STEP4詳細設定画面「LuCI」から個別宛先のルーティング設定
PPPoE通信を利用する個別宛先へのルーティングを定義します
つまり、「まずはDS-Lite通信環境(メイン回線)を設定する(Step1/Step2)」「次に個別宛先での通信で使うPPPoE(サブ回線)を定義する(Step3/Step4)」という作業手順となります。
本記事の前提条件
本記事での前提条件を明記しておきます。
GL.iNetトラベルルーター「GL-AXT1800(Slate AX)」
使用するGL.iNetトラベルルーターは「GL-AX1800(Slate AX)」です。
理由は「私が所有しているGL.iNetトラベルルーターの中で最新機種」だからです。
すでに旧機種となってしまいました。
最新機種は有線2.5GbE対応の「GL-MT3000(Beryl AX)」です。
しかし、ルーターやスイッチングハブなどでは2.5GbE/10GbE対応製品はよく不具合も出ているようです。
よって最新機種「GL-MT3000(Beryl AX)」よりも「GL-AXT1800(Slate AX)」のほうが安定動作するのでは?と期待しています。
ファームウェアバージョン4.2.3
ファームウェアバージョン4.2.3で検証しています。
※記事執筆時点での最新版
それ以外の(古い)ファームウェアでも動作しますがファームウェアバージョンが異なると画面構成や用語(日本語訳含めて)が異なる部分が出てきます。
ファームウェアバージョン4.0.0でも本記事記載の手順で(一応)動作したので古くても大丈夫だとは思いますが、一応「ファームウェア4.2.3で検証しています」ということです。
また、ファームウェアバージョンに加えて「ファームウェアが初期化されている」ことを前提としています。
管理パネル(Admin Panel)メニューの「システム > ファームウェアをリセットする」からファームウェアを初期化しておいてください。
ネットワーク環境
すでにフレッツ光回線が開通していることを前提としています(当たり前)。
また、本記事ではフレッツ光回線として楽天ひかりを題材としています。
他のフレッツ光回線でもよいですが、「DS-Lite通信方式に対応している」「PPPoE環境が使える」という条件があります。
DS-Lite設定① 「管理パネル(Admin Panel)」での設定
GL.iNetトラベルルーターでDS-Liteの設定を行うには「管理パネル(Admin Panel)で概略を定義」したうえで、「詳細設定画面(LuCI)によりインターフェース定義を微調整」という手順を踏みます。
本記事は基本的にGL.iNetトラベルルーターを初期化(ファームウェアをリセット)した状態からの設定を前提としています。
「IPv6」を「NAT6モード」で有効化
管理パネルメニュー「ネットワーク > IPv6」からIPv6機能の有効化およびIPv6の動作モードを設定します。
「IPv6起動中」(本当は起動していないけど)の横のスライダーを右へスライドしてIPv6を有効化します。
IPv6動作モードは「NAT6」
IPv6の有効化時には動作モードも合わせて設定します。
「動作モード」と「DNS取得方法」を以下のように選択設定します。
モード | NAT6 |
---|---|
DNS取得方法 | Automatic |
上記の設定をしたら「適用する」ボタン押下します。
以上でIPv6がNAT6モードで有効化されました。
マルチWANの設定変更
GL.iNetトラベルルーターにはマルチWAN機能(mwan3モジュール)があり、複数のインターネット接続(有線・テザリング・リピーター)を同時に使って「フェイルオーバー」や「ロードバランス」してくれる機能が常に動作しています(停止できません)。
このマルチWAN機能は常時回線インターフェースの死活監視を行っています。
管理パネル(Admin Panel)でIPv6を有効化するとOpenWrt側でIPv6インターフェースが有効化されるため、この死活監視の対象も「IPv6」に設定しておきます。
管理パネルメニュー「ネットワーク > マルチWAN」から設定変更します。
「インターフェースの追跡方法」の「有線」に対して右のマークから設定を変更します。
「インターネット状況追跡を有効にする」がオン(右スライド)になっていることを確認し(オフならオンにする)、「トラックプロトコルをIPv6」へ変更します。
変更したら「適用する」ボタン押下で終了。
なお、マルチWAN機能では「フェイルオーバー」「ロードバランス」の選択が可能です。
初期値は「フェイルオーバー」となっていますが、わかっている人で「ロードバランス」したい人はそれでいいですが、よくわからない人は「フェイルオーバー」にしておきます。
詳細設定メニュー「LuCI」へ
以上で「管理パネル(Admin Panel)」上での設定は完了です。
これ以降の設定は「詳細設定」画面としてOpenWrtの管理画面「LuCI」で行っていきます。
管理パネルメニュー「システム > 詳細設定」画面を開きます。
画面に表示されているリンクをクリックすると詳細設定画面「LuCI」がブラウザの別タブで起動します。
DS-Lite設定② 詳細設定「LuCI」での設定
これ以降の設定作業は「管理パネル(Admin Panel)」ではなく「詳細設定」機能(OpenWrtのLuCI)から設定していきます。
詳細設定画面「LuCI」のログイン画面が表示されました。
ログインIDは「root」、パスワードは「管理パネル(Admin Panel)」へのログインパスワードと同じものになります。
「Status」画面が表示されると詳細設定「LuCI」へのログイン完了です。
ここからDS-Lite接続のためのインターフェース定義を行っていきます。
「WAN6」インターフェースの定義変更
LuCIメニュー「Network > Interface」よりインターフェース定義画面を開きます。
インターフェース定義画面ではすでに多くのインターフェースが定義されています。
これらの中で「WAN6」インターフェースがOpenWrt(およびGL.iNetトラベルルーター)の仕組みの中で「IPv6による外部通信で利用されるインターフェース定義」です。
つまり、今回の場合はフレッツ光回線のIPv6/IPoE接続に対するインターフェース定義となります。
今回、「管理パネル(Admin Panel)」でIPv6を有効化し、動作モードを「NAT6」に定義しました。
この設定と連携してすでに「WAN6」インターフェース定義はIPv6/IPoE通信可能な状態(DHCPv6クライアント)に設定されています。
ただし、「管理パネル(Admin Panel)」はIPv6に完全対応していないため、ちょっとだけ定義を変更してあげる必要があります。
「WAN6」インターフェースの「デバイス」を変更
「WAN6」インターフェースが参照している「デバイス」が正しく設定されていないため、この「デバイス」を設定してあげる必要があります。
インターフェース一覧の「WAN6」の「Edit(編集ボタン)」を押下してインターフェース定義の編集画面を開きます。
「管理パネル(Admin Panel)」はIPv6に完全対応していないため、WAN6(IPv6用)インターフェースが使うデバイス定義が不完全な状態であり、私の環境では「@wan6」という未定義のデバイスが設定されています。
この不完全なIPv6用デバイス定義を正しいデバイスに変更してあげる必要があります。
「Device(デバイス)」項目の一覧から「Ehernet Adapter “eth0″(wan)」を選択・設定します。
もしデバイス一覧に「Ethernet Adapter “eth0″(wan)」がない場合は「Ethernet Adapter “****”(wan)」を選びます。
※「eth0」が選択ポイントではなく「(wan)」が選択ポイントです。
「Device(デバイス)」を「eth0」に設定変更したら「Save」ボタン押下で設定完了です。
「WAN6]インターフェース定義の反映
設定した内容はまだシステムに反映されていません(保留状態)。
インターフェース一覧画面に戻ったら画面下の「Save&Apply」ボタン押下して設定を反映させます。
インターフェース定義の確認
インターフェース定義が反映されると「WAN6」インターフェースに表示される情報が変更されます。
「WAN6」のインターフェース情報に以下のような情報が表示されているはずです。
WAN6 | Protocol | DHCPv6 client |
---|---|---|
MAC | ルーターのWAN側MACアドレスが取得されていること ※MACアドレスらしきものが表示されてればOK |
|
IPv6 | 「2」から始まるIPv6アドレスが取得されていること ※グローバルIPv6アドレス、という意味です |
うまく表示されない場合は「WAN6」インターフェースの右の「Restart」でインターフェース再起動、それでもダメなら「WAN6インターフェース定義」を見直してください。
IPv6/IPoE疎通確認
この時点でルーターはIPv6/IPoEによりフレッツ光回線に接続できています。
IPv4サイト/サービスの利用はできませんが、IPv6サイト/サービスの利用はできる状態です。
IPv4/IPv6疎通確認サイト(IPv6-test.com)
IPv4/IPv6による通信状態を確認するサイトとして「ipv6-test.com」にブラウザアクセスしてみましょう。
「IPv4 not Supported」「IPv6 Supported」と表示されれば「IPv4通信不可/IPv6通信可」という状態です。
Googleへの疎通確認
google.comはIPv4/IPv6両プロトコル対応サイトです。
今の状態でgoogleの利用は可能です。
Yahoo!JAPANへの疎通確認
Yahoo!JAPANは未だにIPv4のみ対応のサイトであり、現時点でサービス利用できません。
今この時点で「Yahoo!JAPAN」が開けた方、あなたの環境は根本的におかしいです。
ルーターの接続状態をみなおしてみてください、スマホとテザリングとか別のWi-Fiにつながってませんか??
以上で「WAN6」インターフェースの定義修正が完了しました。
DS-Liteモジュールのインストール
続いてIPv4通信を可能とするために「DS-Lite」の設定を行っていきます。
DS-Liteを定義・有効化するためには、まず「ds-lite」という拡張モジュール(プラグイン)のダウンロード&インストールが必要です。
拡張モジュールのダウンロードサイトはIPv6/IPoE通信で利用可能です。
LuCIメニュー「System > Software」でソフトウェアダウンロード画面へ遷移します。
ソフトウェア一覧の更新
ソフトウェア画面では、まず最初に更新可能な拡張モジュールリストを取得する必要があります。
画面上の「Update List」ボタンをクリックしてしばらく待ちます(リストが自動ダウンロードされます)。
ソフトウェア(ds-lite)のダウンロードとインストール
リスト更新が完了したら画面に更新可能なソフトウェア一覧が一覧表示されます。
ここで画面上部の「Filter」欄に「ds-lite」と入力し、一覧画面を絞り込みます。
一覧画面に「ds-lite」が絞り込まれたら、右側の「install」ボタンでインストールします。
以上でds-liteモジュールのインストールは完了です。
ルーターの再起動
拡張モジュール(プラグイン)「ds-lite」のダウンロートとインストールは完了しましたが、このモジュールはシステムを再起動しなければ有効になりません。
LuCIメニュー「System > Reboot」からルーターを再起動します。
管理パネル(Admin Panel)からLuCIへ
ルーターが再起動すると、再びGL.iNetトラベルルーターの管理パネル(Admin Panel)が表示されます。
管理パネル(Admin Panel)にログイン後、「詳細設定」から再びLuCIへログインします。
「WAN」インターフェースへDS-Lite設定
「WAN6」に対するIPv6/IPoEの定義は完了したので、次は「WAN(IPv4インターフェース)」へDS-Liteの定義を行います。
LuCIメニュー「Network > Interface」からインターフェース一覧を開きます。
インターフェース定義画面が開きます。
「WAN」インターフェースのプロトコルを「DS-Lite」へ
「WAN(IPv4インターフェース)」の通信プロトコル定義を「DS-Lite」へ変更します。
「WAN」インターエースの「Edit(編集)」ボタンを押下して設定変更画面を表示します。
「WAN(IPv4インターフェース)」のプロトコル定義を「DS-Lite」へ変更します。
「Protocol(プロトコル)」の項目を一覧から「Dual-Stack Lite(RFC6333)」に選択変更します。
※「Dual-Stack Lite(RFC6333)」が一覧表示されない場合は再度DS-Liteモジュールのインストールおよびルーターの再起動
「Switch protocol(プロトコルを変更)」ボタンが表示されるので押下します。
AFTRアドレスの設定
「Protocol(プロトコル)」が「Dual-Stack Lite(RFC6333)」に選択変更されると、DS-Liteの必須設定項目である「DS-Lite AFTR address」の設定を行います。
「DS-Lite AFTR address」項目が表示されるので、利用するDS-Lite通信方式にあったAFTR値(接続先アドレス)を設定します。
今回私は楽天ひかりが提供しているクロスパス(Xpass)を利用するので「dgw.xpass.jp」を設定します。
その他のDS-Liteサービスについては以下のAFTRアドレスを設定します。
通信サービス(DS-Lite) | AFTR設定値 |
---|---|
Transix | gw.transix.jp |
クロスパス(Xpass) | dgw.xpass.jp |
v6コネクト | dslite.v6connect.net |
以上設定したら「Save」ボタンで保存終了します。
「WAN」インターフェース定義の反映
設定した内容はまだシステムに反映されていません(保留状態)。
インターフェース一覧画面に戻ったら画面下の「Save&Apply」ボタン押下して設定を反映させます。
インターフェース定義の確認
インターフェース定義が反映されると「WAN」インターフェースに表示される情報が変更されます。
「WAN」のインターフェース情報に以下のような情報が表示されているはずです。
WAN | Protocol | Dual-Stack Lite(RFC6333) |
---|---|---|
IPv4 | 適当なIPv4アドレス(らしきもの)が取得されていること ※私の場合は192.0.0.2/32 |
うまく表示されない場合は「WAN」インターフェースの右の「Restart」でインターフェース再起動、それでもダメなら「WANインターフェース定義」を見直してください。
IPv4 over IPv6(DS-Lite)疎通確認
この時点でルーターはIPv4 over IPv6(DS-Lite)よりフレッツ光回線に接続できています。
これでIPv4サイトへもDS-Lite(IPv4 over IPv6)を使って通信できるようになりました。
IPv4/IPv6疎通確認サイト(IPv6-test.com)
IPv4/IPv6による通信状態を確認するサイトとして「ipv6-test.com」にブラウザアクセスしてみましょう。
「IPv4 Supported」「IPv6 Supported」と表示されれば「IPv4通信可/IPv6通信可」という状態です。
Yahoo!JAPANへの疎通確認
Yahoo!JAPANは未だにIPv4のみ対応のサイトであり、IPv4通信でしかサービス利用できません。
今回はIPv4 over IPv6(DS-Lite)によりYahoo!JAPANに接続できるはずです。
以上で「WAN」インターフェースの定義修正が完了しました。
DS-Lite設定③ DS-Lite(クロスパス)疎通確認
以上でGL.iNetトラベルルーターでのDS-Lite設定は完了です。
最後にクロスパス(Xpass)での疎通確認を行っておきましょう。
クロスパス接続確認サイト
クロスパスでの接続確認はクロスパス提供元であるアルテリアネットワークスが接続確認サイトを提供しています。
上記のように「確認」ボタン押下したうえで「クロスパス可変サービス利用中」と表示されるとOKです。
その他の接続確認サイト
v6コネクト(DS-Lite)を提供する朝日ネットでもIPv6接続確認サイトを提供しています。
私は同じDS-Liteでもクロスパスなので上記のように「ASAHIネット以外のIPv6で接続しています」と表示されてしまいました(あたりまえ)。
v6コネクト(DS-Lite)の接続はこちらのサイトで確認するとよいと思われます。
以上でGL.iNetトラベルルーターでのDS-Lite接続設定は完了です。
PPPoE設定① 詳細設定「LuCI」でPPPoE設定
ここまでの作業でメイン回線であるDS-Lite(クロスパス)の環境定義および動作確認が完了しました。
次はサブ回線としてのIPv4/PPPoEインターフェース定義を行っていきます。
PPPoEインターフェースの定義
インターフェース定義画面の「Add new interface…」ボタンよりインターフェース定義を新規作成します。
PPPoEプロトコルの定義
新しいインターフェス定義画面より、まずはプロトコル定義を行います。
プロトコル定義画面より以下の設定を行います。
Name | ご自由に ※本記事では”wanb”とします |
---|---|
Protocol | 一覧から”PPPoE”を選択 |
Device | 一覧から”Ethernet Adapter ‘eth0′”を選択 |
設定が終わったら「Create interface」のボタンを押下します。
PPPoEアカウントの定義
PPPoEアカウントの詳細定義画面が表示されます。
以下の情報を入力します。
PAP/CHAP username | プロバイダー指定のPPPoEアカウントを設定 |
---|---|
PAP/CHAP password | プロバイダー指定のPPPoEパスワードを設定 |
入力完了したら「Advanced Settings」タブへ移動します。
ゲートウェイメトリックの定義
「Advanced SEttigns」タブ画面が表示されます。
以下の項目設定を行います。
Use gateway metric | “1”を設定 |
---|
設定が終わったら「Firewall Settings」タブへ移動します。
ファイアウォールの定義
「Firewall SEttigns」タブ画面が表示されます。
以下の項目設定を行います。
Create/Assign Firewall zone | “WAN”(赤いやつ)を一覧選択 |
---|
以上、設定完了したら「Save」ボタン押下で終了します。
インターフェース定義の反映
画面はインターフェース定義画面に戻ります。
ここまでのインターフェース定義を「Save&Apply」ボタンでシステム反映させます。
インターフェース定義の確認
インターフェース定義をシステム反映させると、今作った「wanb(PPPoE)」インターフェースに表示される情報が更新されます。
以下のように情報が設定されていることを確認してください。
wanb | Protocol | PPPoE |
---|---|---|
IPv4 | プロバイダーから付与されているIPv4IPv4アドレス |
うまく表示されない場合は「wanb(PPPoE)」インターフェースの右の「Restart」でインターフェース再起動、それでもダメなら「wanb(PPPoE)インターフェース定義」を見直してください。
※プロバイダー指定の「PPPoEアカウント/PPPoEパスワードが間違ってるんじゃないですかね?
個別宛先へのルーティング定義
今回構築している環境は「基本的なIPv4通信はDS-Liteを使って通信する」「特定宛先への通信はIPv4/PPPoEを使って通信する」という環境です。
ここで個別宛先とは会社のVPNサーバーであったり匿名掲示板5ch.netだったり、という想定です。
この記事では個別宛先として匿名掲示板5ch.netを例にとり設定を行います。
個別宛先のIPアドレスを確認
まず個別宛先へのIPアドレスを確認します。
クライアントPCから「nslookup」コマンドにてIPv4アドレスを確認します。
この記事では特定宛先として「5ch.net」を想定しているので5ch.netのIPアドレスを確認します。
C:\nslookup 5ch.net
サーバー: dns.google
Address: 8.8.8.8
権限のない回答:
名前: 5ch.net
Address: 172.64.161.3
172.64.160.3
C:\
上記のように「5ch.net」では以下の2つのIPアドレスが使用されていることがわかりました。
5ch.net IPアドレス |
172.64.160.3 172.64.161.3 |
---|
※なお、5ch.netのIPアドレスは頻繁に変更されます。
個別宛先へのルーティング定義
では上記で確認できた2つのIPアドレス(5ch.net)に対してルーティング情報を定義していきます。
LuCIメニュー「Network > Routing」からルーティング定義画面へ移動します。
ルーティング定義画面から「Add」ボタンで新規ルーティングの登録を行います。
「General Settings」タブで以下の設定を行います。
Interface | 一覧から「wanb」を選ぶ ※ご自分で作ったPPPoEインターフェース |
---|---|
Target | 個別宛先へのIPアドレス ※***.***.***.***/32形式で登録 |
また、「Advance Settings」タブから以下の登録を行います。
Metric | “1”を設定 |
---|
設定したら画面右下の「Save」ボタンで設定を保存します。
これで個別宛先の1つのIPアドレスに対するルーティング定義が終わりました。
複数の個別宛先IPアドレスがある場合には個数分のルーティング情報登録を行ってください。
ルーティング定義の反映
すべてのIPアドレスに対してルーティング情報の定義が完了しました。
画面下の「Save&Apply」ボタンで設定をシステム反映しておきます。
以上で個別宛先へのルーティング情報定義が完了です。
PPPoE設定② DS-LiteとPPPoE併用環境のルーティング確認
ここまでの作業により「通常のインターネット通信はDS-Lite通信を利用する」「個別宛先(今回の場合は5ch.net)へのインターネット通信はPPPoE通信を利用する」という併用環境が構築されているはずです。
ここからは、以上の環境が正しく動作していることを確認していきます。
通常利用する回線(DS-Lite)の経路確認
本環境では「通常のインターネット通信はDS-Lite通信を利用する」としています。
つまりメイン回線はDS-Lite通信です。
IPv6/IPoE通信の確認
Google.comはIPv4/IPv6両プロトコル対応サイトなので、クライアントPCからGoogle.comへの通信経路を確認してみます。
C:\tracert google.com
google.com [2404:6800:4004:818::200e]へのルートをトレースしています
経由するホップ数は最大 30 です:
1 <1 ms 1 ms 1 ms GL-AXT1800.lan[dff2:3a33:14a5::1]
2 5ms 6 ms 6 ms 2001:****:****:****::****
3 ^C
C:\
上記のようにGoogle.comへの通信はIPv6/IPoEによるネイティブIPv6通信が利用されていることが確認できました。
IPv4/DS-Lite通信の確認
次は「Yahoo.co.jp」への経路を確認してみます。
「Yahoo.co.jp」はIPv4のみ対応のサイトです。
C:\tracert yahoo.co.jp
yahoo.co.jp [183.79.219.252]へのルートをトレースしています
経由するホップ数は最大 30 です:
1 <1 ms 1 ms 1 ms console.gl-inet.com[192.168.8.1]
2 16ms 16 ms 16 ms 192.0.0.1
3 17ms 16 ms 16 ms 163.***.***.***
4 ^C
C:\
上記トレースホップ2の「192.0.0.1」はクロスパス(DS-Lite)の出口となるIPv4アドレスであり、ホップ3の163.***.***.***はクロスパス通信のインターネット出口側ゲートウェイIPv4アドレスです。
つまりIPv4サイトである「Yahoo.co.jp」への通信経路はDS-Liteを使って通信していることがわかりました。
ここまでの確認で「通常のインターネット利用はDS-Lite通信を利用する」という動作をしていることが確認できました。
特定宛先で利用する回線(PPPoE)の経路確認
では、特定宛先への通信(今回は5ch.net)はサブ回線であるPPPoEを利用しているかどうか?確認してみます。
C:\tracert 5ch.net
5ch.net [172.64.160.3]へのルートをトレースしています
経由するホップ数は最大 30 です:
1 <1 ms <1 ms <1 ms console.gl-inet.com[192.168.8.1]
2 13ms 16 ms 16 ms *********Biz.vectant.ne.jp[163.***.***.***]
3 17ms 16 ms 16 ms 163.***.***.***
4 ^C
C:\
上記トレースのホップ2「******Biz.vectant.ne.jp[163.***.***.***]」は楽天ひかりのPPPoE通信のプロバイダーゲートウェイIPv4アドレスです。
つまり5ch.netへのインターネット通信はメイン回線のDS-Liteではなく、サブ回線のPPPoE通信を使って通信していることが確認できました。
以上で「通常のインターネット通信はメイン回線(DS-Lite)」「特定宛先(今回は5ch.net)へのインターネット通信はサブ回線(PPPoE)」という併用環境の構築および動作確認が完了です。
【番外編】クロスパス&PPPoE併用環境で自宅サーバーをインターネット公開
本記事では楽天ひかりのクロスパスとPPPoEの2つの回線インターフェースを併用する環境を構築しました。
クロスパス回線をメイン回線(優先度高)と設定し、PPPoE回線をサブ回線(優先度低)として設定している環境です。
この設定により、普段使いの回線は夜間でもフレッツ光の速度低下を回避できる高速通信IPv4 over IPV6のクロスパス回線を使用します。
また、テレワークなどで利用するVPN通信など、クロスパスがちょっと苦手とする通信はサブ回線のPPPoE回線を利用します。
しかし、ここまでの環境では自宅サーバーをインターネットに公開できない、という環境にとどまっています。
ここからは、楽天ひかりのクロスパスとPPPoEの併用環境において、自宅サーバーをインターネットへ公開できる環境について補足説明していきます。
外部からPPPoE回線への接続ができない
本環境では外部(インターネット)からPPPoE回線へ接続しても通信が遮断されてしまします。
このため、せっかくグローバルIPv4アドレスが使えるPPPoE回線なのに自宅サーバーの公開ができません。
なぜ外部(インターネット側)からPPPoE回線へ入ってきた通信が遮断されるのか、について理屈を確認しておきます。
本記事ではクロスパス回線を優先度高回線としPPPoE回線を優先度低回線として設定しています。
具体的には各回線インターフェース定義の「ゲートウェイメトリック値」の設定によります。
この優先度の設定により、PPPoE側から入ってきた通信パケットも出ていくときは優先度の高いクロスパス回線から出て行ってしまう、という現象が起こっているからです。
※これは通信経路の仕組みとして正常です。
この通信経路の仕組みのため、PPPoE回線から入ってきた通信パケットもクロスパス回線から出ていくこととなり、外部クライアントから見ると通信が成立しない(通信が遮断)状態となってしまいます。
ポリシールーティングで問題解決
この問題を解決するために「PPPoE回線から入ってきた通信パケットはPPPoE回線から出ていくようにする」という仕組みが必要です。
このような通常の通信経路設定に加えて各種条件による通信経路設定をポリシールーティングなどと呼びます。
そして、最も簡単なポリシールーティングの実現方法が「ファイアウォールマークによる通信経路制御」です。
PPPoE回線から入ってきた通信パケットに対してファイアウォールマークと呼ばれるマークを付与してあげることで、インターネット向けの通信パケットもマークのついているものはPPPoE回線から出ていくように経路制御する設定です。
GL.iNetルーターの「マルチWAN」機能で簡単ポリシールーティング
本記事で使用しているGL.iNetルーターには標準で「マルチWAN」という機能があります。
このマルチWAN機能を利用することで、超簡単にPPPoE回線からの通信パケットに対してファイアウォールマークを付与することができます。
つまり、「マルチWAN機能を使えばPPPoE回線を使った自宅サーバー公開ができる」という環境を簡単に構築できます。
クロスパス&PPPoE併用環境で自宅サーバーを公開
楽天ひかりのクロスパス&PPPoE併用環境とGL.iNetルーターのマルチWAN機能を使って、自宅サーバーをインターネットへ公開する環境構築について記事をまとめました。
GL.iNetルーターのマルチWAN機能を使うことで、楽天ひかりの併用環境においてVPNサーバーやゲームサーバーなどをインターネット公開し、外部から利用することができるようになります。
「管理パネル」と「詳細設定」の不整合による留意事項
今回、詳細設定「LuCI」の定義画面を使ってIPv4 over IPv6(DS-Lite)の定義設定を行いました。
本来であればGL.iNetトラベルルーターの「有線プロトコル」に「DS-Lite」とか「v6プラス」とかが選べるとバッファローなど一般家庭用ルーターと同等機能になるわけですが、現時点ではそこまでの対応がなされていません。
よってGL.iNetトラベルルーターの本来の管理機能「管理パネル(Admin Panel)」上では最低限の設定を行い、管理パネル(Admin Panel)では対応していない部分を「LuCI」を使って設定したわけです。
そして、この時点で「管理パネル」機能と「luCI」(実際のOpenWrtの動作設定)の間に不整合が生まれている状態になります。
この「不整合」による現象を留意事項としていくつか・・・
留意事項①インターネット接続(有線)が正しく判定されない
インターネットには「IPv4 over IPv6(今回の場合はDS-Lite)」で正しく接続されていますが、管理パネル(Admin Panel)ではインターネット接続状態が正しく把握できません。
上記のように「有線」の「プロトコル」がいつまでも「取得中」となります。
管理パネル(Admin Panel)側で管理できる優先プロトコルは「DHCP」「Static IP」「PPPoE」の3つです。
今回の設定ではインターネット接続形態はIPv6/IPoE接続による「DHCPv6クライアント」の状態ですが、これを管理パネル(Admin Panel)では判定できないようです。
よって、この「いつまでも取得中」となる現象は留意事項となります。
「有線」にビックリマークが出る場合
また、以下のように「有線」の接続状態にビックリマークが出る場合は管理パネル側の設定が正しくないかもしれません。
管理パネル(Admin Panel)ではマルチWAN機能(mwan3)によりすべてのインターフェースを死活監視しています。
この「ビックリマーク」は死活監視により「リンクダウン」と判断された状態だと思われます(違うかもですが)。
よって、この場合は本記事記載の「マルチWANの有線がトラックプロトコルIPv6で追跡監視」される設定になっているかを確認してみてください。
留意事項②有線接続を変更するとDS-Lite定義が書き換えられる
先述のように「有線の判定がおかしい??」と思ったりして管理パネル(Admin Panel)で設定変更したりすると管理パネル(Admin Panel)とLuCIでの定義に不整合が起こります。
今回の状態では「有線」は「DHCP」であるはずですが正しく認識されず(DHCPv6クライアントに対応していないため)「取得中」だったり「ビックリマーク」だったりします。
これはある意味現状では「正常な状態」です。
これに対して「有線」の設定を変更した場合、管理パネル(Admin Panel)が勝手にLuCIで設定した「WAN」インターフェースを書き換えてしまいます。
「管理パネル(Admin Panel)」で有線プロトコルを変更
IPv4 over IPv6(DS-Lite)が動作しインターネット接続ができている状態で、「管理パネル(Admin Panel)」で有線のプロトコル設定を変更してみます。
IPv4 over IPv6(今回はDS-Lite)を設定した状態では管理パネル(Admin Panel)は「有線」の「DHCPv6クライアント」を判定できないので、以下の図のようにプロトコルが選択されていない状態になっています。
この状態はGL.iNetトラベルルーターでIPv4 over IPv6を設定している場合は当然の状態(正しい状態)です。
これを「DHCP」でもなんでもいいので変更してみます(DHCPに変更してみます)。
詳細設定「LuCI」でのインターフェース定義
管理パネル(Admin Panel)により「有線」のプロトコルを変更すると、LuCIで確認できる「WAN(IPv4インターフェース)」は管理パネル(Admin Panel)での設定により自動的に変更されています。
「WAN」インターフェースも「DHCPクライアント」になっています。
これは当然の結果ですが、これによりIPv4 over IPv6(今回はDS-Lite)の設定が崩れてしまいます。
当然、この状態ではIPv4 over IPv6による通信はできません(IPv6/IPoE通信は可能)。
「WAN」インターフェースを戻してあげる
もしこの状態になった場合は「WAN」インターフェースをIPv4 over IPv6(今回はDS-Lite)用に戻してあげます。
必要なモジュール「ds-lite」はすでにインストールされている状態なので、「WAN」インターフェースのプロトコルを「DS-Lite」に変更
さらにDS-Liteに必要なAFTRアドレスを設定し、保存終了します。
以上で、再度DS-Liteによる接続が可能な状態となります。
このように、一度OpenWrtのWANインターフェース定義にDS-Lite定義を行えば、戻すことは簡単ですが(理由がわかれば)、知らないうちにインターネットに接続できなくなるのは困りますね。
ということで、管理パネル(Admin Panel)上で「有線」の設定をいじるのはやめましょう。
留意事項③ファームウェア更新時に「DS-Lite」が動作しなくなる
ファームウェアをアップデートする場合には「現在の設定を残す/残さない」を選択することができます。
「残す」を選択すると現在の環境を維持したままアップデートが行われ、「残さない」を選択した場合はすべての設定が初期化されます(管理者パスワード含めて初期化)。
ここで「現在の設定を残す」を選択した場合でも、DS-Lite環境については注意が必要です。
「現在の設定を保持する」の場合のDS-Liteインターフェース
「現在の設定を保持する」を選んでファームウェア更新した場合、現在の環境はほぼ保持されますが「DS-Liteインターフェース」定義は機能しなくなります。
ファームウェアを「設定を保持する」でアップデート直後のDS-Liteインターフェース定義は上図のようになっています。
「インターフェースは存在しない」「未サポートのプロトコル」という表示が出て「Edit(編集)」ボタンも押せません。
当然、この状態ではDS-Liteによる通信はできません。
DS-Liteインターフェースの復旧
この状態ではDS-Liteインターフェースは機能しておらず、当然DS-Liteによる通信もできません。
これを復旧してあげる必要があります。
DS-Liteインターフェースの復旧は「DS-Liteモジュールのダウンロード」と「GL.iNetルーターの再起動」により行います。
DS-Liteモジュールのインストール
まずDS-Liteモジュールを再度ダウンロード&インストールします。
LuCIメニュー「System > Software」でソフトウェアダウンロード画面へ遷移します。
ソフトウェア画面では、まず最初に更新可能な拡張モジュールリストを取得する必要があります。
画面上の「Update List」ボタンをクリックしてしばらく待ちます(リストが自動ダウンロードされます)。
リスト更新が完了したら画面に更新可能なソフトウェア一覧が一覧表示されます。
ここで画面上部の「Filter」欄に「ds-lite」と入力し、一覧画面を絞り込みます。
一覧画面に「ds-lite」が絞り込まれたら、右側の「install」ボタンでインストールします。
以上でds-liteモジュールのインストールは完了です。
GL.iNetトラベルルーターの再起動
LuCIメニュー「System > Reboot」からルーターを再起動します。
DS-Liteインターフェース定義の確認
GL.iNetトラベルルーターが再起動すると「WAN」インターフェース(DS-Liteインターフェース)に表示される情報が正常な状態に変更されます。
「WAN」のインターフェース情報に以下のような情報が表示されているはずです。
WAN | Protocol | Dual-Stack Lite(RFC6333) |
---|---|---|
IPv4 | 適当なIPv4アドレス(らしきもの)が取得されていること ※私の場合は192.0.0.2/32 |
以上「DS-Liteモジュールの再インストール」と「Gl.iNetトラベルルーターの再起動」によりDS-Liteインターフェースは復旧します。
まとめ、GL.iNetトラベルルーターでDS-LiteとPPPoEを併用するメリット
DS-LiteのようなIPv4 over IPv6の環境はルーターのWAN側に付与されるIPv4アドレスが完全な「IPv4アドレスではない」という特徴があります。
IPv4 over IPv6の目的自体が「IPv4アドレスの枯渇への対応」なので、この仕組み自体は当然のことです。
IPv4 over IPv6の「ちょっと困った!」
IPv4 over IPv6の通信の仕組みでは「WAN側に完全なIPv4アドレスが付与されない」ことにより、IPv4 over IPv6通信では以下のような「ちょっと困った」現象が起きます。
- 外出先から自宅へ接続できなない
- 特定のプロトコル(L2TP/IPSecなど)が使えない
- 自宅サーバーがインターネット公開できない
上記以外にもいろいろな「困った!」現象が起きますが、すべて「完全なIPv4アドレスが付与されない」ことによる現象です。
この現象への対応策として使えるのが「IPv4 over IPv6とPPPoEの併用」環境です。
通常の通信(メイン回線)は夜間でも高速な「IPv4 over IPv6」通信を使い、完全なIPv4アドレスが必要な通信ではサブ回線としてIPv4/PPPoEを使う、という2つの通信方式の併用環境です。
楽天ひかりのようにIPv4 over IPv6通信(DS-Lite)とIPv4/PPPoE通信をどちらも提供してくれるプロバイダーであれば、この併用環境を構築することができます。
併用環境の問題点とGL.iNetトラベルルーターの活用
一般的な市販されている家庭用ルーターでは複数の通信プロトコルを同時に設定することはできません。
よって一般的な市販ルーターで併用環境を構築する場合には2台のルーターを使ってちょっと複雑な接続・環境定義が必要です。
しかし、GL.iNetトラベルルーターなら1台のルーターに複数の通信環境定義が自由自在に定義でき、またそれぞれのインターフェースに対するルーティング定義も自由自在です。
つまり、GL.iNetトラベルルーターは「市販ルーターでIPv4 over IPV6とPPPoEを併用できる唯一の市販ルーター」ということになります。
※業務用ルーターを除きます
併用環境ができるおすすめの回線サービス
IPv4 over IPv6とPPPoEが併用できるおすすめの回線サービスは「楽天ひかり」です。
楽天ひかりは「DS-Lite(クロスパス)とPPPoEを標準提供」「それでいて月額料金は高くない」という点でおすすめです。
また、お住まいの地域にもよると思いますが、楽天ひかり(というか、回線提供元のアルテリアネットワークス)は地域によってはIPv4/PPPoE通信でも夜間の通信も遅くなることなく高速通信できる状態です(IPv4 over IPv6不要!?)。
「そこそこ安い」「DS-Lite(クロスパス)とPPPoEをどちらも標準提供」の楽天ひかりのコストは以下のようになります。
費用項目 | 戸建て向けプラン | 集合住宅向けプラン | |
---|---|---|---|
初期費用 | 契約事務手数料 | 880円(フレッツ光回線新規の場合) 1,980円(転用・事業者変更の場合) |
|
新規工事費 ※フレッツ光回線新規の場合のみ |
~16,500円 | ~19,800円 | |
月額費用 | 月額基本料金 | 5.280円 | 4,180円 |
契約形態 | 契約期間 | 3年契約自動更新あり | |
解約違約金 | 5.280円 | 4,180円 | |
キャンペーン 特典 |
1年間月額料金2,200円割引 ※他社光回線から乗換の場合 |
これにGL.iNetトラベルルーターを使って本記事記載の手順により「クロスパスとPPPoEの併用環境」が構築できます。
併用環境構築におすすめのGL.iNetトラベルルーター
本記事では1台のルーターでIPv4 over IPv6とPPPoEを併用できる市販ルーターとして「GL.iNetトラベルルーター」を使用しました。
GL.iNetトラベルルーターは多くの機種が販売されていますが、どれも同じような形でありみな同じに見えてしまいます。
しかし、機種によってファームウェアの系列が3系列(バージョン3.X.X)と4系列(バージョン4.X.X)があり、最新機能は4系列ファームウェアに搭載されます。
よって、以下3機種の4系列ファームウェアを搭載した機種の中から選ぶことをおすすめします。
本記事使用の「GL-AXT1800(Slate AX)」
本記事では「1台でIPv4 over IPv6とPPPoEを併用できるルーター」としてGL.iNetトラベルルーター「GL-AXT1800(Slate AX)」を使用しました。
販売価格はざっくりと15,000円~18,000円ほどです。
Wi-Fi6対応で最大通信速度(Wi-Fi)1201Mbps、WANポート×1/LANポート×2のすべて1GbE対応なので自宅利用も全く問題ありません。
しかもOpenWrtファームウェアを使いこなした高機能なルーターです。
VPN環境も30分程度で構築でき、外出先から自宅のGL.iNetルーターのネットワーク環境にすぐに接続できるVPN環境が構築できます。
最新・最高性能の「GL-MT3000(Beryl AX)」
GL.iNetトラベルルーターの最新・最高性能の製品は「GL-MT3000(Beryl AX)」です。
販売価格はざっくりと15,000円程度です。
最新機種・最高性能でありながら「GL-AXT1800(Slate AX)」より安くで購入できる点でコスパが良さそうに感じます。
「GL-AXT1800(Slate AX)」と同じWi-Fi6対応ですがこちらは最大2402MbpsとGL-AXT1800(Slate AX)の2倍のWi-Fi速度、さらに有線WANも2.5GbE対応という高性能です。
ただし、他社製品でもルーターやスイッチングハブなどで2.5GbE/10GbE対応製品はまだまだ不具合が多いようであり、GL-MT3000(Beryl AX)もちょっと頑張りすぎじゃないかな?と思っています。
よって、現時点では私は様子見です。
ちょっと安くて高性能「GL-A1300(Slate Plus)」
4系列ファームウェアで最古参の製品が「GL-A1300(Slate Plus)」です。
販売価格はざっくりと10,000円程度ですが、Amazonでは頻繁に20%~30%オフで販売されています。
「Wi-Fi5対応」という点で新機種2機種とはスペックが落ちますが同じ4系列ファームウェアを搭載しGL.iNetトラベルルーターの最新機能も使えるルーターです。
安くて高機能(ハードウェアスペックはちょっと低め)という点でおすすめのGL.iNetトラベルルーターです。
OpenWrtルーターのすすめ
GL.iNetトラベルルーターが「高性能でなんでもできる」のはベースOSにOpenWrtというカスタムファームウェアを搭載しているからです。
OpenWrtファームウェアはGPLライセンスに基づくフリーソフトウェアであり、市販のちょっと旧型のルーターにインストールすることでOpenWrtルーターにすることができます。
つまり、自分でちょっと旧型の市販ルーターにOpenWrtファームウェアをインストールできるなら、中古ルーター1,000円程度でOpenWrtルーターが構築でき、本記事と同様にIPv4 over IPv6とPPPoEの併用環境も構築できる、ということになります。
GL.iNetトラベルルータに限らない「OpenWrtルーター」に興味がある方は以下の記事も参考にしてみてください。
そして、最安1,000円程度でOpenWrtルーターが構築できます。
するとその1,000円のルーターで本記事同様にIPv4 over IPv6とPPPoEの併用環境が構築できます。
腕に覚えのある方、ぜひOpenWrtルーターにチャレンジしてみてください。