本ドキュメントでは、PPPoE パススルー機能を用いて、GW ルータの PPPoE 接続とは別個に LAN 側の端末でも PPPoE 接続を終端するための設定を紹介します。本構成では LAN 側に SVI を使用します。
オフィスや家庭において、GW ルータがサービスプロバイダーと PPPoE 方式でインターネット接続をしている環境を前提とします。
ルータを ONU や ADSL モデムなどに接続し、PPPoE にてサービスプロバイダーに接続します。一つの IP アドレスを動的に払い出す端末型払い出しとし、LAN 側セグメントは NAT によりインターネットに接続します。
この接続環境において、さらに以下のような要求の端末が同一セグメントにある場合を想定します。
ISR G2 はすべてオンボードにて、2FE(または GE)を具備します。また 800 シリーズはデフォルトでスイッチモジュールが装備されています。ISR G2 シリーズにて本構成が実現可能なハードウェア/ソフトウェアの組み合わせは以下になります。
プラットホーム | 必要なハードウェア*1 | IOS |
---|---|---|
800 シリーズ (861/881/892J) |
N/A | 15.2(3)T 以降 |
1900 シリーズ (1921/1941) |
EHWIC-D-8ESG EHWIC-4ESG HWIC-D-9ESW HWIC-4ESW などの EHWIC/HWIC Ethernet モジュール |
|
2900 シリーズ (2901/2911/2921/2951) |
上記 EHWIC/HWIC および SM-D-ES3G-48 SM-ES3G-24 などのサービスモジュール |
|
3900 シリーズ (3925/3925E/3945/3945E) |
*1 詳細は「Interfaces and Modules」を参照下さい
! hostname 892j-PPPoE-BVI ! ! ip cef no ipv6 cef ! bridge irb ! interface BRI0 no ip address encapsulation hdlc shutdown isdn termination multidrop ! # (LAN 側ポートの一括設定例。実際の running-config には表示されません。) ! interface range FastEthernet0-7 switchport access vlan 10 no ip address !! ! interface FastEthernet0 switchport access vlan 10 no ip address ! #(Fa0-7 は同一設定のため、以下省略) ! interface GigabitEthernet0 no ip address duplex auto speed auto bridge-group 1 ! interface Vlan1 no ip address ! interface Vlan10 no ip address bridge-group 1 bridge-group 1 input-type-list 200 ! interface Dialer1 ip address negotiated ip mtu 1454 ip nat outside ip virtual-reassembly in encapsulation ppp dialer pool 1 dialer-group 1 ppp authentication chap callin ppp chap hostname cisco ppp chap password 0 example@cisco.com ! interface BVI1 ip address 192.168.1.254 255.255.255.0 ip nat inside ip virtual-reassembly in ip tcp adjust-mss 1414 pppoe-client dial-pool-number 1 ! 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 access-list 200 permit 0x0800 0x0000 access-list 200 permit 0x0806 0x0000 access-list 200 permit 0x8863 0x0000 access-list 200 permit 0x8864 0x0000 ! dialer-list 1 protocol ip permit ! bridge 1 protocol ieee bridge 1 route ip ! mgcp profile default ! line con 0 exec-timeout 0 0 logging synchronous line aux 0 line vty 0 4 transport input all !
グローバルコンフィグレーションコマンド
IRB をイネーブルにします。トラフィックのブリッジングを有効にします。
インターフェースコンフィグレーションコマンド
インターフェイスにブリッジグループ番号 1 をアサインします。
インターフェースコンフィグレーションコマンド
"access-list 200"で定義されたトラフィックパターンを本インターフェースに適用します。
グローバルコンフィグレーションコマンド
イーサタイプ 0x0800 (IPv4) 、0x0806 (ARP)、イーサタイプ 0x8863 (PPPoE Discovery Stage)、0x8864 (PPPoE Session Stage) のトラフィックがマッチするアクセスリストです。本設定に IPv6 パススルー機能も追加したい場合にはイーサタイプ 0x86DD (IPv6) を追加して下さい。
グローバルコンフィグレーションコマンド
ブリッジ グループ番号 1に対応する BVI を設定します。各ブリッジ グループに対応させることができる BVI は、1 つだけです。
インターフェースコンフィグレーションコマンド
このコマンドにより、論理インターフェース Dialer1 を使って、PPPoE セッションを確立するように設定します。
Dialer1 インターフェースに設定されている"dialer pool 1"と"pppoe-client dial-pool-number 1"コマンドの番号 1 が対応します。
グローバルコンフィグレーションコマンド
Dialer 1 論理インターフェースを定義します。PPPoE セッションは、この Dialer インターフェースにより終端されます。また、PPPoE セッションはダイアラーの動作により確立要求されます。
インターフェースコンフィグレーションコマンド
パケットの最大送信サイズを定義します。この事例では、Dialer1 インターフェースから送信されるパケットの最大サイズは 1454 バイトに調整されます。
インターフェースコンフィグレーションコマンド
このインターフェースは PPP カプセル化によりパケットの入出力をします。
インターフェースコンフィグレーションコマンド
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 が指定されます。
グローバルコンフィグレーションコマンド
VLAN10 を SVI として設定します。
グローバルコンフィグレーションコマンド
ブリッジグループ番号 1 をアサインし、IEEE 802.1D スパニングツリープロトコルを適用します。
グローバルコンフィグレーションコマンド
IP をルーティング対象にします。
PPPoE 使用時の MTU サイズは、通常時よりも小さくなります。(フレッツでは、1454 バイトを推奨)そのため、MTU サイズを変更すると共に、TCP の MSS(最大セグメントサイズ)の値をそれに合わせて調整することが必要となる点に注意してください。
PPP MTU/MRU は PPP セッション確立においての必須項目ではありませんが、LCP ネゴシエーションで通知される MRU に合致していないと受け入れる事が出来無いサービスが存在します。Dialer interface にて以下のコマンドを追記し、通知される MRU に合わす事が可能になります。
ppp mtu adaptive
現在の IOS では VLAN データベースモードによる VLAN の作成をせずに、コンフィグレーションモードでの作成が可能です。以下の様にグローバルコンフィグレーションモードから vlan コマンドを使用し、vlan を作成するか、インターフェースコンフィグレーションモードからアクセスポートに vlan を設定して下さい。指定した vlan が存在しない場合は作成されます。
Router (config) #vlan 10
または
Router (config) #interface FastEthernet1 Router (config-if) #switchport access vlan 10 % Access VLAN does not exist. Creating vlan 10 Router (config-if) #
VLAN の確認にはshow vlan-switchコマンドが有効です。
実際に導入し、運用される際には障害解析などの観点により以下のようなコマンドも追加する事を推奨いたします。
service timestamps debug datetime localtime msec service timestamps log datetime localtime msec clock timezone JST 9 ! logging buffered 512000 debugging ! clock calendar-valid
本設定ではイーサタイプ 0x8863 (PPPoE Discovery Stage)、0x8864 (PPPoE Session Stage) のパケット は入力インターフェース (Vlan10:FE1-7) より、同一の Bridge-group をもつインターフェース (GE0) にブリッジされます。
また VLAN10 (FE0-7) に入力された IPv4 パケット (0x0800) や ARP パケット (0x0806) は”bridge 1 route ip”があるため、BVI インターフェースへルーティング処理されます。
BVI インターフェースで Dialer インターフェースでとルーティングされるケースではアドレス変換 (NAT) を行います。
その後ダイアラインターフェースにて PPPoE ヘッダーを追加し、WAN インターフェース (GE0) へ出力を行います。
指定されているイーサタイプ以外のプロトコルはフィルタされます。bridge させたいプロトコルがある場合はアクセスリストに追加して下さい。