本ドキュメントでは、PPPoE パススルー機能を用いて、GW ルータの PPPoE 接続とは別に LAN 側の端末でも PPPoE 接続を終端するための設定を紹介します。本構成では LAN 側にルーテッドポートを使用します。
オフィスや家庭において、GW ルータがサービスプロバイダーと PPPoE 方式でインターネット接続をしている環境を前提とします。
ルータを ONU や ADSL モデムなどに接続し、PPPoE にてサービスプロバイダーに接続します。一つの IP アドレスを動的に払い出す端末型払い出しとし、LAN 側セグメントは NAT によりインターネットに接続します。
この接続環境において、さらに以下のような要求の端末が同一セグメントにある場合を想定します。
ISR G2 はすべてオンボードにて、2FE(または GE)を具備します。ISR G2 シリーズにて本構成が実現可能なハードウェア/ソフトウェアの組み合わせは以下になります。
プラットホーム | 必要なハードウェア*1 | IOS |
---|---|---|
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」を参照ください。
本構成では ISR892J IOS15.2(3)T を使用しています。
hostname 892j-PPPoE-BVI
!
ip cef
!
bridge irb
!
interface BRI0
no ip address
encapsulation hdlc
shutdown
isdn termination multidrop
!
interface FastEthernet0
no ip address
!
# (Fa0-7 は同一設定のため、以下省略)
!
interface FastEthernet8
no ip address
duplex auto
speed auto
bridge-group 1
bridge-group 1 input-type-list 200
!
interface GigabitEthernet0
no ip address
duplex auto
speed auto
bridge-group 1
!
interface Vlan1
no ip address
bridge-group 1
!
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 cisco@example.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.254 0.0.0.255
access-list 200 permit 0x8863 0x0000
access-list 200 permit 0x8864 0x0000
!
dialer-list 1 protocol ip permit
!
control-plane
!
bridge 1 protocol ieee
bridge 1 route ip
!
line con 0
exec-timeout 0 0
logging synchronous
line aux 0
line vty 0 4
transport input allend
!
グローバルコンフィグレーションコマンド
IRB をイネーブルにします。トラフィックのブリッジングを有効にします。
インターフェースコンフィグレーションコマンド
インターフェイスにブリッジグループ番号 1 をアサインします。
インターフェースコンフィグレーションコマンド
"access-list 200"で定義されたトラフィックパターンを本インターフェースに適用します。
グローバルコンフィグレーションコマンド
イーサタイプ 0x8863 (PPPoE Discovery Stage)、0x8864 (PPPoE Session Stage) のトラフィックがマッチするアクセスリストです。
グローバルコンフィグレーションコマンド
ブリッジ グループ番号 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 が指定されます。
グローバルコンフィグレーションコマンド
dialer-list に適用させるトラフィックを指定します。
グローバルコンフィグレーションコマンド
ブリッジグループ番号 1 をアサインし、IEEE 802.1D スパニングツリープロトコルを適用します。
グローバルコンフィグレーションコマンド
IP をルーティング対象にします。
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
本設定では PPPoE Discovery Stage (0x8863)、PPPoE Session Stage (0x8864) のイーサタイプを持つパケットは入力インターフェース (FE8) より、同一の Bridge-group をもつインターフェース (GE0) にブリッジされます。
本設定では FE8 に PPPoE 専用端末を接続する事を想定してるため、PPPoE 以外のイーサタイプを持つパケットはフィルタされます。
また VLAN1 (FE0-7) に入力された IPv4 パケット (0x0800) や ARP パケット (0x0806) は”bridge 1 route ip”があるため、BVI インターフェースへルーティング処理されます。
BVI インターフェースで Dialer インターフェースでとルーティングされるケースではアドレス変換 (NAT) を行います。
その後ダイアラインターフェースにて PPPoE ヘッダーを追加し、WAN インターフェース (GE0) へ出力を行います。