Cisco IOS Layer2 – PPP Authentication EAPの設定

スポンサーリンク

PPP認証方式としてEAP (Extensible Authentication Protoco)を使用する方法についてまとめます。

コマンド一覧

このシナリオで重要なコマンド一覧は以下の通りです。

Router(config)# username <username> password <password>
Router(config)# 
Router(config)# interface <interface>
Router(config-if)# ppp authentication eap
Router(config-if)# ppp eap local
Router(config-if)# ppp eap identity <username>
Router(config-if)# ppp eap password <password>

構成図

以下の構成で動作確認を行います。

         s0/0      s0/0
 +--------+          +--------+
 |   R1   +----------+   R2   |
 +--------+          +--------+
   172.16.1.1/24    172.16.2.2/24
 [R1]
interface Serial0/0
 ip address 172.16.1.1 255.255.255.0
 encapsulation ppp

 [R2]
interface Serial0/0
 ip address 172.16.2.2 255.255.255.0
 encapsulation ppp

設定全文は下記ファイルです。詳細設定は下記を参照ください。

R1
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Serial0/0
 ip address 172.16.1.1 255.255.255.0
 encapsulation ppp
 serial restart-delay 0
!
interface Serial0/1
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/3
 no ip address
 shutdown
 serial restart-delay 0
!
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end
R2
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R2
!
boot-start-marker
boot-end-marker
!
!
no aaa new-model
memory-size iomem 5
!
!
ip cef
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
interface Serial0/0
 ip address 172.16.2.2 255.255.255.0
 encapsulation ppp
 serial restart-delay 0
!
interface Serial0/1
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/2
 no ip address
 shutdown
 serial restart-delay 0
!
interface Serial0/3
 no ip address
 shutdown
 serial restart-delay 0
!
!
ip http server
ip forward-protocol nd
!
!
!
!
!
!
control-plane
!
!
!
!
mgcp behavior g729-variants static-pt
!
!
!
!
!
line con 0
line aux 0
line vty 0 4
 login
!
!
end

仕様説明

概要

EAPはExtensible Authentication Protocolの略で、Layer 2接続(PPP, IEEE 802など)に対する認証フレームワークです。一般的にはRADIUSサーバを用いてクライアント証明書を管理し、高度な認証を実装します。

今回は充分な検証環境が準備できなかったため、ローカルデータベースを用いた認証の動作確認を行います。

設定方法

以下のコマンドをサーバ(認証する側)に投入し、EAPによる認証を要求します。

Router(config)# interface <interface>
Router(config-if)# ppp authentication eap

以下のコマンドをクライアント(認証される側)に投入し、認証される側のEAPのユーザ名(Identity)とパスワードを設定します。ユーザ名を省略した場合はホスト名がユーザ名として使用されます。

Router(config)# interface <interface>
Router(config-if)# ppp eap identity <username>
Router(config-if)# ppp eap password <password>

以下のコマンドをサーバ(認証する側)に投入し、ローカルデータベースに基づく認証を行います。なお、デフォルトではローカルデータベースに基づく認証は無効化されています。ローカルデータベースに基づく認証を許可する場合は”ppp eap local”を投入して下さい。

Router(config)# username <username> password <password>
Router(config)# 
Router(config)# interface <interface>
Router(config-if)# ppp eap local

認証シーケンス

サーバからクライアントにEAP Request Idenityを送信します。この時のパケットは以下のとおりです。CHAPと異なりユーザ名が含まれていない事に注意して下さい。すなわち、クライアント側はユーザ名を特定できないので、CHAPと異なり”username xxx password xxx”コマンドによるパスワード指定はできません

Point-to-Point Protocol
Extensible Authentication Protocol
    Code: Request (1)
    Id: 120
    Length: 5
    Type: Identity [RFC3748] (1)

クライアントはサーバにEAP Response Identityを送信し、自身のユーザ名(Identity)を返します。ユーザ名は”ppp eap identity”コマンドで指定された値です。”ppp eap identity”コマンドが省略されている場合は、ホスト名がユーザ名として使用されます。この時のパケットは以下の通りです。

Point-to-Point Protocol
Extensible Authentication Protocol
    Code: Response (2)
    Id: 120
    Length: 9
    Type: Identity [RFC3748] (1)
    Identity (4 bytes): R1R2

サーバクライアント間でchallenge, responseを交換しパスワード認証を行います。この時のパケットは以下の通りです。

Point-to-Point Protocol
Extensible Authentication Protocol
    Code: Request (1)
    Id: 121
    Length: 24
    Type: MD5-Challenge [RFC3748] (4)
    Value-Size: 16
    Value: a5a07127931e9b7dcda522d4b474b8fd
    Extra data (2 bytes): 5231
Point-to-Point Protocol
Extensible Authentication Protocol
    Code: Response (2)
    Id: 121
    Length: 26
    Type: MD5-Challenge [RFC3748] (4)
    Value-Size: 16
    Value: 1b44051e8e2c446a55bfb03f4ea46f67
    Extra data (4 bytes): 52315232

local databaseに基づくEAR認証

設定投入

R1がR2をEAPに基づき認証するように設定します。

 [R1]
interface Serial0/0
 ppp authentication eap
 ppp eap local
!
username R2EAP password 0 CISCO

 [R2]
interface Serial0/0
 ppp eap identity R2EAP
 ppp eap password CISCO

動作確認

R1, R2が互いに疎通可能である事を確認します。

 [R1]
R1#debug ppp authentication
PPP authentication debugging is on
R1#
*Mar  1 00:03:04.759: Se0/0 PPP: Authorization required
*Mar  1 00:03:04.779: Se0/0 EAP: O REQUEST  IDENTITY id 33 len 5
*Mar  1 00:03:04.875: Se0/0 EAP: I RESPONSE IDENTITY id 33 len 10 from "R2EAP"
*Mar  1 00:03:04.879: Se0/0 EAP: O REQUEST  MD5 id 34 len 24 from "R1"
*Mar  1 00:03:04.907: Se0/0 EAP: I RESPONSE MD5 id 34 len 27 from "R2EAP"
*Mar  1 00:03:04.919: Se0/0 PPP: Sent CHAP LOGIN Request
*Mar  1 00:03:04.927: Se0/0 PPP: Received LOGIN Response PASS
*Mar  1 00:03:04.935: Se0/0 PPP: Sent LCP AUTHOR Request
*Mar  1 00:03:04.935: Se0/0 PPP: Sent IPCP AUTHOR Request
*Mar  1 00:03:04.943: Se0/0 LCP: Received AAA AUTHOR Response PASS
*Mar  1 00:03:04.947: Se0/0 IPCP: Received AAA AUTHOR Response PASS
*Mar  1 00:03:04.947: Se0/0 EAP: O SUCCESS id 34 len 4
*Mar  1 00:03:04.947: Se0/0 PPP: Sent CDPCP AUTHOR Request
*Mar  1 00:03:04.947: Se0/0 CDPCP: Received AAA AUTHOR Response PASS
*Mar  1 00:03:04.987: Se0/0 PPP: Sent IPCP AUTHOR Request
R1#
R1#ping 172.16.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/34/52 ms
R1#

AAA 併用

設定投入

以下は、まずRADIUSサーバに問い合わせ、応答がない場合はlocal databaseを使用する例です。

 [R1]
aaa new-model
aaa group server radius MY_RADIUS
 server-private 1.1.1.1 key CISCO
aaa authentication ppp R1R2 group MY_RADIUS local-case
!
interface Serial0/0
 ppp authentication eap R1R2
 ppp eap local
!
username R2EAP password 0 CISCO

 [R2]
interface Serial0/0
 ppp eap identity R2EAP
 ppp eap password CISCO

動作確認

R1, R2が互いに疎通可能である事を確認します。

 [R1]
R1#debug ppp authentication
PPP authentication debugging is on
R1#
*Mar  1 00:12:16.827: Se0/0 EAP: O REQUEST  IDENTITY id 39 len 5
*Mar  1 00:12:16.879: Se0/0 EAP: I RESPONSE IDENTITY id 39 len 10 from "R2EAP"
*Mar  1 00:12:16.883: Se0/0 EAP: O REQUEST  MD5 id 40 len 24 from "R1"
*Mar  1 00:12:16.911: Se0/0 EAP: I RESPONSE MD5 id 40 len 27 from "R2EAP"
*Mar  1 00:12:16.923: Se0/0 PPP: Sent CHAP LOGIN Request
*Mar  1 00:12:26.823: Se0/0 AUTH: Timeout 1
*Mar  1 00:12:26.863: Se0/0 EAP: I RESPONSE MD5 id 40 len 27 from "R2EAP"
*Mar  1 00:12:26.863: Se0/0 EAP: Ignoring Additional Response
*Mar  1 00:12:35.739: Se0/0 PPP: Received LOGIN Response PASS
*Mar  1 00:12:35.747: Se0/0 EAP: O SUCCESS id 40 len 4
*Mar  1 00:12:36.751: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0, changed state to up
R1#
R1#ping 172.16.2.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.2.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 28/34/52 ms
R1#
タイトルとURLをコピーしました