49
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

フレッツ光を Catalyst スイッチで収容してみよう

Last updated at Posted at 2025-12-09

:christmas_tree: はじめに

この記事はシスコの有志による Cisco Systems Japan Advent Calendar 2025 の 10 日目 (シリーズ 2) として投稿しています。

📅 これまでのカレンダーの一覧

:pencil: この記事について

  • ひかり電話有り回線や光クロス回線を Catalyst スイッチで収容することについて、歴史的経緯から様々な情報 (できる/できない) が散見されます
  • シスコのソフトウェア実装の観点から、無難に動く構成やコンフィグを調査して整理しました
  • うまく動かない構成や、その理由も整理します

本記事はシスコのソフトウェア実装の観点から接続可否にかかる技術情報を提供するものであり、法的助言ではありません。機器を通信回線に接続する際には、必ず関連する利用規約や契約上の禁止事項を確認してください。

例えば NTT 東日本の契約約款では技術基準適合認定がある機器以外をつなぐときは申請が必要とされています。L3 スイッチを ONU に直接接続する構成では、当該 L3 スイッチが電気通信事業法に基づく技術基準適合認定(いわゆる T 認証)を取得しているかを確認することをお勧めします。
(参考: Q21-2. スイッチングハブの認証は必要ですか?, 電気通信端末機器技術基準適合認定等制度に関するQ and A

:thumbsup: 簡単なまとめ

:gift: スイッチ

ここでは自宅ラック勢で見かける代表的な機種のみを記載しており、網羅性はありません。
お使いの機種が掲載されていない場合は、利用している IOS, IOS XE のバージョンを確認し、
以下の うまく動かない理由 セクションで該当する発生条件に当てはまるかを確認してください。

  • :warning: Catalyst 3560-X: 回避策が必要
  • :warning: Catalyst 3560-CX: 回避策が必要
  • :warning: Catalyst 3750-X: 回避策が必要
  • :ok: Catalyst 3650
  • :ok: Catalyst 3850
  • :ok: Catalyst 9200
  • :ok: Catalyst 9300

:bookmark_tabs: コンフィグ

ひかり電話あり回線もしくは光クロス回線で DHCPv6 によるプレフィックス移譲を受けるための WAN インターフェイスに関する基本設定は以下のとおりです。

! WAN 側インターフェイス(ここでは TenGigabitEthernet1/0/48 と仮定)
interface TenGigabitEthernet1/0/48
 description *** WAN ***
 no switchport
 no ip address
 ipv6 dhcp client request vendor
 ipv6 dhcp client vendor-class mac-address
 ipv6 dhcp client pd FLETS_PREFIX
 ipv6 address autoconfig default
 ipv6 enable
 ipv6 nd ra suppress
end

このコンフィグは IOS XE 17.10.1a 以降を前提としています。
IOS XE 17.6.x, 17.9.x では ipv6 dhcp client vendor-class mac-address が設定できず、:two: DHCPv6 Solicit Message が無視される問題が発生するためにプレフィックス移譲を受けることができません。

:thinking: うまく動かない理由

:one: DHCPv6 Request Message が無視される

発生条件

  • CSCts28315: DHCP-pd reflect the Advertised prefix in Request message が取り込まれていない IOS, IOS XE を使っているとき
    • Catalyst 3560, 3750 等における最新(最終)の IOS 15.2E ブランチには本改修が含まれていないため、これらの機種では回避策が必要です
    • IOS XE 16.9.5 以降, 16.12.2 以降, 17.x では本改修が含まれているため、問題が発生しません

シスコの Bug Search Tool では不具合に限らず機能拡張も含めて管理されています。
上記リンク先では Cisco Bug と表現されていますが、実際のところ従来から IOS, IOS XE の DHCPv6 クライアントは RFC に準拠して実装されており、相互接続性向上のために実装の変更を行ったものです。

問題の内容

フレッツ光クロスで 2023 年 4 月末頃に実施された工事以降、本事象が発生するようになりました。
具体的には、プレフィックス移譲 (prefix delegation) のために DHCPv6 クライアントが Request Message を送信するときに、Option 26 (IA Prefix Option) を持たないパケットが無視されるようになったようです。

結果的に DHCPv6 クライアントでは正常にプレフィックス移譲を受けることができません。このとき show ipv6 dhcp interface コマンドでは以下のような出力が得られることがあります。

! DHCPv6 クライアントが設定された WAN 側インターフェイスを TenGigabitEthernet1/0/48 と仮定
#show ipv6 dhcp interface TenGigabitEthernet1/0/48

TenGigabitEthernet1/0/48 is in client mode
  Prefix State is REQUEST

回避策

Catalyst スイッチが送信する DHCPv6 Request Message に Option 26 が含まれるように設定します。具体的にはコンフィグで ipv6 dhcp client pd hint を使うことで、Option 26 に設定する IPv6 prefix と prefix length を指定します。

! WAN 側インターフェイス(ここでは TenGigabitEthernet1/0/48 と仮定)
interface TenGigabitEthernet1/0/48
 ! [2001:db8:feed:feed::/56] は環境ごとに異なる
 ipv6 dhcp client pd hint 2001:db8:feed:feed::/56

このコンフィグで設定するべき IPv6 prefix は DHCPv6 サーバ(網側)から送られてくる Advertise Message に記載されています。Catalyst スイッチ単体で確認するためには debug ipv6 dhcp detail コマンドを使うと、以下のような出力から結果を得ることができます。

#terminal monitor
#debug ipv6 dhcp detail
Dec  9 16:43:33.366: IPv6 DHCP: DHCPv6 changes state from IDLE to SOLICIT (START) on TenGigabitEthernet1/0/48
Dec  9 16:43:34.429: IPv6 DHCP: detailed packet contents
Dec  9 16:43:34.429:   src FE80::200:5EFF:FE00:5301
Dec  9 16:43:34.429:   dst FF02::1:2 (TenGigabitEthernet1/0/48)
Dec  9 16:43:34.429:   type SOLICIT(1), xid 4404741
Dec  9 16:43:34.429:   option ELAPSED-TIME(8), len 2
Dec  9 16:43:34.429:     elapsed-time 0
Dec  9 16:43:34.429:   option CLIENTID(1), len 10
Dec  9 16:43:34.429:     0003000100005E005301
Dec  9 16:43:34.429:   option USER-CLASS(15), len 10
Dec  9 16:43:34.429:      user-class-data-len 8
Dec  9 16:43:34.429:      data: ciscopnp
Dec  9 16:43:34.429:   option VENDOR-CLASS(16), len 12
Dec  9 16:43:34.429:      Enterprise id 9
Dec  9 16:43:34.429:      vendor-class-data-len 6
Dec  9 16:43:34.429:      data: 0000.5e00.5301
Dec  9 16:43:34.429:   option ORO(6), len 10
Dec  9 16:43:34.429:     IA-PD,DNS-SERVERS,DOMAIN-LIST,Boot-File-URL,VENDOR-OPTS
Dec  9 16:43:34.430:   option IA-PD(25), len 12
Dec  9 16:43:34.430:     IAID 0x004E0001, T1 0, T2 0
Dec  9 16:43:34.430: IPv6 DHCP: Sending SOLICIT to FF02::1:2 src FE80::200:5EFF:FE00:5301 on TenGigabitEthernet1/0/48
Dec  9 16:43:34.450: IPv6 DHCP: Received ADVERTISE message
Dec  9 16:43:34.450: IPv6 DHCP: Received ADVERTISE from FE80::200:5EFF:FE00:5302 on TenGigabitEthernet1/0/48
Dec  9 16:43:34.450: IPv6 DHCP: detailed packet contents
Dec  9 16:43:34.450:   src FE80::200:5EFF:FE00:5302 (TenGigabitEthernet1/0/48)
Dec  9 16:43:34.450:   dst FE80::200:5EFF:FE00:5301 (TenGigabitEthernet1/0/48)
Dec  9 16:43:34.450:   type ADVERTISE(2), xid 4404741
Dec  9 16:43:34.450:   option CLIENTID(1), len 10
Dec  9 16:43:34.450:     0003000100005E005301
Dec  9 16:43:34.450:   option SERVERID(2), len 10
Dec  9 16:43:34.450:     0003000100005E005302
Dec  9 16:43:34.450:   option IA-PD(25), len 41
Dec  9 16:43:34.450:     IAID 0x004E0001, T1 7200, T2 10800
Dec  9 16:43:34.450:     option IAPREFIX(26), len 25
Dec  9 16:43:34.450:       preferred 12600, valid 14400, prefix 2001:DB8:FEED:FEED::/56
                                                                ^^^^^^^^^^^^^^^^^^^^^^^

なお、CSCts28315: DHCP-pd reflect the Advertised prefix in Request message が取り込まれた IOS, IOS XE 環境では、Advertise Message の内容を反映した Request Message の Option 26 が自動的に送出されます。

プレフィックス変更に追従してコンフィグを書き換える必要があります

フレッツ光でユーザに割り当てられる IPv6 プレフィックスは半固定なので、実際には工事等で変化することがあります。
「コンフィグに書かれた IPv6 プレフィックス」と「実際にユーザが使ってよい IPv6 プレフィックス」が一致しないと正常なプレフィックス移譲を受けられません。

IOS, IOS XE に備わる機能: EEM (Embedded Event Manager) を使うことで自動で書き換えることができるかもしれません。EEM はネットワーク機器単体でイベント(トリガ)に応じて自律的に CLI コマンドや Tcl スクリプトを実行することができる仕組みです。

:two: DHCPv6 Solicit Message が無視される

発生条件

  1. IOS XE のうち 17.2.1 以上 17.10.1a より古いバージョンを使っている (17.2.1 <=, < 17.10.1a)
  2. IOS XE 17.10.1a 以降を使っていて、DHCPv6 Option 16 (Vendor Class) に MAC アドレスを使うためのコンフィグ ipv6 dhcp client vendor-class mac-address が設定されていない

問題の内容

IOS XE 17.2.1 以降では、Zero Touch Provisioning (ZTP) 機能のサポートに伴い、DHCPv4/v6 の実装が変更されました。具体的には、DHCPv4 Option 124, DHCPv6 Option 16 (Vendor Class) に含まれる内容が、従来の MAC アドレスから Product ID に変更されています。

一方、フレッツ光の DHCPv6 サーバはこのような DHCPv6 Solicit Message を受け付けないようです。結果として、IOS XE 17.2.1 から 17.10.1a より前のバージョンでは正常にプレフィックス移譲を受けることができません。

この問題に対応するため、IOS XE 17.10.1a から新しいコンフィグ ipv6 dhcp client vendor-class mac-address が追加されました。このコマンドを設定することで、DHCPv6 Option 16 の vendor-class-data では MAC アドレスをエンコードするように動作を変更でき、フレッツ光の要件を満たすことができます。

より詳しい情報は、Cisco Community の記事「NTT東西フレッツ光に DHCP で接続する場合の設定について(IOS XE 17.10.1a 以降)」をご参照ください。

SD-WAN ルータでは ipv6 dhcp client vendor-class mac-address の設定が正常に反映されない既知の不具合があります。
より詳しい情報は、Cisco Community の記事「XE SD-WAN : On-Site Bootstrap Process で起動すると DHCPv6 で IP アドレスが取得できない」をご参照ください。

:question: よくある質問

:one: 筆者は ONU 直下にルータではなく L3 スイッチを接続しているの?

はい、しています。メリット・デメリットがありますが、個人的にはメリットのほうが大きいと感じています。

メリット

  • 10Gbps を処理できるルータより 10Gbps を処理できるスイッチのほうが安くて選択肢が多い
    • 特に IPv6 で /56 を移譲されれば複数の /64 を切り出せるので、1Gbps を処理できるルータをいくつもぶら下げる構成が取りやすい
  • ONU 直下でパケットキャプチャを取りやすい
  • L3 スイッチの単純なルーティングは ASIC で高速に処理される

デメリット

  • PPPoE や IPv4 over IPv6 (MAP-E, DS-Lite など) に対応するためには L3 スイッチ配下にルータを設置する必要がある
    • 機材が増えるので消費電力が上がる(いずれにしても L3 スイッチは一家に一台以上あるのでは)
    • 単一障害点が増える
    • ホップ数が増える
      • IPv4 だけルータを経由する必要があるので、デフォルトゲートウェイが IPv4 と IPv6 で一致しないヘンテコ構成が推奨?!:boom:

:two: 筆者はトラブルに巻き込まれた?

ASR1001-X を用意して、いざ回線を接続したところ :two: DHCPv6 Solicit Message が無視される の対象になることが分かりました。

ASR1001-X における IOS XE の最新(最終)リリースは 17.9.x なので「ものすごく古い IOS XE を使う」か「回線を直収しない」という究極の二択を迫られました :cry:
もちろん新しい機材を買いました :fist:

:three: ルータは? IPoE (IPv4 over IPv6) は?

Cisco ルータの IPoE (IPv4 over IPv6) サービス設定事例集 - Cisco Community をご参照ください。

:bow: 免責事項

記載されているサービス名等は、各社の商標または登録商標です。

本サイトおよび対応するコメントにおいて表明される意見は、投稿者本人の個人的意見であり、私の所属する組織の意見ではありません。本サイトの内容は、情報の提供のみを目的として掲載されており、私の所属する組織や他の関係者による推奨や表明を目的としたものではありません。各利用者は、本Webサイトへの掲載により、投稿、リンクその他の方法でアップロードした全ての情報の内容に対して全責任を負い、本Webサイトの利用に関するあらゆる責任から私の所属する組織を免責することに同意したものとします。

49
29
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
49
29

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?