2013 年 1 月 更新
2012 年 7 月 初版
本ドキュメントでは、IPoE(IP over Ethernet)方式を用いて IPv6 接続する方法を紹介します。
オフィスや家庭において、GW ルータが PPPoE でサービスプロバイダーとブロードバンド回線接続しており、さらに IPv6 インターネットの接続を追加する環境を前提とします。
IPv6 プレフィックスは DHCP-PD(DHCP-Prefex Delegation)によって委譲(Delegate)されます。GW ルータが委譲された Prefix の一部を LAN 側に Stateless DHCP で払い出します。
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 Client
!
ip cef
ipv6 unicast-routing
ipv6 cef
ipv6 dhcp pool STATELESS
import dns-server
import domain-name
!(使用していない I/F を省略)
!
interface GigabitEthernet0
no ip address
duplex auto
speed auto
ipv6 address autoconfig default
ipv6 enable
ipv6 dhcp client pd PREFIX
pppoe enable
pppoe-client dial-pool-number 1
!
interface Vlan1
ip address 192.168.0.254 255.255.255.0
ip nat inside
ip virtual-reassembly in
ipv6 address PREFIX ::1:0:0:0:1/64
ipv6 enable
ipv6 nd other-config-flag
ipv6 dhcp server STATELESS
!
interface Dialer1
ip address negotiated
ip mtu 1454
ip nat outside
ip virtual-reassembly in
encapsulation ppp
ip tcp adjust-mss 1414
dialer pool 1
dialer-group 1
ppp authentication chap callin
ppp chap hostname cisco@example.com
ppp chap password 0 cisco
!
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.0.0 0.0.0.255
!
dialer-list 1 protocol ip permit
!
グローバルコンフィグレーションコマンド
IPv6 で cef スイッチングを有効にします。
グローバルコンフィグレーションコマンド
IPv6 フォワーディングを有効にします。
グローバルコンフィグレーションコマンド
IPv6 の DHCP プール名を定義し、DHCP プール コンフィギュレーションモードに入ります。
DHCP プール コンフィギュレーション コマンド
DHCPv6 クライアントに DNS サーバとドメイン名をインポートします。
インターフェースコンフィグレーションコマンド
このインターフェースで IPv6 アドレスをステートレス・オードコンフィグレーションします。Default オプションによってデフォルトルートをインストールします。
インターフェースコンフィグレーションコマンド
IPv6 プロセスが有効にします。リンクローカルアドレスを自動生成されます。
インターフェースコンフィグレーションコマンド
このインターフェースを DHCPv6 クライアントに設定し、Prefix Delegation を要求します。
インターフェースコンフィグレーションコマンド
このコマンドにより、論理インターフェース Dialer1 を使って、PPPoE セッションを確立するように設定します。
Dialer1 インターフェースに設定されている "dialer pool 1" と "pppoe-client dial-pool-number 1" コマンドの番号 1 が対応します。
グローバルコンフィグレーションコマンド
Vlan1 を SVI として設定します。
インターフェースコンフィグレーションコマンド
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 側に設定します。
インターフェースコンフィグレーションコマンド
RA に O フラグ(Other Configuration Flag)をたてることで RA(ルータアドバタイズメント)のアドレス以外の情報を LAN に伝達します。
インターフェースコンフィグレーションコマンド
DHCPv6 をこのインターフェースで有効にします。
グローバルコンフィグレーションコマンド
Dialer 1 論理インターフェースを定義します。PPPoE セッションは、この Dialer インターフェースにより終端されます。また、PPPoE セッションはダイアラーの動作により確立要求されます。
インタフェースコンフィグレーションコマンド
PPP セッション確立時に IP アドレスがダイナミックにインタフェースに対してアサインされます。
インターフェースコンフィグレーションコマンド
パケットの最大送信サイズを定義します。この事例では、Dialer1 インターフェースから送信されるパケットの最大サイズは 1454 バイトに調整されます。
インターフェースコンフィグレーションコマンド
このインターフェースは PPP カプセル化によりパケットの入出力をします。
インターフェースコンフィグレーションコマンド
このインターフェースを通過する TCP セッションは、TCP の最大セグメントサイズが 1414 バイトでネゴシエーションが行われるようになります。指定できる最大セグメントサイズは、500 バイトから 1460 バイトの間になります。
インターフェースコンフィグレーションコマンド
Dialer1 論理インターフェースと実際に PPPoE 接続する物理インターフェースが紐付けられます。
"dialer pool 1" と GigaEthernet0 インターフェースの "pppoe-client dial-pool-number 1" コマンドの番号 1 が対応します。
インターフェースコンフィグレーションコマンド
PPP セッション確立時に IP アドレスがダイナミックにインターフェースに対してアサインされます。
インターフェースコンフィグレーションコマンド
"dialer-list 1"で定義されたトラフィックパターンを本 Dialer インターフェースに適用します。
このトラフィックがダイアル対象として認識され本 Dialer インターフェースから出て行くときに、PPPoE セッションの確立要求を起動します。
インターフェースコンフィグレーションコマンド
ISP にアクセスする際の認証方法を CHAP に指定します。"callin" パラメータにより、認証は ISP によるユーザー認証の片方向のみ行われます。
インターフェースコンフィグレーションコマンド
PPP の CHAP または PAP 認証(本事例では CHAP)を行う際に必要なユーザー名を設定します。
このユーザー名の @ 以下(ispid)により、接続先 ISP を判別します。
インターフェースコンフィグレーションコマンド
PPP の CHAP または PAP 認証(本事例では CHAP)を行う際に必要なパスワードを設定します。本事例では、"cisco" というパスワードを設定しています。
インターフェースコンフィグレーションコマンド
このインターフェースを通過する TCP セッションは、TCP の最大セグメントサイズが 1414 バイトでネゴシエーションが行われるようになります。指定できる最大セグメントサイズは、500 バイトから 1460 バイトの間になります。
グローバルコンフィグレーションコマンド
スタティックデフォルトルートとして Dialer1 が指定されます。
グローバルコンフィグレーションコマンド
dialer-list に適用させるトラフィックを指定します。
PPPoE 使用時の MTU サイズは、通常時よりも小さくなります。(フレッツでは、1454 バイトを推奨)そのため、MTU サイズを変更するとともに、TCP の MSS(最大セグメントサイズ)の値をそれに合わせて調整することが必要となる点に注意してください。
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