一、FlexVPNとは
FlexVPNはシスコ社のIKEv2ベースの統合VPNソリューションです。Cisco FlexVPN は主に IKEv2 (RFC 5998, 6989汎用プロトコル)、Cisco IOS P2P Tunnel Interface( GRE もしくは native IPsec Encapsulation)及びCisco IOS AAA Infrastructure より構成されます。
FlexVPNは使用状態によりHub & Spoke の Site to Siteネットワークトポロジーもしくは Remote Access VPN に分類できます。
本稿ではFlexVPNにてIOS-XEルータをSecure GatewayとするRemote Access VPNの設定方法について紹介します。
二、Remote Access Client for FlexVPN
現時点でFlexVPN Remote Access Client としてサポートされているのは以下となります。
FlexVPN remote access client
Cisco IKEv2 AnyConnect client
Microsoft Windows IKEv2 Client
Linux Strongswan IKEv2 client
本稿ではRemote Access のクライアントとしてCisco Anyconnectを使用します。
三、ネットワーク構成

本稿では上記のようなネットワーク構成で FlexVPN を設定します。各機器の詳細は以下となります。
(1) IOS-XE ルータ: CSR1000V, 17.3
(2) Anyconnect: 4.10, Windows 10 バージョン
(3) 認証サーバ: Cisco ISE, 3.0
四、設定手順
(1) Cryptography Support
Anyconnect 4.9 以降から一部の暗号シュートが廃止されているため、ルータで暗号シュートを指定するとき注意が必要です。以下は Anyconnect Config Guide からの参照となります。
As of AnyConnect release 4.9, these less secure cipher suites have been removed:
For SSL VPN, AnyConnect no longer supports the following cipher suites from both TLS and DTLS: DHE-RSA-AES256-SHA and DES-CBC3-SHA
For IKEv2/IPsec, AnyConnect no longer supports the following algorithms:
Encryption algorithms: DES and 3DES
Pseudo Random Function (PRF) algorithm: MD5
Integrity algorithm: MD5
Diffie-Hellman (DH) groups: 2, 5, 14, 24
|
(2) 証明書の設定
FlexVPN を設定するためにはルータのサーバ証明書を作成する必要がありますが、Anyconnect FlexVPN ではルータの自己署名証明書は使用不可となるため、3rd partyの証明書を発行する必用があります。
(3) AnyConnect Profileの設定
AnyConnect はデフォルトでは SSL で接続するためProfileの設定でIPsecで接続するように指定する必要があります。
設定したプロファイルは端末に事前に手動で配置します。Windows の場合は以下のフォルダーに配置します。
C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Profile

(4) ルータ側のプロファイル
端末用のプロファイルと同一Profile をルータのローカルにも配置します ( プロファイルが異なると失敗する )
その場合以下のコマンドを使用します。
(5) 端末が使用する Anyconnect のイメージをルータのローカルに配置
以下のコマンドを使用します。
copy ftp://username:password@FTP-SRV-IP /anyconnect-win-4.10.05111-webdeploy-k9.pkg bootflash:/webvpn/anyconnect-win-4.10.05111-webdeploy-k9.pkg
crypto vpn anyconnect bootflash:/webvpn/anyconnect-win-4.10.05111-webdeploy-k9.pkg sequence 1
|
(6) Radius サーバグループを設定
ルータで認証サーバを指定します:
aaa group server radius ISE3-0
server name ISE3-0-2
radius server ISE3-0-2
address ipv4 1.180.130.132 auth-port 1645 acct-port 1646
key Cisco123
aaa authentication login A-EAP-Authen group ISE3-0
aaa authorization network A-EAP-Author group ISE3-0
aaa accounting network A-EAP-Acc start-stop group ISE3-0
|
(7) IP local pool を設定
ip local pool ACPOOL 1.180.1.1 1.180.1.50
|
(8) ikev2 proposal、ikev2 policy を設定
crypto ikev2 proposal IKEv2-PROP1
encryption aes-cbc-256
integrity sha256
group 14 16
crypto ikev2 policy IKEv2-POL
proposal IKEv2-PROP1
|
(9) Virtual Template を設定
interface Virtual-Template1 type tunnel
ip unnumbered Loopback1
ip mtu 1400
tunnel mode ipsec ipv4
tunnel protection ipsec profile AnyConnect-EAP-IPsec-Prof
|
(10) ikev2 profile を設定
crypto ikev2 profile AnyConnect-EAP-IKEv2-Prof
match identity remote any
authentication local rsa-sig
authentication remote anyconnect-eap aggregate
pki trustpoint OpenSSL-CA9
aaa authentication anyconnect-eap A-EAP-Authen
aaa authorization user anyconnect-eap cached
aaa accounting anyconnect-eap A-EAP-Acc
virtual-template 1
anyconnect profile acvpn
|
(11) Transform Set とIPsec profileを設定
crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac
mode tunnel
crypto ipsec profile AnyConnect-EAP-IPsec-Prof
set transform-set TS
set ikev2-profile AnyConnect-EAP-IKEv2-Prof
|
五、参考文献
[1] Configure FlexVPN: AnyConnect IKEv2 Remote Access with Local User Database
https://www.cisco.com/c/en/us/support/docs/security/flexvpn/200555-FlexVPN-AnyConnect-IKEv2-Remote-Access.html
六、サンプル設定
本設定例で作成されたサンプルコンフィグを添付します。