CISCOとSoftetherでL2TPv3 over IPSec

こんにちは。
さぼり気味です。

初めてCISCOを触っているのですが、
ググりながらなのでなかなか大変です。。。

さて、
VPN張りたい
というご希望があったのでやってみました。

以下、ご指摘等ありましたら、
宜しくお願い致します。

Softetherの設定はググれば
いくらでも出てくるので割愛します。

注意点
「IPSec/L2TP設定」
 「EtherIP/L2TPv3 over IPsec」機能の有効
  「サーバ機能詳細設定」
  
IKASMP Phase 1 ID
ここをCISCOルータのローカルIPアドレスを指定。
「*」だとあれなので。。。
あとは、ユーザを追加。

仮想HUBの管理
 仮想NATおよび仮想DHCPサーバ機能
 「Secure NAT設定」
で「仮想DHCPサーバの設定」をしてあげる。

Softetherの使用ポートは
UDP/500
UDP/4500
UDP/1701

先にネタバレですが

Softether公式の設定だと上手くつながりませんでした。
どうやらIPSecの暗号化アルゴリズムが上手くいかず、
L2TPのセッションが張れませんでした。
解決策は「AES」じゃなく「DES」「3DES」を使います。

でもNEC IXでは問題ないみたいなんですよね。。。

追記
いろんな方のサポートもあり
僕の持っている機器のIOSがダメだということが判明しました。。。
なので、「AES」でも繋がるはずです。
出来ればIOSのバージョンをあげることが望ましいでしょうけど。。。

さてCISCOの設定やってみよー


参考URL
Cisco ルータからの L2TPv3 を用いた接続方法
https://ja.softether.org/4-docs/2-howto/Other_VPN_Appliance_Setup_Guide/6

L2TPv3 over IPSecVPN を用いた LAN-to-LAN 接続設定例
http://www.cisco.com/cisco/web/support/JP/100/1006/1006246_l2tpv3_overipsec.html

IPsec – Cisco Configuration – IKE Phase 1
http://www.infraexpert.com/study/ipsec10.html

IPsec – Cisco Configuration – IKE Phase 2
http://www.infraexpert.com/study/ipsec11.html

大まかに
ISAKMP SA
IPSec SA
L2TPv3

の設定に分けます。

CISCO 2811・・・Version 15.1(4)M7, RELEASE SOFTWARE (fc2)
Softether VPN Server・・・CentOS 6.6 Ver 4.17 Build 9562

ローカルIPアドレス・・・192.168.100.100(IKASMP Phase 1 ID)
ピアIP(Softether)・・・203.0.113.123
事前共有キー・・・・・・HOGEHAGEKEY

CISCOの場合、
NAT-Traversal」の設定は必要なく、
デフォルトで有効です。

L2TPv3の設定、インターフェイスなどを指定します。

pseudowire-class L2TPv3
 encapsulation l2tpv3
 ip local interface FastEthernet0/0

pseudowire-class(疑似回線名)を任意の名前「L2TPv3」と付けました。
カプセル化に「l2tpv3」を指定します。

IKASMPの設定

crypto isakmp policy 1
 encr aes 256
 authentication pre-share
 group 2
crypto isakmp key HOGEHAGEKEY address 203.0.113.123
crypto isakmp keepalive 10 periodic

ここでは「AES 256」を指定しても大丈夫でした。。。
事前共有キーを使うようにします。
DHグループは「2(1024bit)」を使います。

IPSecの設定

crypto ipsec transform-set IPSEC esp-3des esp-sha-hmac
 mode transport
crypto ipsec fragmentation after-encryption

ここでドハマり!!
IPSec SAの暗号化アルゴリズムに「AES」を使うと、
IPSecセッションは張れるけどL2TPトンネルが作られなかったので
「3DES」を使うようにしました。

暗号化マップ

crypto map MAP 1 ipsec-isakmp
 set peer 203.0.113.123
 set transform-set IPSEC
 match address IPSEC_MATCH_RULE

インターフェイスの設定

interface FastEthernet0/0
 ip address 192.168.100.100 255.255.255.0
 no ip proxy-arp
 duplex auto
 speed auto
 crypto map MAP

FastEthernet0/0はローカルアドレス。
MAPを適用。

FastEthernet0/1をトンネル用に使います。

interface FastEthernet0/1
 no ip address
 duplex auto
 speed auto
 no cdp enable
 xconnect 203.0.113.123 1 encapsulation l2tpv3 pw-class L2TPv3
 bridge-group 1

アクセスリスト

ip access-list extended IPSEC_MATCH_RULE
 permit 115 any any

L2TPv3では「プロトコル番号 115」を許可してあげます。

大まかにですが、
これでSoftetherと接続できるはずです。

ログを見ながらやると面白いです。

debug crypt isakmp
debug crypt ipsec
debug l2tp all

確認してみる
・ISAKMP

#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst             src             state          conn-id status
203.0.113.123   192.168.100.100    QM_IDLE           1011 ACTIVE

IPv6 Crypto ISAKMP SA

・IPSec
#show crypto ipsec sa

interface: FastEthernet0/0
    Crypto map tag: MAP, local addr 192.168.100.100

   protected vrf: (none)
   local  ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/115/0)
   remote ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/115/0)
   current_peer 203.0.113.123 port 4500
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 54342, #pkts encrypt: 54342, #pkts digest: 54342
    #pkts decaps: 179917, #pkts decrypt: 179917, #pkts verify: 179917
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0
    #pkts not decompressed: 0, #pkts decompress failed: 0
    #send errors 23, #recv errors 0

     local crypto endpt.: 192.168.100.100, remote crypto endpt.: 203.0.113.123
     path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0
     current outbound spi: 0x48E82D7A(1223175546)
     PFS (Y/N): N, DH group: none

     inbound esp sas:
      spi: 0x1B68FD22(459865378)
        transform: esp-3des esp-sha-hmac ,
        in use settings ={Tunnel UDP-Encaps, }
        conn id: 2107, flow_id: NETGX:107, sibling_flags 80000046, crypto map: MAP
        sa timing: remaining key lifetime (k/sec): (4386973/1557)
        IV size: 8 bytes
        replay detection support: Y
        Status: ACTIVE

     inbound ah sas:

     inbound pcp sas:

     outbound esp sas:
      spi: 0x48E82D7A(1223175546)
        transform: esp-3des esp-sha-hmac ,
        in use settings ={Tunnel UDP-Encaps, }
        conn id: 2108, flow_id: NETGX:108, sibling_flags 80000046, crypto map: MAP
        sa timing: remaining key lifetime (k/sec): (4386975/1557)
        IV size: 8 bytes
        replay detection support: Y
        Status: ACTIVE

     outbound ah sas:

     outbound pcp sas:

ちなみに、IPSecに「AES」を使うと

#pkts decaps: 0, #pkts decrypt: 0, #pkts verify: 0
ここが「0」となりまったくカウントされませんでした。。。

・L2TPトンネル
[shell]#show l2tp session
L2TP Session Information Total tunnels 1 sessions 1

LocID      RemID      TunID      Username, Intf/      State  Last Chg Uniq ID
                                 Vcid, Circuit
23239**** 1900**** 2306***** 1, Fa0/1             est    01:32:52 1

ここも「AES」を使うと「TunID 0」になったり。。。

#show l2tp tunnel
L2TP Tunnel Information Total tunnels 1 sessions 1
LocTunID   RemTunID   Remote Name   State  Remote Address  Sessn L2TP Class/
                                                           Count VPDN Group
230**** 1          ******* est    203.0.113.123   1     l2tp_default_cl

こんな感じで接続できます。

あとは、
「interface FastEthernet0/1」にPCでも繋げると
Softetherで設定したDHCPアドレス(192.168.30/24)が降ってくると思います。

いやぁ嵌りました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Enter code * Time limit is exhausted. Please reload CAPTCHA.

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください