IPsec - Cisco Config - IPsec-VPN



 ◆ IPsec-VPN のコンフィグを作成する前に

 Cisco機器同士でのIPsec-VPNで行う場合は、難なくスムーズに構築することができると思いますが、
 他のメーカーとの機器とIPsec-VPNを行う場合はメーカ独自のパラメータを排除して、IPsec規格に
 基づいたパラメータ表を事前に作成しておき認識を合わせておくことが大切です。例えば以下の表を
 もとにパラメータの認識を合わせたなら異なるメーカとのIPsec-VPNも問題なく構築できるでしょう。

IKE Phase1( ISAKMP SA ) IKE Phase2( IPsec SA )
 暗号化アルゴリズム  DES or 3DES or AES  セキュリティプロトコル  AH or ESP
 ハッシュアルゴリズム  MD5 or SHA-1  暗号化アルゴリズム  DES or 3DES or AES or Null
 IKE Phase1 の認証方式


 Pre-shared Key or
 デジタル署名、or
 公開鍵暗号、or
 改良型公開鍵暗号

 認証アルゴリズム  MD5-HMAC or SHA1-HMAC
 DHグループ  1 or 2 or 5  PFSグループ  (option) 1 or 2 or 5
 ISAKMP SA ライフタイム  -  IPsec SAのライフタイム  -
 Pre-shared Key  -  IPsec通信モード  トンネル or トランスポート
 ISAKMPのピアアドレス  -  IPsecのピアアドレス  -
 IKEキープアライブ(DPD)  -  IPsecの対象トラフィック  -
 IKE Phase1 モード  Mainモード/Aggressiveモード  IKE Phase 2 モード  Quickモードのみ


・ IKE Phase1の認証方式は「Pre-Shared Key」方式を採用するのが一般的です。DHグループは「2」を採用するのが一般的です。

・ サイト間VPNの場合、IKE Phase1モードは「Main」を使用します。リモートアクセスVPNの場合はAggressiveを有効にします。
  ただし、サイト間VPNにおいてもIPsecのピアとなるアドレスが動的なアドレスである場合には「Aggressive」を有効にします。
・ optionのPFSグループは一般的に定義しません。ISAKMPのピアアドレスとIPsecでのピアアドレスは、同じアドレスとなります。


 ◆ IPsec-VPN のサンプルコンフィグ

 日本においてIPsec-VPN(インターネットVPN)を行う場合、回線の足回りとしてBフレッツなどの
 PPPoEを使用することが非常に多いといえます。ここでは、インターネット回線にPPPoEを使用して
 拠点間で IPsec-VPN(インターネットVPN)を行う場合のコンフィグの設定例を紹介していきます。


   


 以下のコンフィグレーションは、拠点間「 192.168.1.0/24 ⇔ 192.168.2.0/24 」のIPsecの通信のみが
 可能となる設定例であり、拠点からインターネット通信を行いたい場合はACLを変更する必要があります。


 crypto isakmp policy 1
 encry 3des
 hash md5
 authentication pre-share
 group 2
 !
 crypto isakmp key cisco address 200.1.1.1
 crypto isakmp keepalive 30 periodic
 !
 crypto ipsec transform-set IPSEC esp-3des esp-md5-hmac
 !
 crypto map M-ipsec 1 ipsec-isakmp
 set peer 200.1.1.1
 set transform-set IPSEC
 match address A-ipsec
 !
 !
 interface Loopback1
 ip address 100.1.1.1 255.255.255.255
 !
 interface GigabitEthernet 0/0
 pppoe enable group global
 pppoe-client dial-pool-number 1
 no cdp enable
 !
 interface GigabitEthernet0/1
 ip address 192.168.1.254 255.255.255.0
 ip tcp adjust-mss 1356
 !
 interface Dialer1
 ip unnumbered Loopback1
 ip access-group A-security in
 ip mtu 1454
 encapsulation ppp
 dialer pool 1
 dialer-group 1
 no cdp enable
 ppp authentication chap callin
 ppp chap hostname cisco@cisco.com
 ppp chap password cisco
 crypto map M-ipsec
 !
 ip route 0.0.0.0 0.0.0.0 Dialer1
 !
 ip access-list extended A-ipsec
 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
 !
 ip access-list extended A-security
 permit esp host 200.1.1.1 host 100.1.1.1
 permit udp host 200.1.1.1 host 100.1.1.1 eq isakmp
 !
 dialer-list 1 protocol ip permit


 crypto isakmp policy 1
 encry 3des
 hash md5
 authentication pre-share
 group 2
 !
 crypto isakmp key cisco address 100.1.1.1
 crypto isakmp keepalive 30 periodic
 !
 crypto ipsec transform-set IPSEC esp-3des esp-md5-hmac
 !
 crypto map M-ipsec 1 ipsec-isakmp
 set peer 100.1.1.1
 set transform-set IPSEC
 match address A-ipsec
 !
 !
 interface Loopback1
 ip address 200.1.1.1 255.255.255.255
 !
 interface GigabitEthernet 0/0
 pppoe enable group global
 pppoe-client dial-pool-number 1
 no cdp enable
 !
 interface GigabitEthernet0/1
 ip address 192.168.2.254 255.255.255.0
 ip tcp adjust-mss 1356
 !
 interface Dialer1
 ip unnumbered Loopback1
 ip access-group A-security in
 ip mtu 1454
 encapsulation ppp
 dialer pool 1
 dialer-group 1
 no cdp enable
 ppp authentication chap callin
 ppp chap hostname cisco@cisco.com
 ppp chap password cisco
 crypto map M-ipsec
 !
 ip route 0.0.0.0 0.0.0.0 Dialer1
 !
 ip access-list extended A-ipsec
 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
 !
 ip access-list extended A-security
 permit esp host 100.1.1.1 host 200.1.1.1
 permit udp host 100.1.1.1 host 200.1.1.1 eq isakmp
 !
 dialer-list 1 protocol ip permit


 PPPoEにより取得する固定のグローバルIPの設定は、loopback I/Fを使用せず「ip address negotiated」を使用することも可能です。
 Global IPの固定契約さえしていれば ip address negotiated で得られるグローバルIPアドレスは常に同じIPアドレスが付与されます。

R1のIPsecパラメータ
IKE Phase1 ( for ISAKMP SA ) IKE Phase2 ( for IPsec SA )
 暗号化アルゴリズム  3DES  セキュリティプロトコル  ESP
 ハッシュアルゴリズム  MD5  暗号化アルゴリズム  3DES
 IKE Phase1 の認証方式  Pre-shared Key  認証アルゴリズム  MD5-HMAC
 DHグループ  2  PFSグループ  -
 ISAKMP SA ライフタイム  86400(秒) ※1  IPsec SAのライフタイム  3600(秒) ※1
 Pre-shared Key  cisco  IPsec通信モード  トンネルモード
 ISAKMPのピアアドレス  200.1.1.1  IPsecのピアアドレス  200.1.1.1
 IKEキープアライブ(DPD)  30  IPsecの対象トラフィック  192.168.1.0/24 → 2.0/24
 IKE Phase1 モード  Mainモード ※2  IKE Phase 2 モード  Quickモード

R2のIPsecパラメータ
IKE Phase1 ( for ISAKMP SA ) IKE Phase2 ( for IPsec SA )
 暗号化アルゴリズム  3DES  セキュリティプロトコル  ESP
 ハッシュアルゴリズム  MD5  暗号化アルゴリズム  3DES
 IKE Phase1 の認証方式  Pre-shared Key  認証アルゴリズム  MD5-HMAC
 DHグループ  2  PFSグループ  -
 ISAKMP SA ライフタイム  86400(秒) ※1  IPsec SAのライフタイム  3600(秒) ※1
 Pre-shared Key  cisco  IPsec通信モード  トンネルモード
 ISAKMPのピアアドレス  100.1.1.1  IPsecのピアアドレス  100.1.1.1
 IKEキープアライブ(DPD)  30  IPsecの対象トラフィック  192.168.2.0/24 → 1.0/24
 IKE Phase1 モード  Mainモード ※2  IKE Phase 2 モード  Quickモード


 ※1 ISAKMP SAのライフタイム値、IPsec SAのライフタイム値はデフォルト値です。詳細は「IKE phase1」「IKE phase2

 ※2 crypto isakmp aggressive-mode disableと設定していない場合には、アグレッシブモードのISAKMP SAも処理できます。


 ◆ IPsec-VPN が上手く接続できない場合

 IPsec通信が上手くいかない場合、先ずIKEフェーズ1で失敗しているのか、フェーズ2で失敗しているのか
 特定する必要があります。IKEフェーズ1の状態は「
show crypto isakmp sa 」コマンドで確認できます。
 show crypto isakmp saにより、一般的に以下の3パターンの結果が得られます。


       

 

パターン 表示 説明
@ -

 何も表示されない状態は、IPsecの通信が行われていない状態。例えば、IPsecの通信対象が
 192.168.1.0/24 ⇔ 192.168.2.0/24 である場合、192.168.1.XのPCから、192.168.2.Xの
 PCにPINGして通信させてみよう。その結果「
MM_NO_STATE」または「QM_IDLE」になる。
 PING疎通でIPsec通信したのに非表示なら
ルーティング設定ミス or IPsec対象ACL設定ミス

A MM_NO_STATE

 MM_NO_STATEの表示はIKEフェーズ1の失敗を意味する。IPsec接続を行う両方のルータで
 IKEフェーズ1の設定に間違いないか確認しよう。
Pre-shared Key (crypto isakmp key) の
 設定が両端のルータで同じ値なのかを確認してみよう。ルータの機種やIOSバージョンにより
 sanity check failedというメッセージが返される。Pre-shared Keyの設定が同じ値である場合
 IPsec間のルータに設定されている
ACLの設定を確認しよう。ISAKMPパケットが許可されて
 いるのか試しにACLの設定を外してみよう。ACLの設定を外してもMM_NO_STATE状態が続く
 場合、
ルータ再起動によりMM_NO_STATE(失敗)からQM_IDLE(成功)になる場合もある。

B QM_IDLE

 QM_IDLEの表示はIKEフェーズ1の成功を意味する。以降は後続となるIKEフェーズ2における
 クイックモードの交換が可能であることを意味する。


 IPsec通信が上手くいかない場合は、IKEフェーズ1で失敗していることが多いので、あとはIKEフェーズ2で
 上述のパラメータが両端のルータで同じであることを確認して、
show crypto ipsec saで IKEフェーズ2の
 状態を確認しましょう。IKEフェーズ2で最も使用されているセキュリティプロトコルのESPを使用する場合
 show crypto ipsec saコマンドで
inbound esp sas:outbound esp sas:の項目でトランスフォームセット
 が反映されていることを確認して、以下の項目にて「 X 」の値がカウントされていることを確認しましょう。

 # pkts encaps: X, #pkts encrypt: X, #pkts digest: X
 # pkts decaps: X, #pkts decrypt: X, #pkts verify: X

 なお、
show crypto engine connections activeで、現在のアクティブな暗号化セッションを確認できます。


IPsec-VPN確認コマンド 説明
 show crypto isakmp policy

 IKEフェーズ 1 のISAKMPポリシーを表示

 show crypto isakmp sa  IKEフェーズ 1 のISAKMP SAを表示
 show crypto ipsec transform-set  IKEフェーズ 2 のトランスフォームセットの表示
 show crypto ipsec sa  IKEフェーズ 2 のIPsec SAを表示
 show crypto session detail  IPsec SAのステータス表示



IPsec、IPsec-VPN、リモートアクセスVPN

ネットワークエンジニアとして

Copyright (C) 2002-2024 ネットワークエンジニアとして All Rights Reserved.