FutureNet

NXR,WXRシリーズ

IPsec編

3. リモートアクセスVPN設定

3-8. IKEv2 Configuration Payload設定(EAP-MSCHAPv2の利用)

この設定例ではIKEv2 Configuration Payload機能を利用してWindowsに搭載されているIPsec(IKEv2)機能とVPN接続します。そしてサーバ認証に証明書、クライアント認証にユーザ名/パスワードを利用します。なお、この設定例は弊社独自の検証結果を元に作成しております。よって、Windowsとの接続を保証するものではありません。

 

【 構成図 】

  • IPsec接続にはIKEv2を使用します。そしてサーバ認証に証明書、クライアント認証にユーザ名/パスワードを利用します。
  • NXRへの各種証明書のインポートはFTPおよびSSHで行うことができますこの設定例では、FTPサーバ(192.168.10.10)からインポートします。
  • NXRへインポートする各種証明書の拡張子としてpemを使用します。
    (☞) 各証明書はDERまたはPEMフォーマットでなくてはなりません。なお、どのフォーマットの証明書かどうかはファイルの拡張子で自動的に判断されます。 よって、PEMの場合はpem,DERの場合はderまたcerの拡張子でなければなりません。なお、シングルDESで暗号化された鍵ファイルは使用することができません。

 

【 設定データ 】

設定項目 設定内容
ホスト名 NXR
LAN側インタフェース ethernet0のIPアドレス 192.168.10.1/24
WAN側インタフェース PPPoEクライアント(ethernet1) ppp0
ppp0のIPアドレス 10.10.10.1/32
IPマスカレード 有効
IPアクセスグループ in ppp0_in
SPIフィルタ 有効
MSS自動調整 オート
IPリダイレクト 無効
ISP接続用ユーザID test1@example.jp
ISP接続用パスワード test1pass
IPsecローカルポリシー 1
スタティックルート 宛先IPアドレス 0.0.0.0/0
ゲートウェイ(インタフェース) ppp0
IPフィルタ ルール名 ppp0_in
ppp0_in No.1 動作 許可
送信元IPアドレス any
宛先IPアドレス 10.10.10.1
プロトコル UDP
送信元ポート any
宛先ポート 500
No.2 動作 許可
送信元IPアドレス any
宛先IPアドレス 10.10.10.1
プロトコル UDP
送信元ポート any
宛先ポート 4500
No.3 動作 許可
送信元IPアドレス any
宛先IPアドレス 10.10.10.1
プロトコル 50(ESP)
IPsec IPsecアクセスリスト リスト名 RemoteAccess
送信元IPアドレス any
宛先IPアドレス host
X.509 有効
CA証明書 定義名 nxrCA
ファイル nxrCA.pem
失効リスト 定義名 nxrCA
ファイル nxrCRL.pem
NXR用証明書 定義名 nxr
ファイル nxrCert.pem
NXR用秘密鍵 定義名 nxr
ファイル nxrKey.pem
NXR用秘密鍵パスワード 定義名 nxr
パスワード nxrpass
EAP ID No.1 ユーザID windows1
パスワード windows1pass
No.2 ユーザID windows2
パスワード windows2pass
IPsecローカルポリシー1 address ip
X.509証明書 nxr
IPsec ISAKMPポリシー1 名前 Windows
認証方式 ローカル rsa-sig
リモート eap-mschapv2
バージョン 2
アドレスプール RAC
eap-identity any
認証アルゴリズム sha1
暗号化アルゴリズム aes256
DHグループ 2
ライフタイム 86400秒
リモートアドレス any
ローカルポリシー 1
 IPsecトンネルポリシー1 名前 Windows
ネゴシエーションモード レスポンダ
認証アルゴリズム sha1
暗号化アルゴリズム aes256
PFS 無効
ライフタイム 28800秒
ISAKMPポリシー 1
IPsecアクセスリスト RemoteAccess
ipsec local pool プール名 RAC
IPアドレス払い出し範囲 172.16.0.0/24
DNS サービス 有効
FastFowarding 有効

【 設定例 】

nxrg100#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxrg100(config)#hostname NXR
NXR(config)#interface ethernet 0
NXR(config-if)#ip address 192.168.10.1/24
NXR(config-if)#exit
NXR(config)#ip route 0.0.0.0/0 ppp 0
NXR(config)#ip access-list ppp0_in permit any 10.10.10.1 udp any 500
NXR(config)#ip access-list ppp0_in permit any 10.10.10.1 udp any 4500
NXR(config)#ip access-list ppp0_in permit any 10.10.10.1 50
NXR(config)#ipsec access-list RemoteAccess ip any host
NXR(config)#ipsec local pool RAC address 172.16.0.0/24
NXR(config)#ipsec x509 enable
NXR(config)#ipsec x509 ca-certificate nxrCA ftp://192.168.10.10/nxrCA.pem
NXR(config)#ipsec x509 crl nxrCA ftp://192.168.10.10/nxrCRL.pem
NXR(config)#ipsec x509 certificate nxr ftp://192.168.10.10/nxrCert.pem
NXR(config)#ipsec x509 private-key nxr key ftp://192.168.10.10/nxrKey.pem
NXR(config)#ipsec x509 private-key nxr password nxrpass
NXR(config)#ipsec eap identity string windows1 password windows1pass
NXR(config)#ipsec eap identity string windows2 password windows2pass
NXR(config)#ipsec local policy 1
NXR(config-ipsec-local)#address ip
NXR(config-ipsec-local)#x509 certificate nxr
NXR(config-ipsec-local)#exit
NXR(config)#ipsec isakmp policy 1
NXR(config-ipsec-isakmp)#description Windows
NXR(config-ipsec-isakmp)#authentication local rsa-sig
NXR(config-ipsec-isakmp)#authentication remote eap-mschapv2
NXR(config-ipsec-isakmp)#version 2
NXR(config-ipsec-isakmp)#client configuration address-pool local RAC
NXR(config-ipsec-isakmp)#eap-identity any
NXR(config-ipsec-isakmp)#hash sha1
NXR(config-ipsec-isakmp)#encryption aes256
NXR(config-ipsec-isakmp)#group 2
NXR(config-ipsec-isakmp)#lifetime 86400
NXR(config-ipsec-isakmp)#remote address ip any
NXR(config-ipsec-isakmp)#local policy 1
NXR(config-ipsec-isakmp)#exit
NXR(config)#ipsec tunnel policy 1
NXR(config-ipsec-tunnel)#description Windows
NXR(config-ipsec-tunnel)#negotiation-mode responder
NXR(config-ipsec-tunnel)#set transform esp-aes256 esp-sha1-hmac
NXR(config-ipsec-tunnel)#no set pfs
NXR(config-ipsec-tunnel)#set sa lifetime 28800
NXR(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR(config-ipsec-tunnel)#match address RemoteAccess
NXR(config-ipsec-tunnel)#exit
NXR(config)#interface ppp 0
NXR(config-ppp)#ip address 10.10.10.1/32
NXR(config-ppp)#ip masquerade
NXR(config-ppp)#ip access-group in ppp0_in
NXR(config-ppp)#ip spi-filter
NXR(config-ppp)#ip tcp adjust-mss auto
NXR(config-ppp)#no ip redirects
NXR(config-ppp)#ppp username test1@example.jp password test1pass
NXR(config-ppp)#ipsec policy 1
NXR(config-ppp)#exit
NXR(config)#interface ethernet 1
NXR(config-if)#no ip address
NXR(config-if)#pppoe-client ppp 0
NXR(config-if)#exit
NXR(config)#dns
NXR(config-dns)#service enable
NXR(config-dns)#exit
NXR(config)#fast-forwarding enable
NXR(config)#exit
NXR#save config

【 設定例解説 】

1. <ホスト名の設定>
nxrg100(config)#hostname NXR

ホスト名を設定します。

 

2. <LAN側(ethernet0)インタフェース設定>
NXR(config)#interface ethernet 0
NXR(config-if)#ip address 192.168.10.1/24

ethernet0インタフェースのIPアドレスを設定します。

 

3. <スタティックルート設定>
NXR(config)#ip route 0.0.0.0/0 ppp 0

デフォルトルートを設定します。

 

4. <IPアクセスリスト設定>
NXR(config)#ip access-list ppp0_in permit any 10.10.10.1 udp any 500
NXR(config)#ip access-list ppp0_in permit any 10.10.10.1 udp any 4500
NXR(config)#ip access-list ppp0_in permit any 10.10.10.1 50

IPアクセスリスト名をppp0_inとし、NXRのWAN側IPアドレス10.10.10.1宛のUDPポート番号500、4500、ESP(プロトコル番号50)のパケットを許可します。
なお、このIPアクセスリスト設定はppp0インタフェース設定で登録します。
(☞) IPアクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。
(☞) NATトラバーサルでは、UDPポート番号500および4500をIPsecのネゴシエーションおよび通信で使用します。

 

5. <IPsecアクセスリスト設定>
NXR(config)#ipsec access-list RemoteAccess ip any host

RemoteAccessという名前のIPsecアクセスリストを設定します。なお、送信元IPアドレスはany,宛先IPアドレスはhostとします。

 

6. <IPsec IPアドレスプール設定>
NXR(config)#ipsec local pool RAC address 172.16.0.0/24

IPsec IPアドレスプール名をRACとし、Windowsに割り当てるIPアドレスを設定します。

 

7. <X.509の有効化>
NXR(config)#ipsec x509 enable

X.509機能を有効にします。

 

8. <CA証明書の設定>
NXR(config)#ipsec x509 ca-certificate nxrCA ftp://192.168.10.10/nxrCA.pem

FTPサーバ192.168.10.10にあるCA証明書ファイルnxrCA.pemをインポートします。

 

9. <CRLの設定>
NXR(config)#ipsec x509 crl nxrCA ftp://192.168.10.10/nxrCRL.pem

FTPサーバ192.168.10.10にあるCRLファイルnxrCRL.pemをインポートします。

 

10. <NXR用公開鍵証明書の設定>
NXR(config)#ipsec x509 certificate nxr ftp://192.168.10.10/nxrCert.pem

FTPサーバ192.168.10.10にあるNXR用公開鍵証明書ファイルnxrCert.pemをインポートします。

 

11. <NXR用秘密鍵の設定>
NXR(config)#ipsec x509 private-key nxr key ftp://192.168.10.10/nxrKey.pem

FTPサーバ192.168.10.10にあるNXR用秘密鍵ファイルnxrKey.pemをインポートします。

 

12. <NXR用秘密鍵パスフレーズの設定>
NXR(config)#ipsec x509 private-key nxr password nxrpass

NXR用秘密鍵のパスフレーズであるnxrpassを設定します。
(☞) パスフレーズを暗号化する場合はhiddenオプションを設定します。

 

13. <EAP認証用アカウント設定>
NXR(config)#ipsec eap identity string windows1 password windows1pass
NXR(config)#ipsec eap identity string windows2 password windows2pass

EAP-MSCHAPv2で使用するユーザIDとパスワードを設定します。

 

14. <IPsecローカルポリシー設定>
NXR(config)#ipsec local policy 1
NXR(config-ipsec-local)#address ip

IPsecトンネルの送信元IPアドレスをip(IPv4)と設定します。

NXR(config-ipsec-local)#x509 certificate nxr

X.509で利用する証明書を指定します。この設定例では、10. <NXR用公開鍵証明書の設定>で設定したcertificate name nxrを設定します。

 

15. <IPsec ISAKMPポリシー設定>
NXR(config)#ipsec isakmp policy 1
NXR(config-ipsec-isakmp)#description Windows

ISAKMPポリシーの説明としてWindowsを設定します。

NXR(config-ipsec-isakmp)#authentication local rsa-sig
NXR(config-ipsec-isakmp)#authentication remote eap-mschapv2

認証方式としてNXRの認証にX.509、対向のWindows端末の認証にEAP-MSCHAPv2を選択します。
(☞) 認証方式としてX.509を利用する場合はrsa-sigを選択します。

NXR(config-ipsec-isakmp)#version 2

IKEv2を使用するため、version2を指定します。

NXR(config-ipsec-isakmp)#client configuration address-pool local RAC

IKEv2 Configuration Payloadで使用するIPsec IPアドレスプール名を設定します。

NXR(config-ipsec-isakmp)#eap-identity any

EAP認証で使用するIDを設定します。

NXR(config-ipsec-isakmp)#hash sha1
NXR(config-ipsec-isakmp)#encryption aes256
NXR(config-ipsec-isakmp)#group 2
NXR(config-ipsec-isakmp)#lifetime 86400

認証アルゴリズムとしてsha1、暗号化アルゴリズムとしてaes256,Diffie-Hellman(DH)グループとしてgroup 2、ISAKMP SAのライフタイムとして86400秒を設定します。

NXR(config-ipsec-isakmp)#remote address ip any
NXR(config-ipsec-isakmp)#local policy 1

リモートアドレスにanyを設定します。また、IPsecローカルポリシー1と関連づけを行います。

 

16. <IPsecトンネルポリシー設定>
NXR(config)#ipsec tunnel policy 1
NXR(config-ipsec-tunnel)#description Windows
NXR(config-ipsec-tunnel)#negotiation-mode responder

IPsecトンネルポリシーの説明としてWindows、ネゴシエーションモードとしてresponderを設定します。

NXR(config-ipsec-tunnel)#set transform esp-aes256 esp-sha1-hmac
NXR(config-ipsec-tunnel)#no set pfs
NXR(config-ipsec-tunnel)#set sa lifetime 28800

暗号化アルゴリズムとしてaes256、認証アルゴリズムとしてsha1、PFSを無効、IPsec SAのライフタイムとして28800秒を設定します。

NXR(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR(config-ipsec-tunnel)#match address RemoteAccess

ISAKMPポリシー1と関連づけを行い、IPsecアクセスリストRemoteAccessを設定します。

 

17. <WAN側(ppp0)インタフェース設定>
NXR(config)#interface ppp 0
NXR(config-ppp)#ip address 10.10.10.1/32

ppp0インタフェースのIPアドレスを設定します。

NXR(config-ppp)#ip masquerade
NXR(config-ppp)#ip access-group in ppp0_in
NXR(config-ppp)#ip spi-filter
NXR(config-ppp)#ip tcp adjust-mss auto
NXR(config-ppp)#no ip redirects

IPマスカレード、ステートフルパケットインスペクションを有効に設定します。また、IPアクセスリストppp0_inをinフィルタに適用します。そして、TCP MSSの調整機能をオート、ICMPリダイレクト機能を無効に設定します。

NXR(config-ppp)#ppp username test1@example.jp password test1pass
NXR(config-ppp)#ipsec policy 1

ISP接続用ユーザIDとパスワードを設定します。また、IPsecトンネルのエンドポイントとなるためIPsecローカルポリシー1を設定します。

 

18. <ethernet1インタフェース設定>
NXR(config)#interface ethernet 1
NXR(config-if)#no ip address
NXR(config-if)#pppoe-client ppp 0

PPPoEクライアントとしてppp0インタフェースを使用できるように設定します。

 

19. <DNS設定>
NXR(config)#dns
NXR(config-dns)#service enable

DNSサービスを有効にします。

 

20. <ファストフォワーディングの有効化>
NXR(config)#fast-forwarding enable

ファストフォワーディングを有効にします。ファストフォワーディングを設定することによりパケット転送の高速化を行うことができます。
(☞) ファストフォワーディングの詳細および利用時の制約については、NXR,WXRシリーズのユーザーズガイド(CLI版)に記載されているファストフォワーディングの解説をご参照ください。

 

【 Windowsの設定例 】

(☞) ここで記載した設定はあくまで一例ですので、ご利用頂いているWindows端末によって設定が異なる場合があります。設定の詳細はご利用中のWindows端末のヘルプ等をご確認下さい。
(☞) この設定例はWindows端末との接続性を保証するものではありません。ご利用頂く際には十分な検証を行った上でのご利用をお願い致します。

 

この設定方法でWindows端末とIPsec接続するためには、CA証明書をインポートする必要があります。

※弊社では証明書発行サービスを提供しております。ご希望のお客様は弊社営業部までお問い合わせください。
https://www.centurysys.co.jp/company/contact.html#init_tab2

 

  1. CA証明書をインポートします。
    CA証明書のインポート手順
  2. [スタート] ボタンをクリックし、[コントロールパネル]-[ネットワークの状態とタスクの表示]をクリックします。
    fnw_ip_remote_05_01
  3. [新しい接続またはネットワークのセットアップ]をクリックします。
    fnw_ip_remote_05_02
  4. [接続またはネットワークのセットアップ]画面で「職場に接続します」を選択し、「次へ」をクリックします。
    fnw_ip_remote_05_03
  5. [職場への接続]画面で「インターネット接続(VPN)を使用します」を選択します。
    fnw_ip_remote_05_04
  6. 次の各項目を設定し「次へ」をクリックします。

    設定項目 設定値 備考
    インターネット アドレス 10.10.10.1 NXRのWAN側IPアドレスを設定します
    接続先の名前 VPN 接続 任意の名称を設定します
    今は接続しない。自分が後で接続できるようにセットアップのみ行う チェック
  7. 次の各項目を設定し「作成」をクリックします。

    設定項目 設定値 備考
    ユーザ名 windows1 Windows端末のユーザIDを設定します
    パスワード windows1pass Windows端末のパスワードを設定します
    このパスワードを記憶する チェック
  8. 「閉じる」をクリックします。
    fnw_ip_remote_05_07
  9. [ネットワークと共有センター]画面で「アダプター設定の変更」をクリックします。
    fnw_ip_remote_05_08
  10. [ネットワーク接続]画面で先ほど作成した「VPN接続」を右クリックし、「プロバティ」をクリックします。
    fnw_ip_remote_05_09
  11. [セキュリティ]タブを開き、次の各項目を設定し「詳細設定」をクリックします。

    設定項目 設定値 備考
    VPNの種類 IKEv2
    データの暗号化 暗号化が必要(サーバーが拒否する場合は切断します)
    拡張認証プロトコル(EAP)を使う 選択
    Microsoft:セキュリティで保護されたパスワード(EAP-MSCHAPv2)(暗号化は有効)
  12. [詳細プロパティ]画面で[モビリティ]のチェックを外し「OK」をクリックします。
    fnw_ip_remote_ikev2win_03
  13. [拡張認証プロトコル(EAP)を使う]の「プロパティ」をクリックします。
    fnw_ip_remote_ikev2win_23
  14. [EAP MSCHAPv2のプロパティ]画面で[Windowsのログオン名とパスワード(およびドメインがある場合はドメイン)を自動的に使う]のチェックが入っていないことを確認し、「OK」をクリックします。
    fnw_ip_remote_ikev2win_24
  15. これで設定は完了ですので、「OK」をクリックします。
  16. [ネットワーク接続]画面で作成済の「VPN接続」を右クリックし、「接続」をクリックします。
  17. 先ほど設定したユーザ名、パスワードで接続する場合は、そのまま「接続」をクリックします。
    fnw_ip_remote_ikev2win_26
  18. 接続が完了すると以下の様な画面が表示されます。
    fnw_ip_remote_ikev2win_06

これで設定および接続は完了となります。