システムの前提条件
PPPoE 方式を利用するブロードバンド回線接続を提供するサービスにて、Cisco ISR サービス統合型ルータを使用し、インターネットに接続するための設定を行います。
想定する環境
ルータを ADSL モデムなどに接続し、PPPoE にてサービスプロバイダーに接続します。サービスプロバイダが提供する固定グローバル IP アドレスを LAN 側の PC-A をルータの LAN 側アドレスに割り当てる LAN 型払い出し方式とします。
必要なハードウェア/ソフトウェア要件
Cisco ISR サービス統合型ルータシリーズは全てオンボードにて 2FE(もしくは 2GE)を具備します。Cisco ISR シリーズにて本構成が実現可能なハードウェア/ソフトウェアの組み合わせは下記になります。
サンプルコンフィグレーション
hostname 1812J-B
!
ip subnet-zero
!
ip cef
!
interface FastEthernet0
no ip address
duplex auto
speed auto
pppoe enable
pppoe-client dial-pool-number 1
!
interface FastEthernet3
!
interface Vlan1
ip address 64.2.2.14 255.255.255.240
ip tcp adjust-mss 1414
!
interface Dialer1
ip unnumbered Vlan1
encapsulation ppp
dialer pool 1
dialer-group 1
ip mtu 1454
ppp authentication chap callin
ppp chap hostname Flet's@cisco.com
ppp chap password 0 cisco
!
ip classless
ip route 0.0.0.0 0.0.0.0 Dialer1
!
dialer-list 1 protocol ip permit
キーとなるコマンドの解説
----------------------------
"pppoe enable"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
インタフェースにおいて PPPoE プロトコルを使用可能にします。
----------------------------
"pppoe-client dial-pool-number 1"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
このコマンドにより、論理インタフェース Dialer1 を使って、PPPoE セッションを確立するように設定します。
Dialer1 インタフェースに設定されている"dialer pool 1"と"pppoe-client dial-pool-number 1"コマンドの番号 1 が対応します。
----------------------------
"interface Dialer1"
<コマンド種別>
グローバルコンフィグレーションコマンド
<コマンドの機能>
Dialer 1 論理インタフェースを定義します。PPPoE セッションは、この Dialer インタフェースにより終端されます。また、PPPoE セッションはダイアラーの動作により確立要求されます。
----------------------------
"ip mtu 1454"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
パケットの最大送信サイズを定義します。この事例では、Dialer1 インタフェースから送信されるパケットの最大サイズは 1454 バイトに調整されます。
----------------------------
"encapsulation ppp"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
このインタフェースは PPP カプセル化によりパケットの入出力をします。
----------------------------
"dialer pool 1"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
Dialer1 論理インタフェースと実際に PPPoE 接続する物理インタフェースが紐付けられます。
"dialer pool 1"と FastEthernet0 インタフェースの"pppoe-client dial-pool-number 1"コマンドの番号 1 が対応します。
----------------------------
"ip unnumbered Vlan1"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
WAN 側インタフェース(Dialer1)はアドレス無し(Unnumbered)に設定されます。このルーターから送出されるパケットは、Vlan1 のアドレスが送信元アドレスとなります。
----------------------------
"dialer-group 1"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
"dialer-list 1"で定義されたトラフィックパターンを本 Dialer インタフェースに適用します。
このトラフィックがダイアル対象として認識され本 Dialer インタフェースから出て行くときに、PPPoE セッションの確立要求を起動します。
----------------------------
"ppp authentication chap callin"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
ISP にアクセスする際の認証方法を CHAP に指定します。"callin"パラメータにより、認証は ISP によるユーザー認証の片方向のみ行われます。
----------------------------
"ppp chap hostname Flet's@cisco.com "
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
PPP の CHAP または PAP 認証(本事例では CHAP)を行なう際に必要なユーザー名を設定します。
このユーザー名の @ 以下(ispid)により、接続先 ISP を判別します。
----------------------------
"ppp chap password 0 cisco"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
PPP の CHAP または PAP 認証(本事例では CHAP)を行なう際に必要なパスワードを設定します。本事例では、"cisco"というパスワードを設定しています。
----------------------------
"ip tcp adjust-mss 1414"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
このインタフェースを通過する TCP セッションは、TCP の最大セグメントサイズが 1414 バイトでネゴシエーションが行われるようになります。指定できる最大セグメントサイズは、500 バイトから 1460 バイトの間になります。
----------------------------
"ip route 0.0.0.0 0.0.0.0 Dialer1"
<コマンド種別>
グローバルコンフィグレーションコマンド
<コマンドの機能>
スタティックデフォルトルートとして Dialer1 が指定されます。
----------------------------
"dialer-list 1 protocol ip permit"
<コマンド種別>
グローバルコンフィグレーションコマンド
<コマンドの機能>
dialer-list に適用させるトラフィックを指定します。
----------------------------
設定に際しての注意点
PPPoE 使用時の MTU サイズは、通常時よりも小さくなります。(フレッツでは、1454 バイトを推奨)そのため、MTU サイズを変更すると共に、TCP の MSS(最大セグメントサイズ)の値をそれに合わせて調整することが必要となる点に注意してください。
PPPoE インターフェース上での ip route 0.0.0.0 0.0.0.0 Dialer1 と指定した際にはファーストスイッチとなります。PPPoE にてより高速な CEF スイッチを実現する為にはサービスプロバイダーの BAS アドレスが PPP ネゴシエーション時にルータにインストールされている必要があります。インストールされている様であれば、dialer インターフェースにて ppp ipcp route default を設定し、再度 PPPoE セッション確立してください。PPP ネゴシエーション終了時に BAS アドレスを nexthop としたデフォルトルートが作成されます。
以前 IOS では PPPoE クライアントにおいて、下記のコマンドが必要でしたが、現在の IOS では必要がありません。またこのコマンドを設定する事により PPPoE サーバの機能が有効になり、WAN 側の同一セグメントにおいて、PPPoE クライアントが存在する際には、broadcast で送られる PADI に対し、PADO を返してしまいます。設定は行わないで下さい。
vpdn enable
vpdn-group 1
request-dialin
protocol pppoe
1812J や 871 の様な SW 内蔵のプラットホームまたは HWIC-4ESW/HWIC-9DESW などのスイッチモジュールを使用し、vlan を使用する際には、vlan database コマンドにて追加する vlan を指定する必要があります。
実際に導入し、運用される際には障害解析などの観点により下記の様なコマンドも追加する事を推奨いたします。
service timestamps debug datetime localtime msec
service timestamps log datetime localtime msec
clock timezone JST 9
!
logging buffered 512000 debugging
!
clock calendar-valid