HOME > コンテンツリスト > ラボ・シナリオ for CCNA > [ < 前へ 次へ > ]

PPPのPAP認証を確認する

ネットワーク構成図

  1. RT-A、RT-B をネットワーク構成図に示す通り設定しなさい。
  2. < RT-A >
    Router# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Router(config)# host RT-A
    RT-A(config)# int s0/0/0
    RT-A(config-if)# ip add 192.168.2.1 255.255.255.0
    RT-A(config-if)# clock rate 64000
    RT-A(config-if)# no shut
    RT-A(config-if)#
    
    < RT-B >
    Router# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    Router(config)# host RT-B
    RT-B(config)# int s0/0/0
    RT-B(config-if)# ip add 192.168.2.2 255.255.255.0
    RT-B(config-if)# no shut
    RT-B(config-if)#
    
  3. RT-A と RT-B で、カプセル化タイプを確認しなさい。
  4. < RT-A >
    RT-A(config-if)# do sh int s0/0/0 | include Encap
      Encapsulation HDLC, loopback not set   ← カプセル化タイプは HDLC
    RT-A(config-if)#
    
    < RT-B >
    RT-B(config-if)# do sh int s0/0/0 | include Encap
      Encapsulation HDLC, loopback not set   ← カプセル化タイプは HDLC
    RT-B(config-if)#
    

    ● 片側のルータのみで認証を行う

  5. RT-A と RT-B のカプセル化タイプを PPP に変更し、RT-A で PAP 認証をするように設定しなさい。ただし、認証ユーザ名とパスワードは次の通りとする。
  6. ユーザ名パスワード
    tokyocisco
    < RT-A >
    RT-A(config-if)# encapsulation ppp          ← カプセル化タイプを PPP に変更
    RT-A(config-if)# ppp authentication pap     ← 接続相手に対して PAP 認証を行う
    RT-A(config-if)# exit
    RT-A(config)# username tokyo password cisco ← PAP 認証用の接続相手のユーザ名とパスワードを設定
    RT-A(config)# ^Z
    RT-A# 
    
    < RT-B >
    RT-B(config-if)# encapsulation ppp          ← カプセル化タイプを PPP に変更
    RT-B(config-if)# ppp pap sent-username tokyo password cisco   ← 接続相手に送る自分の PAP 認証用ユーザ名とパスワードを設定
    RT-B(config-if)# ^Z
    RT-B# 
    
    PAP 認証では、アクセス時にパスワードを暗号化せずに平文 (クリアテキストともいう) で回線に流し接続相手の認証を得た後、接続が開始されます。設定方法は CHAP でやった一番最後の設定に似ていますが、CHAP と異なりホスト名をユーザ名として使用することはありませんので、ホスト名とユーザ名を一致させてもユーザ名の指定が必要です。
  7. RT-A と RT-B で、sh int s0/0/0 を行い、カプセル化タイプが PPP になっていることを確認しなさい。
  8. < RT-A >
    RT-A# sh int s0/0/0 | include Encap
      Encapsulation PPP, LCP Open   ← カプセル化タイプが PPP に変更されている
    RT-A# 
    
    < RT-B >
    RT-B# sh int s0/0/0 | include Encap
      Encapsulation PPP, LCP Open   ← カプセル化タイプが PPP に変更されている
    RT-B#
    
  9. RT-A と RT-B に、PAP 認証をモニタするためのデバックコマンドを設定しなさい。
  10. < RT-A >
    RT-A# debug ppp authentication
    PPP authentication debugging is on
    RT-A# 
    
    < RT-B >
    RT-B# debug ppp authentication
    PPP authentication debugging is on
    RT-B# 
    
  11. RT-A のインターフェイスを shutdown → no shutdown して、PAP 認証の流れを確認しなさい。
  12. < RT-A >
    RT-A# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    RT-A(config)# int s0/0/0
    RT-A(config-if)# shut     ← インターフェイスを shutdown
    RT-A(config-if)# 
    *Jan 18 00:29:16.431: %LINK-5-CHANGED: Interface Serial0/0/0, changed state to administratively down  ← 物理層がダウン
    *Jan 18 00:29:16.435: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to down  ← データリンク層がダウン
    RT-A(config-if)# no shut  ← インターフェイスを no shut で再度アップさせる
    RT-A(config-if)# 
    *Jan 18 00:29:24.927: %LINK-3-UPDOWN: Interface Serial0/0/0, changed state to up  ← 物理層がアップ
    *Jan 18 00:29:24.931: Se0/0/0 PPP: Using default call direction
    *Jan 18 00:29:24.931: Se0/0/0 PPP: Treating connection as a dedicated line
    *Jan 18 00:29:24.931: Se0/0/0 PPP: Session handle[6200000C] Session id[12]
    *Jan 18 00:29:24.963: Se0/0/0 PAP: I AUTH-REQ id 1 len 16 from "tokyo"  ← 相手からユーザ名とパスワードを受信
    *Jan 18 00:29:24.963: Se0/0/0 PAP: Authenticating peer tokyo
    *Jan 18 00:29:24.963: Se0/0/0 PPP: Sent PAP LOGIN Request
    *Jan 18 00:29:24.963: Se0/0/0 PPP: Received LOGIN Response PASS
    *Jan 18 00:29:24.971: Se0/0/0 PAP: O AUTH-ACK id 1 len 5  ← 認証 (成功) したことを相手に通知
    *Jan 18 00:29:24.975: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to up  ← データリンク層がアップ
    RT-A(config-if)# ^Z
    RT-A# 
    
    < RT-B >
    RT-B# 
    *Jan 18 00:33:28.347: %LINK-3-UPDOWN: Interface Serial0/0/0, changed state to down
    *Jan 18 00:33:28.351: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to down
    *Jan 18 00:33:36.843: %LINK-3-UPDOWN: Interface Serial0/0/0, changed state to up
    *Jan 18 00:33:36.847: Se0/0/0 PPP: Using default call direction
    *Jan 18 00:33:36.847: Se0/0/0 PPP: Treating connection as a dedicated line
    *Jan 18 00:33:36.847: Se0/0/0 PPP: Session handle[E600000D] Session id[13]
    *Jan 18 00:33:36.859: Se0/0/0 PPP: No authorization without authentication
    *Jan 18 00:33:36.859: Se0/0/0 PAP: Using hostname from interface PAP
    *Jan 18 00:33:36.859: Se0/0/0 PAP: Using password from interface PAP
    *Jan 18 00:33:36.859: Se0/0/0 PAP: O AUTH-REQ id 1 len 16 from "tokyo"  ← 相手にユーザ名とパスワードを送信
    *Jan 18 00:33:36.887: Se0/0/0 PAP: I AUTH-ACK id 1 len 5  ← 認証 (成功) したことを相手から受信
    *Jan 18 00:33:36.895: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to up
    RT-B# 
    
    AUTH-REQ → AUTH-ACK の順で、2ウェイ・ハンドシェイクによる認証に成功しました。

    ● 両側のルータで認証を行う

    上記の設定は RT-A で PAP 認証を行う設定でしたが、RT-A と RT-B の両方のルータで PAP 認証を行う設定します。

  13. RT-B で PAP 認証をするように設定を追加しなさい。ただし、認証ユーザ名とパスワードは次の通りとする。
  14. ユーザ名パスワード
    osakaccna
    < RT-A >
    RT-A# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    RT-A(config)# int s0/0/0
    RT-A(config-if)# ppp pap sent-username osaka password ccna    ← 接続相手に送る自分の PAP 認証用ユーザ名とパスワードを設定
    RT-A(config-if)#
    
    < RT-B >
    RT-B# conf t
    Enter configuration commands, one per line.  End with CNTL/Z.
    RT-B(config)# username osaka password ccna  ← PAP 認証用の接続相手のユーザ名とパスワードを設定
    RT-B(config)# int s0/0/0
    RT-B(config-if)# ppp authentication pap     ← 接続相手に対して PAP 認証を行う
    RT-B(config-if)#
    
    ユーザ名とパスワードは異なりますが、これで RT-A と RT-B の双方に全く同じ設定をしたことになります。
  15. RT-A のインターフェイスを shutdown → no shutdown して、PAP 認証の流れを確認しなさい。
  16. < RT-A >
    RT-A(config-if)# shut     ← インターフェイスを shutdown
    RT-A(config-if)# 
    *Jan 18 01:13:59.227: %LINK-5-CHANGED: Interface Serial0/0/0, changed state to administratively down  ← 物理層がダウン
    *Jan 18 01:13:59.231: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to down  ← データリンク層がダウン
    RT-A(config-if)# no shut  ← インターフェイスを no shut で再度アップさせる
    RT-A(config-if)# 
    *Jan 18 01:14:07.467: %LINK-3-UPDOWN: Interface Serial0/0/0, changed state to up  ← 物理層がアップ
    *Jan 18 01:14:07.471: Se0/0/0 PPP: Using default call direction
    *Jan 18 01:14:07.471: Se0/0/0 PPP: Treating connection as a dedicated line
    *Jan 18 01:14:07.471: Se0/0/0 PPP: Session handle[56000012] Session id[17]
    *Jan 18 01:14:07.491: Se0/0/0 PAP: Using hostname from interface PAP
    *Jan 18 01:14:07.491: Se0/0/0 PAP: Using password from interface PAP
    *Jan 18 01:14:07.491: Se0/0/0 PAP: O AUTH-REQ id 1 len 15 from "osaka"  ← 相手にユーザ名とパスワードを送信
    *Jan 18 01:14:07.499: Se0/0/0 PAP: I AUTH-REQ id 1 len 16 from "tokyo"  ← 相手からユーザ名とパスワードを受信
    *Jan 18 01:14:07.503: Se0/0/0 PAP: Authenticating peer tokyo
    *Jan 18 01:14:07.503: Se0/0/0 PPP: Sent PAP LOGIN Request
    *Jan 18 01:14:07.503: Se0/0/0 PPP: Received LOGIN Response PASS
    *Jan 18 01:14:07.511: Se0/0/0 PAP: I AUTH-ACK id 1 len 5  ← 認証 (成功) したことを相手から受信
    *Jan 18 01:14:07.511: Se0/0/0 PAP: O AUTH-ACK id 1 len 5  ← 認証 (成功) したことを相手に通知
    *Jan 18 01:14:07.515: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to up  ← データリンク層がアップ
    RT-A(config-if)#
    

    一般的に使われる認証方法には、CHAP と PAP がありますが、両方を設定しておくことも可能です。
    例えば、CHAP で認証に失敗すると PAP で認証を取り直すようにするには以下のように設定します。
    逆に PAP を優先したかったら、chap と pap に記述順を逆にします。
    RT-A# conf t
    RT-A(config)# int s0/0/0
    RT-A(config-if)# ppp authentication chap pap   ← chap pap の両方を設定する
    RT-A(config-if)# ^Z
    RT-A# 
    
    ただし、上記とは別に、ユーザ名とパスワードの設定は必要です。

    また、Cisco 1841 (IOS15.0) では、CHAP、PAP 以外にも以下の認証方式をサポートしています。
    RT-A(config)# int s0/0/0
    RT-A(config-if)# ppp authentication ?
      chap        Challenge Handshake Authentication Protocol (CHAP)
      eap         Extensible Authentication Protocol (EAP)
      ms-chap     Microsoft Challenge Handshake Authentication Protocol (MS-CHAP)
      ms-chap-v2  Microsoft CHAP Version 2 (MS-CHAP-V2)
      pap         Password Authentication Protocol (PAP)
    
    RT-A(config-if)#