FutureNet
NXR,WXRシリーズ
IPsec編
3. リモートアクセスVPN設定
3-7. IKEモードコンフィグ接続設定(IKEv2+EAP-MSCHAPv2)
この設定例ではIKEモードコンフィグ機能を利用して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 | 有効 | |||
【 設定例 】
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. <ホスト名の設定>
ホスト名を設定します。
2. <LAN側(ethernet0)インタフェース設定>
NXR(config-if)#ip address 192.168.10.1/24
ethernet0インタフェースのIPアドレスを設定します。
3. <スタティックルート設定>
デフォルトルートを設定します。
4. <IPアクセスリスト設定>
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アクセスリスト設定>
RemoteAccessという名前のIPsecアクセスリストを設定します。なお、送信元IPアドレスはany,宛先IPアドレスはhostとします。
6. <IPsec IPアドレスプール設定>
IPsec IPアドレスプール名をRACとし、Windowsに割り当てるIPアドレスを設定します。
7. <X.509の有効化>
X.509機能を有効にします。
8. <CA証明書の設定>
FTPサーバ192.168.10.10にあるCA証明書ファイルnxrCA.pemをインポートします。
9. <CRLの設定>
FTPサーバ192.168.10.10にあるCRLファイルnxrCRL.pemをインポートします。
10. <NXR用公開鍵証明書の設定>
FTPサーバ192.168.10.10にあるNXR用公開鍵証明書ファイルnxrCert.pemをインポートします。
11. <NXR用秘密鍵の設定>
FTPサーバ192.168.10.10にあるNXR用秘密鍵ファイルnxrKey.pemをインポートします。
12. <NXR用秘密鍵パスフレーズの設定>
NXR用秘密鍵のパスフレーズであるnxrpassを設定します。
(☞) パスフレーズを暗号化する場合はhiddenオプションを設定します。
13. <EAP認証用アカウント設定>
NXR(config)#ipsec eap identity string windows2 password windows2pass
EAP-MSCHAPv2で使用するユーザIDとパスワードを設定します。
14. <IPsecローカルポリシー設定>
NXR(config-ipsec-local)#address ip
IPsecトンネルの送信元IPアドレスをip(IPv4)と設定します。
X.509で利用する証明書を指定します。この設定例では、10. <NXR用公開鍵証明書の設定>で設定したcertificate name nxrを設定します。
15. <IPsec ISAKMPポリシー設定>
NXR(config-ipsec-isakmp)#description Windows
ISAKMPポリシーの説明としてWindowsを設定します。
NXR(config-ipsec-isakmp)#authentication remote eap-mschapv2
認証方式としてNXRの認証にX.509、対向のWindows端末の認証にEAP-MSCHAPv2を選択します。
(☞) 認証方式としてX.509を利用する場合はrsa-sigを選択します。
IKEv2を使用するため、version2を指定します。
IKEモードコンフィグで使用するIPsec IPアドレスプール名を設定します。
EAP認証で使用するIDを設定します。
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)#local policy 1
リモートアドレスにanyを設定します。また、IPsecローカルポリシー1と関連づけを行います。
16. <IPsecトンネルポリシー設定>
NXR(config-ipsec-tunnel)#description Windows
NXR(config-ipsec-tunnel)#negotiation-mode responder
IPsecトンネルポリシーの説明としてWindows、ネゴシエーションモードとしてresponderを設定します。
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)#match address RemoteAccess
ISAKMPポリシー1と関連づけを行い、IPsecアクセスリストRemoteAccessを設定します。
17. <WAN側(ppp0)インタフェース設定>
NXR(config-ppp)#ip address 10.10.10.1/32
ppp0インタフェースのIPアドレスを設定します。
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)#ipsec policy 1
ISP接続用ユーザIDとパスワードを設定します。また、IPsecトンネルのエンドポイントとなるためIPsecローカルポリシー1を設定します。
18. <ethernet1インタフェース設定>
NXR(config-if)#no ip address
NXR(config-if)#pppoe-client ppp 0
PPPoEクライアントとしてppp0インタフェースを使用できるように設定します。
19. <DNS設定>
NXR(config-dns)#service enable
DNSサービスを有効にします。
20. <ファストフォワーディングの有効化>
ファストフォワーディングを有効にします。ファストフォワーディングを設定することによりパケット転送の高速化を行うことができます。
(☞) ファストフォワーディングの詳細および利用時の制約については、NXR,WXRシリーズのユーザーズガイド(CLI版)に記載されているファストフォワーディングの解説をご参照ください。
【 Windowsの設定例 】
(☞) ここで記載した設定はあくまで一例ですので、ご利用頂いているWindows端末によって設定が異なる場合があります。設定の詳細はご利用中のWindows端末のヘルプ等をご確認下さい。
(☞) この設定例はWindows端末との接続性を保証するものではありません。ご利用頂く際には十分な検証を行った上でのご利用をお願い致します。
この設定方法でWindows端末とIPsec接続するためには、CA証明書をインポートする必要があります。
※弊社では証明書発行サービスを提供しております。ご希望のお客様は弊社営業部までお問い合わせください。
http://www.centurysys.co.jp/company/contact.html#init_tab2
- CA証明書をインポートします。
CA証明書のインポート手順 - [スタート] ボタンをクリックし、[コントロールパネル]-[ネットワークの状態とタスクの表示]をクリックします。

- [新しい接続またはネットワークのセットアップ]をクリックします。

- [接続またはネットワークのセットアップ]画面で「職場に接続します」を選択し、「次へ」をクリックします。

- [職場への接続]画面で「インターネット接続(VPN)を使用します」を選択します。

- 次の各項目を設定し「次へ」をクリックします。
設定項目 設定値 備考 ① インターネット アドレス 10.10.10.1 NXRのWAN側IPアドレスを設定します ② 接続先の名前 VPN 接続 任意の名称を設定します ③ 今は接続しない。自分が後で接続できるようにセットアップのみ行う チェック - 次の各項目を設定し「作成」をクリックします。
設定項目 設定値 備考 ① ユーザ名 windows1 Windows端末のユーザIDを設定します ② パスワード windows1pass Windows端末のパスワードを設定します ③ このパスワードを記憶する チェック - 「閉じる」をクリックします。

- [ネットワークと共有センター]画面で「アダプター設定の変更」をクリックします。

- [ネットワーク接続]画面で先ほど作成した「VPN接続」を右クリックし、「プロバティ」をクリックします。

- [セキュリティ]タブを開き、次の各項目を設定し「詳細設定」をクリックします。
設定項目 設定値 備考 ① VPNの種類 IKEv2 ② データの暗号化 暗号化が必要(サーバーが拒否する場合は切断します) ③ 拡張認証プロトコル(EAP)を使う 選択
Microsoft:セキュリティで保護されたパスワード(EAP-MSCHAPv2)(暗号化は有効) - [詳細プロパティ]画面で[モビリティ]のチェックを外し「OK」をクリックします。

- [拡張認証プロトコル(EAP)を使う]の「プロパティ」をクリックします。

- [EAP MSCHAPv2のプロパティ]画面で[Windowsのログオン名とパスワード(およびドメインがある場合はドメイン)を自動的に使う]のチェックが入っていないことを確認し、「OK」をクリックします。

- これで設定は完了ですので、「OK」をクリックします。

- [ネットワーク接続]画面で作成済の「VPN接続」を右クリックし、「接続」をクリックします。

- 先ほど設定したユーザ名、パスワードで接続する場合は、そのまま「接続」をクリックします。

- 接続が完了すると以下の様な画面が表示されます。

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