2013 年 1 月　更新

2012 年 6 月　初版

目次

概要

ネットワーク構成図

システムの前提条件

想定される環境

必要なハードウェア/ソフトウェア要件

サンプル コンフィグレーション

キーとなるコマンドの解説

設定に際しての注意点

概要

本ドキュメントでは、IPv4 インターネットを PPPoE にて接続している GW ルータで、PPPoE より IPv6 インターネットの接続を実現します。

ネットワーク構成図

システムの前提条件

オフィスや家庭において、GW ルータが PPPoE でサービスプロバイダーとブロードバンド回線接続しており、さらに IPv6 インターネットの接続を追加する環境を前提とします。

想定される環境

IPv4 インターネットのために、ISP と PPPoE 接続をし、IPv6 インターネットのためにさらに PPPoE 接続をおこないます。IPv6 プレフィックスはから DHCP-PD (DHCP-Prefex Delegation) によって委譲 (Delegate) されます。GW ルータが委譲された Prefix の一部を LAN 側に Stateless DHCP で払い出します。

本構成では ISR892J を PPPoE 終端ルータとして使用しています。

必要なハードウェア/ソフトウェア要件

ISR G2 はすべてオンボードにて、2FE（または GE）を具備します。また 800 シリーズはデフォルトでスイッチモジュールが装備されています。ISR G2 シリーズにて本構成が実現可能なハードウェア/ソフトウェアの組み合わせは以下になります。

プラットホーム

IOS

800 シリーズ*1

(867VAE/881/892J)

15.0(1)M 以降*2

1900 シリーズ

(1921/1941)

2900 シリーズ

(2901/2911/2921/2951)

3900 シリーズ

(3925/3925E/3945/3945E)

*1 C861 では IPv6 をサポートしません。

CSCud84860 C861 should remove any IPv6 feature

*2 DHCP-pd を最適化するために以下の修正をおこなっています。最新の IOS を使用する事を推奨致します。

CSCts28315 DHCP-pd reflect the Advertised prefix in Request message

サンプル コンフィグレーション

hostname 892-PPPoE-v4v6-Client

!

ip cef

ipv6 unicast-routing

ipv6 cef

ipv6 dhcp pool STATELESS

import dns-server

import domain-name

!!

interface BRI0

no ip address

encapsulation hdlc

shutdown

isdn termination multidrop

!

interface FastEthernet0

no ip address

!

# (Fa0-7 は同一設定のため、以下省略）

!

interface GigabitEthernet0

no ip address

duplex auto

speed auto

pppoe enable group global

pppoe-client dial-pool-number 100

pppoe-client dial-pool-number 1

!

interface Vlan1

ip address 192.168.1.254 255.255.255.0

ip nat inside

ip virtual-reassembly in

ipv6 address PREFIX ::101:0:0:0:1/64

ipv6 enable

ipv6 nd other-config-flag

ipv6 dhcp server STATELESS

!

interface Dialer1

ip address negotiated

ip mtu 1454

encapsulation ppp

ip tcp adjust-mss 1414

dialer pool 1

dialer-group 1

ppp authentication chap callin

ppp chap hostname ipv4@example.com

ppp chap password 0 ipv4

!

interface Dialer100

no ip address

ipv6 mtu 1280

encapsulation ppp

dialer pool 100

dialer-group 100

ipv6 enable

no ipv6 nd ra suppress

ipv6 dhcp client pd PREFIX

ppp authentication chap callin

ppp chap hostname ipv6@example.net

ppp chap password 0 ipv6

!

no ip http server

no ip http secure-server

ip forward-protocol nd

!

ip nat inside source list 1 interface Dialer1 overload

ip route 0.0.0.0 0.0.0.0 Dialer1

!

access-list 1 permit 192.168.1.0 0.0.0.255

!

!

ipv6 route ::/0 Dialer100

!

dialer-list 1 protocol ip permit

dialer-list 100 protocol ipv6 permit

!

キーとなるコマンドの解説

"ipv6 unicast-routing"

＜コマンド種別＞

グローバルコンフィグレーションコマンド

＜コマンドの機能＞

IPv6 フォワーディングを有効にします。

"ipv6 dhcp pool STATELESS"

＜コマンド種別＞

グローバルコンフィグレーションコマンド

＜コマンドの機能＞

IPv6 の DHCP プール名を定義し、DHCP プール コンフィギュレーションモードに入ります。

"import dns-server"

"import domain-name"

＜コマンド種別＞

DHCP プール コンフィギュレーション コマンド

＜コマンドの機能＞

DHCPv6 クライアントに DNS サーバとドメイン名をインポートします。

"pppoe-client dial-pool-number 1"

"pppoe-client dial-pool-number 100"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

このコマンドにより、論理インタフェース Dialer1 と Dialer100 をそれぞれ使って、PPPoE を ２セッション確立するように設定します。

Dialer1 インタフェースに設定されている"dialer pool 1"と"pppoe-client dial-pool-number 1"コマンドの番号 1 が対応します。

Dialer100 インタフェースの場合も同様に"dialer pool 100"と"pppoe-client dial-pool-number 100"コマンドの番号 100 が対応します。

" ipv6 address PREFIX ::101:0:0:0:1/64 "

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

DHCP-pd サーバーによって払い出されたされた "PREFIX" から委譲し、::1:0:0:0:1/64 となる Prefix を LAN 用に設定し IPv6 アドレスを LAN 側に設定します。

例: DHCP-pd が 2001:db8:1200::/48 で委譲された場合は、IPv6 アドレス 2001:db8:1200:1::1/64 を LAN 側に設定します。

"ipv6 enable"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

IPv6 プロセスが有効にします。リンクローカルアドレスを自動生成されます。

"ipv6 nd other-config-flag"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

RA に O フラグ (Other Configuration Flag) をたてることで RA（ルータアドバタイズメント）のアドレス以外の情報を LAN に伝達します。

"interface Dialer1"

"interface Dialer100"

＜コマンド種別＞

グローバルコンフィグレーションコマンド

＜コマンドの機能＞

Dialer1 と Dialer100 論理インタフェースを定義します。PPPoE セッションはそれぞれ、この Dialer インタフェースにより終端されます。また、PPPoE セッションはダイアラの動作により確立要求されます。

"ip address negotiated"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

PPP セッション確立時に IP アドレスがダイナミックにインタフェースに対してアサインされます。

"ip mtu 1454"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

パケットの最大送信サイズを定義します。この事例では、Dialer1 インタフェースから送信されるパケットの最大サイズは 1454 バイトに調整されます。

"encapsulation ppp"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

このインタフェースは PPP カプセル化によりパケットの入出力をします。

"ip tcp adjust-mss 1414"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

このインタフェースを通過する TCP セッションは、TCP の最大セグメントサイズが 1414 バイトでネゴシエーションがおこなわれるようになります。指定できる最大セグメントサイズは、500 バイトから 1460 バイトの間になります。

"dialer pool 1"

"dialer pool 100"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

Dialer1 論理インタフェースと実際に PPPoE 接続する物理インタフェースが紐付けられます。

"dialer pool 1"と"pppoe-client dial-pool-number 1"コマンドの番号 1 が対応します。

dialer pool 100"の場合も同様で"dialer pool 100"と"pppoe-client dial-pool-number 100"コマンドの番号 100 が対応します。

"dialer-group 1"

"dialer-group 100"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

"dialer-list 1"で定義されたトラフィックパターンを本 Dialer インタフェースに適用します。

このトラフィックがダイアル対象として認識され本 Dialer インタフェースから出て行くときに、PPPoE セッションの確立要求を起動します。

"ppp authentication chap callin"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

ISP にアクセスする際の認証方法を CHAP に指定します。"callin"パラメータにより、認証は ISP によるユーザー認証の片方向のみ、おこなわれます。

"ppp chap hostname ipv4@example.com "

"ppp chap hostname ipv6@example.net "

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

PPP の CHAP または PAP 認証（本事例では CHAP) をおこなう際に必要なユーザー名を設定します。

このユーザー名の @ 以下 (ispid) により、接続先 ISP を判別します。IPv4 PPPoE と IPv6 PPPoE でそれぞれの値を設定します。

"ppp chap password 0 ipv4"

"ppp chap password 0 ipv6"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

PPP の CHAP または PAP 認証（本事例では CHAP）をおこなう際に必要なパスワードを設定します。本事例では、IPv4 PPPoE と IPv6 PPPoE それぞれのダイアラで "ipv4" "ipv6" というパスワードを設定しています。

"ip route 0.0.0.0 0.0.0.0 Dialer1"

"ipv6 route ::/0 Dialer100"

＜コマンド種別＞

グローバルコンフィグレーションコマンド

＜コマンドの機能＞

スタティックデフォルトルートとして IPv4 で Dialer1、IPv6 で Dialer100 がそれぞれ指定されます。

"ipv6 mtu 1280"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

IPv6 MTU サイズを最小値である 1280 に設定します。

"no ipv6 nd ra suppress"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

無効化されている RA を有効にします。

"ipv6 dhcp client pd PREFIX"

＜コマンド種別＞

インタフェースコンフィグレーションコマンド

＜コマンドの機能＞

このインタフェースを DHCPv6 クライアントに設定し、Prefix Delegation を要求します。

"dialer-list 1 protocol ip permit"

"dialer-list 100 protocol ipv6 permit"

＜コマンド種別＞

グローバルコンフィグレーションコマンド

＜コマンドの機能＞

dialer-list に適用させるトラフィックを指定します。

設定に際しての注意点

PPPoE 使用時の MTU サイズは、通常時よりも小さくなります。（フレッツでは、1454 バイトを推奨）そのため、MTU サイズを変更すると共に、TCP の MSS（最大セグメントサイズ）の値をそれに合わせて調整することが必要となる点に注意してください。

IPv6 では、MTU サイズを規格上の最小である 1280 に設定しています。

PPP MTU/MRU は PPP セッション確立においての必須項目ではありませんが、LCP ネゴシエーションで通知される MRU に合致していないと受け入れる事ができないサービスが存在します。Dialer interface にて以下のコマンドを追記し、通知される MRU に合わす事が可能になります。

ppp mtu adaptive

実際に導入し、運用される際には障害解析などの観点により以下のようなコマンドも追加する事を推奨します。

service timestamps debug datetime localtime msec

service timestamps log datetime localtime msec

clock timezone JST 9

!

logging buffered 512000 debugging

!

clock calendar-valid