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