IPv4でPPPoEとDS-Lite/MAP-Eを併用しよう

IPv4インターネット接続の高速化のためにDS-liteやMAP-E(v6プラス)を使うのが一般的になってきましたが、DS-LiteやMAP-Eを使うとリモートアクセス等が使えなくなって不便と思っていませんか? ヤマハのルータを使えば、PPPoEとDS-Lite/MAP-Eは併用できます。その方法を紹介します。

PPPoEとDS-Liteを併用する
PPPoEとMAP-Eを併用する

PPPoEとDS-Liteを併用する

PPPoE方式のIPv4接続とDS-Lite方式のIPv4接続を併用する方法を紹介します。IIJmioひかり(IPoEオプション契約あり)を使っている前提で書いていますが、フレッツ接続でFiberAccess/NFを使っている場合も同様です。

IIJmioひかりでIPoEオプションを契約して、DS-Lite方式のIPv4接続を使っています。平日夜間などPPPoE方式だと通信速度が極端に低下する時間帯でも、DS-Lite方式は安定して200Mbps超の通信速度が出ており、非常に満足しています。

では、DS-LiteがあればPPPoE方式のIPv4接続は不要かというと、そんなことはありません。以下のように、DS-LiteとPPPoEはどちらも一長一短なのです。

[PPPoE方式のIPv4接続の長所]
・TCPのセッションを同時に多数張るWebページやWebサービスを問題なく使える。
・早朝など回線が空いている時間帯だと、高速に通信できる。

[PPPoE方式のIPv4接続の短所]
・地域・時間帯によっては、通信速度が極端に低下する可能性がある。

[DS-Lite方式のIPv4接続の長所]
・PPPoE方式だと通信速度が極端に低下する時間帯でも、通信速度が低下しにくい。

[DS-Lite方式のIPv4接続の短所]
・TCPのセッションを同時に多数張るWebページやWebサービスが正常に開けなかったり、使えない可能性がある。

PPPoE方式のIPv4接続では、動的に払い出されたIPv4グローバルアドレスを1契約者が占有して使用するので、TCPセッションを同時に多数張るようなWebページやWebサービスであっても問題なく使えます。これに対してDS-Lite接続では、1つのIPv4アドレスを複数の契約者で共有(※)するので、TCPのセッションを同時に多数張るようなWebページやWebサービスが正常に開けない、使えないなどの問題が出る可能性があります。(※ キャリアグレードNATや大規模NATと言います。)

以上の理由から、DS-LiteとPPPoEは併用すべきです。時間帯・用途に応じて、DS-LiteとPPPoEは使い分けるべきなのです。

念のためIPoEオプションを契約する前に、IIJmioの中の人にIPoE方式のIPv6接続とPPPoE方式のIPv4接続を同時使用しても問題ないことを確認しました。(下記ツイートの中にも書いていますが、IPoEオプションを契約すると、FiberAccess/NF相当になり、IPv4(PPPoE)、IPv4(DS-Lite)、IPv6(IPoE)の3つを同時に使えることになります。素のmioひかりではIPv4用のPPPoEアカウント、IPv6用のPPPoEアカウントのどちらかひとつしか使えないことを考えると、IPoEオプションは有料だけれども十分リーズナブルだと思います。)

PPPoEとDS-Liteを併用するといっても、言葉だけだとわかりにくいので図示します。

赤い線はPPPoE方式のIPv4通信のパケットの流れ、黄色い線はDS-Lite方式のIPv4通信のパケットの流れを示します。どうやって2種類のIPv4パケットの通信経路をPPPoE側とDS-Lite側に振り分けるのかというと、まずタグ付VLANを用いて、L2スイッチのポート毎にDHCPで払い出されるLAN内のIPv4アドレスを違えるようにします。ここでは、PPPoE方式のIPv4通信を行う方(赤色の枠内)に192.168.10.0/24のネットワークアドレス、DS-Lite方式のIPv4通信を行う方(黄色の枠内)に192.168.20.0/24のネットワークアドレスを設定します。

ルーターでは、パケットのネットワークアドレスに応じて、192.168.10.0/24のネットワークアドレスのものについてはPPPoE方式のIPv4通信側へ、192.168.20.0/24のネットワークアドレスのものについてはDS-Lite方式のIPv4通信側に流すようにします。こうすることで、DS-LiteとPPPoEの併用が実現します。1台のパソコンでDS-LiteとPPPoEを使い分けてもいいし、2台のパソコンでDS-LiteとPPPoEを同時使用(同時接続)することも可能です。

では実際にヤマハのルーターに設定を行っていきます。自分はルーターにRTX830、L2スイッチに同じくヤマハのSWX2200-8Gを使っていますが、RTX1210、NVR510などでも設定方法は同じです。なお、BuffaloやIO-DATAのルーターだと、PPPoEとDS-Liteを併用する設定を行うことはできません。

なお以下のconfig設定は、DS-LiteとPPPoEの併用(同時使用・同時接続)を実現するために必要最小限度の内容のみ記しています。(パケットフィルタリング、IPv6などの設定まで記すと、見づらくなるので。)(参考: IPIPトンネリング)


[PPPoE方式のIPv4接続の設定]
ip lan1 address 192.168.10.1/24
pp select 1
pppoe use lan2
(以下、PPPoE方式のIPv4接続設定)
ip pp mtu 1454
ip pp nat descriptor 10
pp enable 1
nat descriptor type 10 masquerade
nat descriptor address outer 10 ipcp

[DS-Lite方式のIPv4接続の設定]
vlan lan1/1 802.1q vid=20 name=VLAN20
ip lan1/1 address 192.168.20.1/24
tunnel select 1
tunnel encapsulation ipip
(以下、DS-Lite接続のためのIPIPトンネルの設定)
ip tunnel mtu 1460
tunnel enable 1

[DHCPの設定]
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 10 192.168.10.2-192.168.10.199/24
dhcp scope 20 192.168.20.2-192.168.20.199/24

[L2スイッチの設定]
switch control use lan1 on
switch select (ヤマハL2スイッチSWX2200-8GのMACアドレス)
switch control function set vlan-port-mode 1 hybrid
switch control function set vlan-port-mode 2 access
switch control function set vlan-port-mode 3 access
switch control function set vlan-port-mode 4 access
switch control function set vlan-access 5 20
switch control function set vlan-access 6 20
switch control function set vlan-access 7 20
switch control function set vlan-access 8 20
switch control function set vlan-trunk 1 20 join

[IPv4通信のパケットをPPPoE方式とDS-Lite方式に振り分けるための設定]
2通り考えられるので、両方記します。実際に設定するのは、どちらか一方だけでOKです。
(1)ネットワークアドレス192.168.20.0/24のパケットのみDS-Lite側へ、それ以外はPPPoE側へ。
ip route default gateway tunnel 1 filter 1 gateway pp 1
ip filter 1 pass 192.168.20.0/24 * * * *

(2)(1)と同じ処理をforwardフィルタを使って記述する。
ip route default gateway pp 1
ip lan1/1 forward filter 20
ip filter 1 pass 192.168.20.0/24 * * * *
ip forward filter 20 1 gateway tunnel 1 filter 1

上記の設定を行うと、L2スイッチSWX2200-8Gのポート2からポート4につないだ端末には192.168.10.0/24のアドレスが払い出されてIPv4通信はPPPoE経由、ポート5からポート8につないだ端末には192.168.20.0/24のアドレスが払い出されてIPv4通信はDS-Lite経由となります。(ポート1はRTX830との接続に使用します。)

PPPoEとDS-Liteの併用ということで、自分の場合ですと、机上にはLANケーブルが2本あり、1本はIPv4(PPPoE)+IPv6(IPoE)用、もう1本はIPv4(DS-Lite)(IPv6なし)としてあり、時間帯・用途に応じて使い分けしています。PPPoEとDS-Liteでのスピードテスト比較もよくやっています。

PPPoEとMAP-Eを併用する

2018年5月24日に公開された最新のファームウエアでヤマハのRTX1210/RTX830がMAP-E(v6プラス)に正式に対応しました。なので、MAP-Eと併用する方法についても記します。(参考: v6プラス対応機能)

なお以下の設定をするにあたっては、プロバイダ(ISP)がIPv6(IPoE)、IPv4(PPPoE)、IPv4(MAP-E)の3種類の同時接続を認めていることが前提になります。また毛流麦花はv6プラス(MAP-E)対応ISPの回線契約を持っておらず、以下の設定は実際には試していない旨ご承知おきください。

併用にあたっての考え方は前述のDS-Liteの場合と同じで、タグ付VLANを用いて、L2スイッチのポート毎にDHCPで払い出されるLAN内のIPv4アドレスを違えるようにします。ここでは、PPPoE方式のIPv4通信を行う方に192.168.10.0/24のネットワークアドレス、MAP-E方式のIPv4通信を行う方に192.168.20.0/24のネットワークアドレスを設定します。そしてルーター側でネットワークアドレスを見て、経路をPPPoE方式、MAP-E方式のいずれかに振り分けます。


[PPPoE方式のIPv4接続の設定]
ip lan1 address 192.168.10.1/24
pp select 1
pppoe use lan2
(以下、PPPoE方式のIPv4接続設定)
ip pp mtu 1454
ip pp nat descriptor 10
pp enable 1
nat descriptor type 10 masquerade
nat descriptor address outer 10 ipcp

[MAP-E方式のIPv4接続の設定]
vlan lan1/1 802.1q vid=20 name=VLAN20
ip lan1/1 address 192.168.20.1/24
tunnel select 1
tunnel encapsulation map-e
(以下、MAP-E接続のためのIPIPトンネルの設定)
ip tunnel mtu 1460
ip tunnel nat descriptor 20
tunnel enable 1
nat descriptor type 20 masquerade
nat descriptor address outer 20 map-e

[DHCPの設定]
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 10 192.168.10.2-192.168.10.199/24
dhcp scope 20 192.168.20.2-192.168.20.199/24

[L2スイッチの設定]
switch control use lan1 on
switch select (ヤマハL2スイッチSWX2200-8GのMACアドレス)
switch control function set vlan-port-mode 1 hybrid
switch control function set vlan-port-mode 2 access
switch control function set vlan-port-mode 3 access
switch control function set vlan-port-mode 4 access
switch control function set vlan-access 5 20
switch control function set vlan-access 6 20
switch control function set vlan-access 7 20
switch control function set vlan-access 8 20
switch control function set vlan-trunk 1 20 join

[IPv4通信のパケットをPPPoE方式とMAP-E方式に振り分けるための設定]
ip route default gateway tunnel 1 filter 1 gateway pp 1
ip filter 1 pass 192.168.20.0/24 * * * *

スポンサーリンク
error: Content is protected !!