Cisco ASA5505と892JによるIPSEC-VPN(IKEv1)
20131211

概要
 L2L VPNをIPSEC(IKEv1)で組みます。
 機器及びIOSに差異はありますが、同一ベンダーですので設定は容易

 一般的な接続設定に関しては下記にて設定
  Cisco ASA5505によるPPPoE+NAT(PAT)
  CiscoルーターによるPPPoE+PAT
環境(ASA側)
 確認機種 : Cisco ASA5505
 IOS : 9.1(2)
 グローバルIPアドレス : 100.100.100.100
 LANアドレス : 192.168.0.0/24

環境(892J側)
 確認機種 : Cisco 892
 IOS : 15.2(4)M4
 グローバルIPアドレス : 200.200.200.200
 LANアドレス : 192.168.100.0/24
〜ASAの設定〜
object network VPN_192.168.0.0_24
subnet 192.168.0.0 255.255.255.0
object network VPN_192.168.100.0_24
subnet 192.168.100.0 255.255.255.0
!
access-list outside_cryptomap extended permit ip 192.168.0.0 255.255.255.0 192.168.100.0 255.255.255.0
!
nat (inside,outside) source static VPN_192.168.0.0_24 VPN_192.168.0.0_24 destination static VPN_192.168.100.0_24 VPN_192.168.100.0_24 no-proxy-arp route-lookup
!
crypto ipsec ikev1 transform-set IPSEC esp-aes-256 esp-sha-hmac
!
crypto map outside_map 1 match address outside_cryptomap
crypto map outside_map 1 set peer 200.200.200.200
crypto map outside_map 1 set ikev1 transform-set IPSEC
crypto map outside_map interface outside
!
crypto ikev1 enable outside
crypto ikev1 policy 1
authentication pre-share
encryption aes-256
hash sha
group 5
lifetime 86400
!
group-policy GroupPolicy_200.200.200.200 internal
group-policy GroupPolicy_200.200.200.200 attributes
vpn-tunnel-protocol ikev1
!
management-access inside
!
tunnel-group 200.200.200.200 type ipsec-l2l
tunnel-group 200.200.200.200 general-attributes
default-group-policy GroupPolicy_200.200.200.200
tunnel-group 200.200.200.200 ipsec-attributes
ikev1 pre-shared-key パスワード
#LANアドレスをオブジェクトで定義
上記の設定
#相手側LANアドレスをオブジェクトで定義
上記の設定
#
#暗号化する通信を定義「outside_cryptomap」
192.168.0.0/24→192.168.100.0の通信をVPNで暗号化する
#
#いわゆるNo-NAT設定


#
#IKEv1でのルールを「IPSEC」と定義(IKEフェーズ2)

#
#「outside_cryptomap」に該当する通信を暗号化する。
#相手側のグローバルIPアドレスを設定
#IPSECで使用するルールを設定
#「outside」interfaceで有効化
#
#「outside」interfaceで有効化
#IKEv1でのルールを設定する(IKEフェーズ1)
#PSKによる認証に設定
#暗号化タイプをAES256bit
#
#DHグループを5(1536bit)に設定
#そのままのライフタイム設定
#
#
#
#IKEv1のみ使用
#
#マネージメントインターフェースの指定
#設定しないとASAから相手側ネットワークへの通信が通りません。
#VPNのTypeをLAN to LANに設定
#
#
#
#PSKを設定

〜892Jの設定〜
crypto isakmp policy 1
encr aes 256
authentication pre-share
group 5
crypto isakmp key パスワード address 100.100.100.100
crypto isakmp keepalive 30 periodic
!
crypto ipsec transform-set IPSEC esp-aes 256 esp-sha-hmac
mode tunnel
!
crypto map outside_map 1 ipsec-isakmp
set peer 100.100.100.100
set transform-set IPSEC
match address outside_cryptomap
!
interface Dialer0
crypto map outside_map
!
ip nat inside source list NO-NAT interface Dialer0 overload
!
ip access-list extended ACL
permit esp host 100.100.100.100 host 200.200.200.200
permit udp host 100.100.100.100 host 200.200.200.200 eq isakmp
!
ip access-list extended NO-NAT
deny ip 192.168.100.0 0.0.0.255 192.168.0.0 0.0.0.255
permit ip 192.168.100.0 0.0.0.255 any
!
ip access-list extended outside_cryptomap
permit ip 192.168.100.0 0.0.0.255 192.168.0.0 0.0.0.255
#IKEv1でのルールを設定する(IKEフェーズ1)
#暗号化タイプをAES256bit
#PSKによる認証に設定
#DHグループを5(1536bit)に設定
#PSKと相手側のグローバルIPアドレスを一気に設定
#そのままのkeepaliveタイムを指定 ASA側もDefault 30
#
#IKEv1でのルールを「IPSEC」と定義(IKEフェーズ2)
#トンネルモードで設定 ASA側もデフォルトTunnel
#
#IPSECに関する設定を「outside_map」として定義
#相手側のグローバルIPアドレスを設定
#IPSECで使用するルールを設定
#「outside_cryptomap」に該当する通信を暗号化する。
#
#インターフェースに適用し、有効化する。

#
#いわゆるNo-NAT、及びPATの設定
#
#isakmp制御用通信を通す為に必要なACLを「ACL」として定義
他にも設定が必要な場合はルールを追加して行って下さい。

#
#No-NAT用のACLを「NO-NAT」と定義


#
#暗号化する通信を定義「outside_cryptomap」
192.168.100.0/24→192.168.0.0の通信をVPNで暗号化する

うまく行かない場合は下記コマンドで状態確認
show crypto isakmp sa 「QM_IDLE」になるまでdebugログを調査
debug crypto ipsec
debug crypto isakmp error

show系は892Jがわかりやすい。
意図的にVPNを使用する通信を発生させる必要がある点に注意
以上