はじめに
PPPoE から IPoE(IPv4 over IPv6)への移行が進む中で、Cisco ルーターでも IOS XE での対応が進み、フレッツ光クロスを含む日本独自の IPoE サービスを利用できるようになっています。ただし、YAMAHA や FortiGate と比べると設定の難度は高く、対応する OS バージョンの確認が欠かせません。
特にフレッツ光クロス(DHCPv6-PD)環境では、一定の IOS XE バージョン以降でなければ接続が成立しない仕様があります。また、MAP-E の設定には証明書の準備が必要で、DS-Lite と比べて手順が複雑です。Cisco は SD-WAN や大規模拠点の要件がある環境で選ばれることが多く、小規模・SOHO 用途では他機種のほうが運用しやすい場合もあります。
IPoE と MAP-E / DS-Lite の仕組みそのものについては、関連記事『IPoE(MAP-E・DS-Lite)の仕組みと PPPoE との違い|方式の選び方と機種対応』で解説しています。本記事は Cisco IOS XE に絞り、対応バージョンから DS-Lite・MAP-E の設定手順、フレッツ光クロス特有の注意点までを整理します。
- Cisco の IPoE 対応と、必要となる IOS XE バージョン
- フレッツ光クロスで
ipv6 dhcp client vendor-class mac-addressが必要な理由 - DS-Lite(IPv6 トンネル)の設定手順
- MAP-E(nat64 provisioning)の設定と証明書の準備
show nat64系コマンドによる状態確認とルール再取得の手順
要点を先に整理すると、次のとおりです。フレッツ光クロス(DHCPv6-PD)環境では IOS XE 17.10.1a 以降が必須要件となり、長期サポートを考慮すると実質的に 17.12.1 以降(または 17.15.1 以降)が選択肢となります。 DS-Lite は標準機能の IPv6 トンネルで構成でき比較的容易ですが、MAP-E は nat64 provisioning と証明書管理を要し難度が高めです。
古い Classic IOS は IPv4 over IPv6 が Process Switching となりスループットを得にくいため、IPoE 用途には IOS XE プラットフォームが推奨されます。
Cisco の IPoE 対応と OS バージョン
Cisco で IPoE を構成する際は、まず機種と IOS XE のバージョンを確認します。フレッツ光ネクストかフレッツ光クロスか、ONU 直結か HGW(ホームゲートウェイ)配下かで前提は変わりますが、とりわけフレッツ光クロスでは OS バージョンの要件が厳格です。
IOS XE 17.10.1a 以降が必要な理由(vendor-class mac-address)
フレッツ光クロスのように DHCPv6-PD 方式で ONU にルーターを直結する場合、IOS XE 17.10.1a で追加された ipv6 dhcp client vendor-class mac-address コマンドが必要です。このコマンドがないと、DHCPv6 の Option 16(vendor-class-data)に MAC アドレスをエンコードできず、DHCPv6 Solicit Message が無視されて IPv6 プレフィックスを取得できません。
長期サポートやサポート期間を考慮すると、実質的には 17.12.1 以降、ないしは 17.15.1 以降の使用が選択肢となります。なお、Cisco IOS XE は自律モード(Autonomous)と SD-WAN(Controller)モードの両方で IPoE に対応します。
参考: Cisco Community「Cisco ルータの IPoE(IPv4 over IPv6)サービス設定事例集」
フレッツ光クロス等の DHCPv6-PD 方式で ONU にルーターを直結する場合、IOS XE 17.10.1a で追加された ipv6 dhcp client vendor-class mac-address がないと、DHCPv6 Option 16 の vendor-class-data に MAC アドレスをエンコードできず、DHCPv6 Solicit Message が無視される、と案内されています。
https://community.cisco.com/t5/tkb-ネットワーキング-ドキュメント/cisco-ルータの-ipoe-ipv4-over-ipv6-サービス設定事例集/ta-p/5365388
Classic IOS が非推奨な理由(Process Switching)
古い Classic IOS のルーター(ISR G2 など)では、IPv4 over IPv6 の転送処理が CEF(Cisco Express Forwarding)ではなく Process Switching となり、十分なスループットを得にくい傾向があります。ISR800 / ISR900 シリーズのような Classic IOS 機でも、フレッツ回線や DS-Lite を設定できる組み合わせはありますが、IPoE 用途、とくに高速回線では IOS XE プラットフォームの利用が推奨されます。そもそも 10Gbps のインターフェースを持つ Classic IOS 機は選択肢が限られる点にも留意が必要です。
共通設定: IPv6 IPoE の有効化(DHCPv6-PD)
Cisco で IPoE を構成する土台は、WAN 側インターフェースでの IPv6 の有効化と、DHCPv6-PD によるプレフィックスの取得です。フレッツ光クロスでは ONU にルーターを直結し、DHCPv6-PD でプレフィックスを受け取ります。
ipv6 unicast-routing
!
interface GigabitEthernet0/0/0
description ## WAN (ONU 直結) ##
no ip address
no shutdown
! フレッツ光クロス向け: DHCPv6 Option 16 に MAC アドレスを格納(17.10.1a 以降)
ipv6 dhcp client request vendor
ipv6 dhcp client vendor-class mac-address
! DHCPv6-PD で /56 を要求(HGW 配下では /60 など環境に合わせて調整)
ipv6 dhcp client pd hint ::/56
no ipv6 address dhcp
ipv6 dhcp client pd prefix-from-provider
ipv6 address prefix-from-provider ::1/64
! RA でデフォルトルートを取得
ipv6 nd autoconfig default-route
ipv6 nd ra suppress all
exit設定のポイントは次のとおりです。ipv6 dhcp client vendor-class mac-address は、前述のとおりフレッツ光クロスで DHCPv6 Solicit を受け付けてもらうために必要です。no ipv6 address dhcp は、フレッツ網が IA_NA で WAN 側 IPv6 アドレスを払い出さない仕様に合わせるための設定で、これがないと DNS サーバー情報が取り込まれない場合があります。ipv6 dhcp client pd prefix-from-provider で受け取ったプレフィックスを、ipv6 address prefix-from-provider ::1/64 でインターフェースに割り当てます。
LAN 側へ IPv6 を配布する場合は、別途 DHCPv6 サーバーや RA の設定を環境に応じて行います。
DS-Lite の設定手順(transix / クロスパス等)
Cisco の DS-Lite は、IPv4 over IPv6 のトンネルを標準機能で構成できるため、MAP-E と比べて設定が容易です。NAPT はプロバイダ側の AFTR が行うため、ルーター側に NAT の設定は不要です。方式の仕組みやポート開放の制約は、関連記事『IPoE(MAP-E・DS-Lite)の仕組みと PPPoE との違い|方式の選び方と機種対応』で解説しています。
tunnel mode ipv6 と AFTR の指定
DS-Lite トンネルの設定例です。IPv4 over IPv6 のトンネルでは、トンネルモードに ipv6(IPv6 を伝送路とするトンネル)を指定する点に注意します。IPv6 over IPv4 で使う ipv6ip とは異なります。
interface Tunnel0
description ## DS-Lite Tunnel ##
ip address 192.0.0.2 255.255.255.252
tunnel source GigabitEthernet0/0/0
tunnel mode ipv6
! AFTR の IPv6 アドレスを指定(transix 東日本の例)
tunnel destination 2404:8e00::feed:100
ip tcp adjust-mss 1420
tunnel path-mtu-discovery
!
ip route 0.0.0.0 0.0.0.0 192.0.0.1各設定の意味は次のとおりです。
ip address 192.0.0.2 255.255.255.252-
DS-Lite(RFC 6333)で規定された B4(ユーザー側)のアドレスを使用する。デフォルトルートの向け先
192.0.0.1は AFTR 側のアドレス tunnel mode ipv6-
IPv4 パケットを IPv6 で伝送するトンネルモード。IPv6 over IPv4 の
ipv6ipではない点に注意 tunnel destination-
AFTR の IPv6 アドレス。transix の代表例は東日本
2404:8e00::feed:100、西日本2404:8e01::feed:100。クロスパスなど他 VNE では値が異なる ip tcp adjust-mss 1420-
MSS を書き換える。値の根拠は後述の「MTU / MSS と IPv6 ACL」で説明する
AFTR の IPv6 アドレスは予告なく変更される可能性があります。接続できなくなった場合は、AFTR アドレスの変更がないかを確認します。なお、Cisco IOS XE のトンネルでは AFTR を FQDN で直接指定する方法は標準的でないため、IPv6 アドレスで指定する運用が基本となります。
参考: Cisco Community「transix IPv4 接続(DS-Lite)サービスへの IOS XE ルータ設定例」
DS-Lite 方式では NAT をキャリア側で実施するため、ルーター側での NAT 設定は不要であり、デフォルトルートをip route 0.0.0.0 0.0.0.0 192.0.0.1のように AFTR 側アドレスへ向ける、と案内されています。
https://community.cisco.com/t5/tkb-ネットワーキング-ドキュメント/transix-ipv4接続-ds-lite-サービス-への-ios-xe-ルータ-設定例/ta-p/5365467
MAP-E の設定手順(OCN バーチャルコネクト等)
Cisco の MAP-E は、トンネルインターフェースではなく NAT64 の翻訳機能で実装されます。VNE のルール配信サーバーから MAP ルールを取得し、IPv4 と IPv6 を相互変換します。ルール配信サーバーとの通信は HTTPS で行われるため、サーバー証明書を検証するためのルート CA 証明書を事前に準備する点が、Cisco の MAP-E 設定で特徴的な部分です。
ここでは OCN バーチャルコネクト(OCN IPoE インターネット接続サービス)を例にします。OCN の MAP-E は IOS XE 17.6.2 以降で設定でき、フレッツ光クロス環境では前述のとおり 17.10.1a 以降が前提となります。WAN 側の IPv6 設定は「共通設定」のとおりです。
証明書(ルート CA)の準備
MAP ルール配信サーバーのサーバー証明書は、Starfield Services Root Certificate Authority – G2 にチェーンします。このルート CA をトラストポイントとして登録し、フィンガープリントで検証します。
crypto pki trustpoint TP
enrollment terminal
revocation-check none
fingerprint 925A8F8D2C6D04E0665F596AFF22D863E8256F3F
!
! ルート CA 証明書を投入する
crypto pki authenticate TP
(base64 形式のルート CA 証明書を貼り付け、quit で終了)enrollment terminal を指定すると、crypto pki authenticate で base64 形式の証明書を端末から貼り付けて登録できます。SD-WAN(Controller モード)では端末からの 16 進数(DER 形式)の直接入力ができないため、copy コマンドでルート証明書をファイルとして bootflash: にアップロードし、enrollment url bootflash: で読み込む方法をとります。
なお、ルート CA の構成は将来変更される可能性があります(過去に証明書チェーンの変更へ対応が必要になった経緯があります)接続できない場合は、VNE が案内する最新の証明書情報を確認することを推奨します。
nat64 provisioning の設定
証明書の準備ができたら、NAT64 と MAP-E プロビジョニングを設定します。
ipv6 unicast-routing
!
nat64 settings fragmentation header disable
nat64 route 0.0.0.0/0 GigabitEthernet0/0/0
nat64 provisioning mode jp01 version draft-ietf-softwire-map-03
!
! LAN 側インターフェース
interface Vlan100
ip address 192.168.1.254 255.255.255.0
ip tcp adjust-mss 1420
nat64 enable
!
no ip http server
no ip http secure-server
ip dns server各設定の意味は次のとおりです。
nat64 route 0.0.0.0/0 <WAN インターフェース>-
IPv4 のデフォルト経路を NAT64 経由で WAN 側へ向ける。
nat64 provisioning mode jp01 version draft-ietf-softwire-map-03-
日本の MAP-E(jp01)のプロビジョニングモードを指定する。ルール配信サーバーから MAP ルールを取得し、利用可能な IPv4 アドレスとポート範囲が自動的に決まる。
- LAN 側インターフェースの
nat64 enable -
LAN からのトラフィックを NAT64 翻訳の対象にする。
ip tcp adjust-mss 1420-
MSS を書き換える(根拠は後述の「MTU / MSS と IPv6 ACL」で説明する)
MAP-E では割り当てられたポート範囲だけを使うため、任意ポートでのサーバー公開には制限があります。この仕組みの詳細は、関連記事『IPoE(MAP-E・DS-Lite)の仕組みと PPPoE との違い|方式の選び方と機種対応』で解説しています。
参考: Cisco Community「OCN IPoE インターネット接続サービス(動的 IP)設定サンプル」
nat64 settings、nat64 route、nat64 provisioning mode jp01 をグローバルに設定し、ルール配信サーバー用の CA 証明書を crypto pki trustpoint で登録する手順が案内されています。本設定例の利用には IOS XE 17.6.2 以上が必要とされています。
https://community.cisco.com/t5/tkb-ネットワーキング-ドキュメント/ocn-ipoeインターネット接続サービス-動的ip-設定サンプル/ta-p/4542519
接続に失敗する場合は、clear nat64 map-e rule persistent を実行した後、WAN インターフェースを shutdown → no shutdown で再試行する方法があります。状態確認とあわせて、次の章で扱います。
MTU / MSS と IPv6 ACL の設定
IPoE 環境では、トンネルやカプセル化により利用可能な MTU が減少します。適切な MTU / MSS を設定しないと、パケットの分割や再送が増え、スループット低下の要因となります。
MTU と MSS(ip tcp adjust-mss)
IPoE トンネルの MTU は、物理 MTU 1500 から IPv6 ヘッダー 40 バイトを引いた 1460 バイトが標準的な値です。MSS は、ここからさらに IPv4 ヘッダー 20 バイトと TCP ヘッダー 20 バイトを引いた 1420 バイトとなります。MSS 計算の詳細は、関連記事『IPoE(MAP-E・DS-Lite)の仕組みと PPPoE との違い|方式の選び方と機種対応』で解説しています。
設定箇所は方式によって異なります。DS-Lite ではトンネルインターフェースに ip tcp adjust-mss 1420 と tunnel path-mtu-discovery を設定します。MAP-E(NAT64)では、LAN 側インターフェースに ip tcp adjust-mss 1420 を設定します。いずれも前章までの設定例に含めています。
IPv6 ACL(WAN 側インバウンド)
IPoE 環境では、LAN 内の端末に IPv6 グローバルアドレスが直接払い出されます。PPPoE 時代の「NAPT で守られている」という前提が成立しないため、WAN 側の IPv6 インバウンドを ACL で明示的に制御することが重要です。次は保護の基本方針となる WAN 側 IPv6 ACL の例です。
ipv6 access-list IPv6-WAN-IN
! DS-Lite の場合: AFTR からの IPv4-in-IPv6(プロトコル 4)を許可
permit 4 host 2404:8e00::feed:100 any
! 近隣探索・PMTU 探索に必要な ICMPv6 を許可
permit icmp any any
! DHCPv6 を許可
permit udp any any eq 546
permit udp any any eq 547
deny ipv6 any any
!
interface GigabitEthernet0/0/0
ipv6 traffic-filter IPv6-WAN-IN inICMPv6 は近隣探索や Path MTU 探索に必要なため許可します。DHCPv6(UDP 546 / 547)も許可します。DS-Lite では、AFTR からの IPv4-in-IPv6(プロトコル 4)のトンネルパケットを許可しないと IPv4 通信が成立しないため、AFTR を送信元とするプロトコル 4 を明示的に許可します。MAP-E(NAT64)では、変換後のトラフィックの扱いが異なるため、インバウンド ACL を適用する場合は通信への影響を検証することを推奨します。許可していないインバウンドは末尾の deny ipv6 any any で破棄されます。
状態確認とトラブルシューティング
設定後の動作確認と、つながらないときの対処をまとめます。
show nat64 系コマンドとルール再取得の手順
MAP-E の状態は、show nat64 系コマンドで確認します。
# MAP-E のルール取得状況
show nat64 map-e
# NAT64 の統計情報
show nat64 statistics
# NAT64 の変換テーブル
show nat64 translations
# DHCPv6(プレフィックス取得)の状態
show ipv6 dhcp interfaceshow nat64 map-e で MAP ルール(割り当てられた IPv4 アドレスとポート範囲)が取得できているかを確認します。ルールが取得できていない場合、IPv4 通信は成立しません。MAP-E の接続に失敗する場合は、ルールキャッシュをクリアして再取得を試みます。
clear nat64 map-e rule persistentこのコマンドを実行した後、WAN インターフェースを shutdown → no shutdown で再起動すると、ルールの再取得が行われます。MAP-E のルール取得は HTTPS 通信のため、証明書の信頼設定が完了しているか、ルール配信サーバーへ到達できるかもあわせて確認します。
DS-Lite では、show ipv6 interface brief で WAN 側に IPv6 グローバルアドレスが付与されているか、トンネルインターフェースが up しているかを確認し、AFTR への到達性を確認します。
参考: Cisco Community「Cisco ルータの IPoE(IPv4 over IPv6)サービス設定事例集」
IPv4 over IPv6 トンネルの接続に失敗する場合は、clear nat64 map-e rule persistent を実行した後、WAN インターフェースを shutdown / no shutdown で再試行する手順が案内されています。
https://community.cisco.com/t5/tkb-ネットワーキング-ドキュメント/cisco-ルータの-ipoe-ipv4-over-ipv6-サービス設定事例集/ta-p/5365388
運用上の留意点
Cisco IOS XE は自律モード(Autonomous)と SD-WAN(Controller)モードの両方で IPoE に対応しますが、自律モードはグローバルルーティングテーブルでの動作を前提とする旨が案内されています。VRF を併用する構成では、事前に対応状況を確認することを推奨します。
設定難度や証明書管理の運用負荷を踏まえると、SOHO・小規模用途では YAMAHA や NEC のほうが扱いやすい場合があります。各機種の設定は、関連記事『YAMAHA RTX の MAP-E / DS-Lite 設定|IPoE の構成と確認コマンド』・『FortiGate の MAP-E / DS-Lite 設定|FortiOS バージョン別の対応と手順』で解説しています。Cisco は SD-WAN や大規模拠点の要件がある環境で選ばれることが多い機種です。
まとめ
Cisco IOS XE は、最新バージョンで日本独自の IPoE サービスに対応していますが、対応バージョンの確認と証明書管理が必要で、YAMAHA・FortiGate より設定難度は高めです。要点は次のとおりです。
- フレッツ光クロスでは IOS XE 17.10.1a 以降が必須、実質 17.12.1 / 17.15.1 以降が選択肢
- DS-Lite は tunnel mode ipv6 と AFTR 指定で構成し、NAT はキャリア側で行う。
- MAP-E は nat64 provisioning mode jp01 で構成し、ルール配信サーバー用の CA 証明書が必要
- MTU 1460 / MSS 1420 が標準値で、MSS は ip tcp adjust-mss で設定
- IPoE では WAN 側 IPv6 ACL の明示的な設定が前提で、DS-Lite ではプロトコル 4 の許可も必要
- 状態確認は show nat64 map-e / show nat64 translations、再取得は clear nat64 map-e rule persistent
- 運用負荷は YAMAHA / NEC より高く、SD-WAN や大規模要件のある環境向き。
以上、最後までお読みいただきありがとうございました。


