こんにちは。
さぼり気味です。
初めて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)が降ってくると思います。
いやぁ嵌りました。