ネットワーク構成

ppp_negotiated.png

設定概要

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Loopback0
ip address 1.1.1.1 255.255.255.255
ip ospf 1 area 0
!
interface Serial0/0
ip address 192.168.12.1 255.255.255.0
encapsulation ppp
ip ospf 1 area 0
!
router ospf 1
router-id 1.1.1.1
log-adjacency-changes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Loopback0
ip address 2.2.2.2 255.255.255.255
ip ospf 1 area 0
!
interface Serial0/0
ip address 192.168.12.2 255.255.255.0
encapsulation ppp
ip ospf 1 area 0
!
router ospf 1
router-id 2.2.2.2
log-adjacency-changes
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

問題

R1-R2間のPPPリンク上で128ビットの暗号鍵を利用したMPPEによる暗号化を行
いたいと考えています。
R1、R2にはどのような設定を行えばよいでしょうか。

解答

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
username R2 password 0 cisco
!
interface Serial0/0
ppp encrypt mppe 128 required
ppp authentication ms-chap-v2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
username R1 password 0 cisco
!
interface Serial0/0
ppp encrypt mppe 128
ppp authentication ms-chap-v2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

解説

【MPPEの設定】

PPPリンク上でMPPEによって暗号化を行うときのポイントは、MS-CHAPの認証が前提となっていることです。MS-CHAPによる認証を行い、暗号鍵を生成してPPPフレームの暗号化を行います。MS-CHAPの設定は、PPPのインタフェースで次のコマンドを入力します。

(config-if)#ppp authentication {ms-chap|ms-chap-v2}

MS-CHAPv1でもv2でもMPPEの暗号化が可能ですが、通常は、MS-CHAPv2を利用します。MS-CHAPの認証はデフォルトでは、ローカルユーザデータベースを利用するので、ユーザ名/パスワードの設定も必要です。

(config)#username password

そして、MPPEの暗号化の設定は、PPPのインタフェース上で次のコマンドを入力します。

(config-if)#ppp encrypt mppe {auto|40|128} [passive|required|stateful]

auto:利用可能な暗号鍵が許可されます
40:40ビットの暗号鍵を利用します。
128:128ビットの暗号鍵を利用します。
passive:MPPEの暗号化を提供しませんが、対向からの暗号化のリクエストに応答します。
required:MPPEの暗号化をネゴシエートします。
stateful:ステートフルの暗号化のみをネゴシエートします。

ステートフルの暗号化は、パフォーマンスに優れていますが、インターネット経由のレイヤ2トンネルの通信などパケットロスの可能性がある環境では適切ではありません。

【R1、R2の設定】

まず、R1、R2ではMS-CHAPの設定が必要です。MS-CHAPv2を有効化し、ローカルユーザデータベースに対向のホスト名とパスワードを設定します。

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
username R2 password 0 cisco
!
interface Serial0/0
ppp authentication ms-chap-v2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
username R1 password 0 cisco
!
interface Serial0/0
ppp authentication ms-chap-v2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

そして、MPPEの暗号化を有効にします。128ビットの暗号鍵を利用して、R1からMPPEのステートレスの暗号化のネゴシエーションを開始するものとします。

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Serial0/0
ppp encrypt mppe 128 required
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

R2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
interface Serial0/0
ppp encrypt mppe 128
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

MPPEの設定を正しく行うことができれば、Serial0/0がup/upになりOSPFネイバーを確立してルーティングテーブルに必要なルート情報が登録されます。

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1#show int serial0/0
Serial0/0 is up, line protocol is up
Hardware is M4T
Internet address is 192.168.12.1/24
MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation PPP, LCP Open
Open: IPCP, CCP, CDPCP, crc 16, loopback not set
~省略~
R1#show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2           0   FULL/  -        00:00:39    192.168.12.2    Serial0/0
R1#show ip route ospf
2.0.0.0/32 is subnetted, 1 subnets
O       2.2.2.2 [110/65] via 192.168.12.2, 00:00:18, Serial0/0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

また、MPPEの暗号化の状態はshow ppp mppe コマンドで確認できます。R1では、次のような出力になります。

R1

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
R1#show ppp mppe serial 0/0
Interface Serial0/0 (current connection)
Software encryption, 128 bit encryption, Stateless mode
packets encrypted = 15       packets decrypted  = 14
sent CCP resets   = 0        receive CCP resets = 0
next tx coherency = 15       next rx coherency  = 14
tx key changes    = 15       rx key changes     = 14
rx pkt dropped    = 0        rx out of order pkt= 0
rx missed packets = 0
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

まとめ

  • MPPEによる暗号化はMS-CHAPの認証が前提
  • MPPEによる暗号化は40ビットまたは128ビットの暗号鍵を利用する
  • MPPEを有効にするためには、PPPインタフェース上で以下のコマンドを入力する
    (config-if)#ppp encrypt mppe {auto|40|128} [passive|required|stateful]