2. システムの前提条件
PPPoE 方式を利用するブロードバンド回線接続を提供するサービスにて、Cisco サービス統合型ルータを使用し、インターネットに接続するための設定を行います。
3. 想定する環境
ルータを ADSL モデムなどに接続し、WAN 側の IP アドレスを PPPoE にて取得するように設定します。IP アドレスの提供方法は、1 つのグローバル IP アドレスを動的に払い出す、端末型払い出しとします。LAN 側のネットワークに接続された PC-A はルータの PAT 機能により、サービスプロバイダーより配布された WAN 側の IP アドレスに変換され、インターネットにアクセスします。
4. 必要なハードウェア/ソフトウェア要件
Cisco ISR サービス統合型ルータ シリーズは全てオンボードにて 2FE(もしくは 2GE)を具備します。Cisco ISR シリーズにて本構成が実現可能なハードウェア/ソフトウェアの組み合わせは下記になります。
5. サンプルコンフィグレーション
hostname 1812J-A
!
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 192.168.0.254 255.255.255.0
ip nat inside
ip virtual-reassembly
ip tcp adjust-mss 1414
!
interface Dialer1
ip address negotiated
ip mtu 1454
ip nat outside
ip virtual-reassembly
encapsulation ppp
dialer pool 1
dialer-group 1
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
!
ip nat inside source list 1 interface Dialer1 overload
!
access-list 1 permit 192.168.0.0 0.0.0.255
dialer-list 1 protocol ip permit
!
6. キーとなるコマンドの解説
----------------------------
"pppoe enable"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
インタフェースにおいて PPPoE プロトコルを使用可能にします。
----------------------------
"pppoe-client dial-pool-number 1"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
このコマンドにより、論理インタフェース Dialer1 を使って、PPPoE セッションを確立するように設定します。
Dialer1 インタフェースに設定されている"dialer pool 1"と"pppoe-client dial-pool-number 1"コマンドの番号 1 が対応します。
----------------------------
"interface Dialer 1"
<コマンド種別>
グローバルコンフィグレーションコマンド
<コマンドの機能>
Dialer 1 論理 インタフェースを定義します。PPPoE セッションは、この Dialer インタフェースにより終端されます。また、PPPoE セッションはダイアラーの動作により確立要求されます。
----------------------------
"ip address negotiated"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
PPP セッション確立時に IP アドレスがダイナミックにインタフェースに対してアサインされます。
----------------------------
"ip mtu 1454"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
パケットの最大送信サイズを定義します。この事例では、Dialer1 インタフェースから送信されるパケットの最大サイズは 1454 バイトに調整されます。
----------------------------
"encapsulation ppp"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
このインタフェースは PPP カプセル化によりパケットの入出力をします。
----------------------------
"dialer pool 1"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
Dialer1 論理インタフェースと実際 にPPPoE 接続する物理インタフェースが紐付けられます。
"dialer pool 1"と FastEthernet0 インタフェースの"pppoe-client dial-pool-number 1"コマンドの番号 1 が対応します。
----------------------------
"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 nat inside source list 1 interface Dialer1 overload"
<コマンド種別>
グローバルコンフィグレーションコマンド
<コマンドの機能>
アクセスリスト 1 番にマッチするトラフィックは、Dialer1 インタフェースの IP アドレスをグローバルアドレスとして利用して、アドレス変換(PAT)が行われます。
----------------------------
"ip nat inside/outside"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
"ip nat inside"が設定されたインタフェースは、NAT(PAT)における内部(LAN 側、プライベート側)であると定義され、"ip nat outside"が設定されたインタフェースは、NAT(PAT)における外部(WAN 側、グローバル側)であると定義されます。
----------------------------
"access-list 1 permit 192.168.0.0 0.0.0.255"
<コマンド種別>
グローバルコンフィグレーションコマンド
<コマンドの機能>
ネットワーク 192.168.0.0/255.255.255.0 を送信元とするトラフィックがマッチする標準アクセスリストです。本事例では、アドレス変換(PAT)対象のトラフィックを定義しています。
----------------------------
"ip tcp adjust-mss 1414"
<コマンド種別>
インタフェースコンフィグレーションコマンド
<コマンドの機能>
このインタフェースを通過する TCP セッションは、TCP の最大セグメントサイズが 1414 バイトでネゴシエーションが行われるようになります。
----------------------------
"ip route 0.0.0.0 0.0.0.0 Dialer1"
<コマンド種別>
グローバルコンフィグレーションコマンド
<コマンドの機能>
スタティックデフォルトルートとして Dialer1 が指定されます。
----------------------------
"dialer-list 1 protocol ip permit"
<コマンド種別>
グローバルコンフィグレーションコマンド
<コマンドの機能>
dialer-listに 適用させるトラフィックを指定します。
----------------------------
7. 設定に際しての注意点
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
8. ダイアラーインターフェイスのコンポーネント
※ 画像をクリックすると、大きく表示されます。
ダイアラーインターフェースとは、各種設定と関係付けられた仮想インターフェースです。
ある物理インターフェースがダイヤリングに使用されると、その物理インターフェイスは、ダイアラーインターフェース用に設定されているパラメータを引き継いで利用します。ダイアラーインターフェイスは、その設定をダイアラープールと関連付ける事により、それら設定を物理インターフェースに適用します。ダイアラープール(Dialer pool/dial pool)は 1 つ以上の物理インターフェースのグループです。上の図では各種 Policy の中で、PPP で使用する認証方式を CHAP と指定しています。(ppp authentication chap callin)この Policy はダイアラーインタフェイス 1 に設定され、物理インターフェイスには設定されていません。このとき、ダイアラーインターフェイスは、この Policy の適用する物理インターフェイスを参照するため、ダイアラープール 1 と関連付けられます。ダイアラープール 1 のメンバーには、物理インターフェースの 1 と 2 が設定されているため、ダイアラーインターフェイスに設定された CHAP の認証方式は、物理インターフェースの 1 と 2 に適用されます。このようにダイアラ−インターフェイスを使用する事により、1 つのインターフェイスの設定を複数のインターフェイスに反映させることが出来ます。