PPPoE(PPP over Ethernet)とは
PPPは、Point-to-Point Protocolの略で、元は電話回線を使用してネットワークに接続するために開発された技術です。
それを、Ethernet上で、利用可能にしたのが、PPPoE (PPP over Ethernet)です。
PPPoEを利用することで、PPPoEサーバを介して、ユーザー認証とIPアドレスの割り当てが可能になり、インターネットに接続ができるようになります。
設定可能なCiscoルータ例
- Cisco 1800シリーズ
- Cisco 2800シリーズ
- Cisco 3800シリーズ
- Cisco ISR 860シリーズ
- Cisco ISR 880シリーズ
- Cisco ISR 890シリーズ
- Cisco ISR 1900シリーズ
- Cisco ISR 2900シリーズ
- Cisco ISR 3900シリーズ
※PPPoE機能があれば、設定可能です。
想定アクセス回線
NTT東日本 / 西日本 Bフレッツ
PPPoE利用時の注意事項
PPPoE使用時のMTUサイズは、通常時よりも小さくなるために、値を調整する必要があります。
NTT東日本 / 西日本のBフレッツでは、1454バイトを推奨してます。
また、MTUサイズを変更すると同時にMSS (最大セグメントサイズ)の値をMTUに合わせて調整する必要があります。
回線キャリアやサービスによっては、相違があるので、事前に契約している回線キャリアに確認してください。
通信環境の想定
ルータをONUに接続し、インターネットサービスプロバイダーのPPPoEサーバとセッション確立後、認証されたら、WAN側のグローバルIPアドレスをDHCPで取得するように設定します。
LAN側のネットワークに対しては、ルータがDHCPサーバとなりDHCPでプライベートIPアドレスをPCに配布するようにします。
LAN側のネットワークに接続された PCは、ルータより配布された プライベートIPアドレスを利用して、インターネットへのアクセスを行います。また、この時ルータでは LAN側セグメントのアドレスをNAPTにより、PPPoEサーバより配布された WAN側のグローバルIPアドレスに変換して外部接続をします。
※NAPT(Network Address and Port Translation)とは、1つのグローバルIPアドレスを複数の端末で共有するためのネットワークアドレス変換する技術
設定例
ドメイン名の設定
Router# conf t
Router(config)# ip domain-name cisco.com ⇒ 任意の名前を設定。
DHCPサーバの設定
自動的にプライベートIPが端末側に割り当てられるようにDHCPサーバの設定をします。
Router(config)# ip dhcp pool CLIENT ⇒ 任意の名前を設定。
Router(config)# import all
Router(config)#network 192.168.0.0 255.255.255.0
⇒ 自動的に割り当てるIPの範囲を入力。
今回は192.168.0.1~192.168.0.254が割り当てられるように設定
Router(config)# default-router 192.168.0.254 ⇒ VLAN1のIPアドレス
Router(config)# dns-server 8.8.8.8 ⇒ DNSサーバのアドレス (Google)
VLAN1のアドレスを除外
DHCPサーバで端末側にVLAN1のIPアドレスが割り当てられないように、除外します。
VLAN1のアドレスは、ルータのアドレスです。
Router(config)# ip dhcp excluded-address 192.168.0.254
管理用VLANの設定
Cisco 1812Jにはスイッチのポート8つあります。
この全体をVLAN1として、IPアドレスを割り当てます。
また、この8ポートにスイッチングハブやPCを接続します。
Router(config)#interface vlan 1
Router(config-if)# ip address 192.168.0.254 ⇒ VLAN1のIPアドレス
Router(config-if)# ip nat inside ⇒ LAN側
Router(config-if)# ip tcp adjust-mss 1414
⇒ Vlan1を通過するTCPセッションのMSS (最大セグメントサイズ)を設定
Router(config-if)# no shutdown ⇒ 管理用VLAN1の有効化
WAN側の設定
ファーストイーサネット0をWAN側とします。
PPPoEを有効化し、論理インターフェースDialerと関連付けます。
このポートにONUを接続します。
Router(config)# interface fastEthernet 0
Router(config-if)# pppoe enable ⇒ PPPoEを有効化
Router(config-if)# pppoe-client dial-pool-number 1
⇒ 論理インタフェース Dialer1を使用してPPPoEセッションを確立するように設定
Dialer 1インタフェースの設定
Router(config)# interface dialer 1
Router(config-if)# ip address negotiated
⇒ PPPセッション確立時に、IPアドレスが動的に割り当てられるように設定
Router(config-if)# ip mtu 1454
⇒ Dialer 1インタフェースから送信されるパケットの最大サイズを設定
Router(config-if)# ip nat outside
Router(config-if)# encapsulation ppp ⇒ カプセル化のタイプをPPPにする
Router(config-if)# dialer pool 1
⇒ dialer 1という論理インタフェースと実際にPPPoEに接続する物理インタフェースと関連付ける
Router(config-if)# dialer-group 1
⇒ dialer-listコマンドで定義するトラフィックパターンをインタフェースに適用
PPPoE 認証設定
Router(config-if)# PPP authentication chap calling ⇒ 認証方式をchapに設定
Router(config-if)# PPP chap hostname ntt01@network.ne.jp
⇒ ISPから発行されたユーザー名を入力
Router(config-if)# PPP chap password ntt12345678
⇒ ISPから発行されたパスワードを入力
Router(config-if)# exit
NAPTに設定するACLを作成
Router(config)# access-list 100 permit 192.168.0.0 0.0.0.255 any
192.168.0.0 ~ 192.168.0.254からの通信を許可する100番のACLを作成します。
Dialerインタフェースで使用するプロトコルを指定
Router(config)# dialer-list 1 protocol ip permit
NAPTの設定
Router(config)# ip nat inside source list 100 interface Dialer1 overload
プライベートIPアドレスからグローバルIPアドレスへの変換をコントロールします。
この例では、ip nat insideコマンドが設定されたインタフェース(vlan1=内部セグメント)からipnat outsideコマンドが設定されたインタフェース(Dialer1=外部セグメント)への変換を定義しています。
overloadパラメータを指定することにより、TCP/UDP ポートでコネクションを識別し複数のプライベートIPアドレスで、外部セグメントに接続されたインタフェースに割り当てられた 1つのグローバルIPアドレスを共有します。(外部から見た場合、送信元アドレスが書き換えられていることになります。) NAT 変換の対象となるパケットは、access-list で設定します。この例では、access-list 100にマッチするパケットのみ(192.168.0.0 ~ 192.168.0.254)を NAT 変換します。
デフォルトルートの設定
Router(config)# ip route 0.0.0.0 0.0.0.0 Dialer1
Router(config)# exit
デフォルトルートの宛先にdialerインタフェースに設定します。
設定の保存
Router# copy running-config startup-config
通信確認
State TypeがUPになっていれば、PPPoE認証とセッションの確立がされています。
Router# show pppoe session 1 client session Uniq ID PPPoE RemMAC Port VT VA State SID LocMAC VA-st Type N/A 2 aabb.cc00.d300 Et0/0 Di1 Vi2 UP aabb.cc00.d400 UP