FutureNet

NXR,WXRシリーズ

IPsec編

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

3-5. Windows端末とのL2TP/IPsec接続設定

Windowsに搭載されているL2TP/IPsecのVPN機能を利用することでNXR,WXRシリーズとVPN接続することが可能です。なお、この設定例は弊社独自の検証結果を元に作成しております。よって、Windows端末との接続を保証するものではありません。

 

【 構成図 】

fnw_ip_remote_05

  • 接続してきたWindows端末にはIPアドレスプールよりIPアドレスを割り当てます。この設定例では2台分のIPアドレスを設定します。また、接続してきた端末のユーザIDに対してIPアドレスプールの範囲内から動的にIPアドレスを割り当てます。
  • IPアドレスプールの範囲はNXRのLAN側ネットワーク内のアドレスとするため、virtual-template0インタフェースでプロキシARPを有効にします。

 

【 設定データ 】

設定項目 設定内容
ホスト名 NXR
LAN側インタフェース ethernet0のIPアドレス 192.168.10.1/24
PPPアカウント No.1 ユーザID windows1
パスワード windows1pass
No.2 ユーザID windows2
パスワード windows2pass
No.3 ユーザID test1@example.jp
パスワード test1pass
WAN側インタフェース PPPoEクライアント(ethernet1) ppp0
ppp0のIPアドレス 10.10.10.1/32
IPマスカレード 有効
IPアクセスグループ in ppp0_in
SPIフィルタ 有効
MSS自動調整 オート
IPリダイレクト 無効
ISP接続用ユーザID test1@example.jp
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 NATトラバーサル 有効
IPsecローカルポリシー1 address ip
IPsec ISAKMPポリシー1 名前 RemoteAccess
認証方式 pre-share
認証鍵 ipseckey
認証アルゴリズム sha1
暗号化アルゴリズム aes128
DHグループ 5
ライフタイム 86400秒
ISAKMPモード メインモード
リモートアドレス any
ローカルポリシー 1
 IPsecトンネルポリシー1 名前 RemoteAccess
認証アルゴリズム sha1
暗号化アルゴリズム aes128
PFS 無効
ライフタイム 28800秒
ISAKMPポリシー 1
match protocol l2tp-smartphone(nat-traversal)
ip local pool プール名 RAC
IPアドレス払い出し範囲(始点) 192.168.10.10
IPアドレス払い出し範囲(終点) 192.168.10.11
virtual-template0
インタフェース
IPアドレス 192.168.10.1/32
MSS自動調整 オート
IPリダイレクト 無効
IPリバウンド 無効
peer ip pool RAC
プロキシARP 有効
L2TP UDP送信元ポート 1701
L2TP 接続先 any(IPsec)
トンネルモード lns
使用するvirtual-template 0
DNS サービス 有効
FastFowarding 有効

【 設定例 】

nxr120#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
nxr120(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 nat-traversal enable
% restart ipsec service to take affect.
NXR(config)#ipsec local policy 1
NXR(config-ipsec-local)#address ip
NXR(config-ipsec-local)#exit
NXR(config)#ipsec isakmp policy 1
NXR(config-ipsec-isakmp)#description RemoteAccess
NXR(config-ipsec-isakmp)#authentication pre-share ipseckey
NXR(config-ipsec-isakmp)#hash sha1
NXR(config-ipsec-isakmp)#encryption aes128
NXR(config-ipsec-isakmp)#group 5
NXR(config-ipsec-isakmp)#lifetime 86400
NXR(config-ipsec-isakmp)#isakmp-mode main
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 RemoteAccess
NXR(config-ipsec-tunnel)#set transform esp-aes128 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 protocol l2tp-smartphone nat-traversal
NXR(config-ipsec-tunnel)#exit
NXR(config)#ppp account username windows1 password windows1pass
NXR(config)#ppp account username windows2 password windows2pass
NXR(config)#ppp account username test1@example.jp password test1pass
NXR(config)#ip local pool RAC address 192.168.10.10 192.168.10.11
NXR(config)#interface virtual-template 0
NXR(config-if-vt)#ip address 192.168.10.1/32
NXR(config-if-vt)#ip tcp adjust-mss auto
NXR(config-if-vt)#no ip redirects
NXR(config-if-vt)#no ip rebound
NXR(config-if-vt)#peer ip pool RAC
NXR(config-if-vt)#peer ip proxy-arp
NXR(config-if-vt)#exit
NXR(config)#l2tp udp source-port 1701
NXR(config)#l2tp 1
NXR(config-l2tp)#tunnel address any ipsec
NXR(config-l2tp)#tunnel mode lns
NXR(config-l2tp)#tunnel virtual-template 0
NXR(config-l2tp)#exit
% Restarting l2tp service. Please wait…..
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
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. <ホスト名の設定>
nxr120(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アクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。

 

5. <IPsec NATトラバーサル設定>
NXR(config)#ipsec nat-traversal enable

NATトラバーサルを有効にします。

 

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

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

 

7. <IPsec ISAKMPポリシー設定>
NXR(config)#ipsec isakmp policy 1
NXR(config-ipsec-isakmp)#description RemoteAccess
NXR(config-ipsec-isakmp)#authentication pre-share ipseckey

ISAKMPポリシーの説明としてRemoteAccess、認証方式としてpre-share(事前共有鍵)を選択し事前共有鍵ipseckeyを設定します。なお、事前共有鍵はWindows端末と共通の値を設定します。

NXR(config-ipsec-isakmp)#hash sha1
NXR(config-ipsec-isakmp)#encryption aes128
NXR(config-ipsec-isakmp)#group 5
NXR(config-ipsec-isakmp)#lifetime 86400
NXR(config-ipsec-isakmp)#isakmp-mode main

認証アルゴリズムとしてsha1、暗号化アルゴリズムとしてaes128,Diffie-Hellman(DH)グループとしてgroup 5、ISAKMP SAのライフタイムとして86400秒、フェーズ1のネゴシエーションモードとしてメインモードを設定します。

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

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

 

8. <IPsecトンネルポリシー設定>
NXR(config)#ipsec tunnel policy 1
NXR(config-ipsec-tunnel)#description RemoteAccess

IPsecトンネルポリシーの説明としてRemoteAccessを設定します。

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

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

NXR(config-ipsec-tunnel)#set key-exchange isakmp 1
NXR(config-ipsec-tunnel)#match protocol l2tp-smartphone nat-traversal

ISAKMPポリシー1と関連づけを行います。また、match protocol l2tp-smartphone nat-traversalを設定します。この設定を行うことで、IPsec接続を行う際に下記項目が自動的に設定されます。
・protocol-mode → transport
・negotiation-mode → responder
・IPsecセレクタ → 以下のように自動設定されます。またNATトラバーサル有効時はNAT配下のどのアドレスからの接続も受け付けます。

IDペイロード NXR側 Windows側
IPv4アドレス host host
プロトコル UDP UDP
ポート番号 1701 any(どのポートでも受け付ける)
9. <PPPアカウント設定>
NXR(config)#ppp account username windows1 password windows1pass
NXR(config)#ppp account username windows2 password windows2pass

L2TPv2のLNS機能による着信時のユーザID,パスワードを設定します。

NXR(config)#ppp account username test1@example.jp password test1pass

ppp0インタフェースで使用するユーザ名,パスワードを設定します。
(☞) ここで設定したアカウントはppp0インタフェースの設定で利用します。

 

10. <IPアドレスプール設定>
NXR(config)#ip local pool RAC address 192.168.10.10 192.168.10.11

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

 

11. <virtual-template0インタフェース設定>
NXR(config)#interface virtual-template 0
NXR(config-if-vt)#ip address 192.168.10.1/32

virtual-template0インタフェースのIPアドレスを設定します。
(☞) virtual-templateインタフェースは仮想的なインタフェースであり、実際に作成されるわけではありません。virtual- templateインタフェースを使用するとコールを受けた際にPPPのクローンを作成し、本ノードの設定内容を当該PPPに適用します。なお、PPPクローンのインタフェース番号は、本装置が自動的に割り当てます。

NXR(config-if-vt)#ip tcp adjust-mss auto
NXR(config-if-vt)#no ip redirects
NXR(config-if-vt)#no ip rebound
NXR(config-if-vt)#peer ip pool RAC
NXR(config-if-vt)#peer ip proxy-arp

TCP MSSの調整機能をオート、ICMPリダイレクト機能を無効、IPリバウンド機能を無効に設定します。また、IPアドレスプールとしてRACを設定します。そして、プロキシARPを設定します。

 

12. <L2TPv2設定>
NXR(config)#l2tp udp source-port 1701

L2TPv2で使用する送信元ポートを設定します。

NXR(config)#l2tp 1
NXR(config-l2tp)#tunnel address any ipsec

接続先にIPアドレスとしてanyを設定します。
また、any指定時にバインドするプロトコルとしてIPsecを指定します。これによりIPsec SAの確立したクライアントからの接続のみ許可します。

NXR(config-l2tp)#tunnel mode lns
NXR(config-l2tp)#tunnel virtual-template 0

L2TPv2のトンネルモードおよびLNS利用時に使用するvirtual-template0インタフェースを設定します。

 

13. <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
NXR(config-ppp)#ipsec policy 1

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

 

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

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

 

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

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

 

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

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

 

【 Windows端末の設定例 】

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

 

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

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

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

    設定項目 設定値 備考
    VPNの種類 IPsecを利用したレイヤー2トンネリングプロトコル(L2TP/IPsec)
    データの暗号化 暗号化が必要(サーバーが拒否する場合は切断します)
    次のプロトコルを許可する 選択
    チャレンジハンドシェイク認証プロトコル(CHAP) チェック
  11. [詳細プロパティ]画面で次の各項目を設定し「OK」をクリックします。

    設定項目 設定値 備考
    認証に事前共有キーを使う 選択
    キー ipseckey NXRの事前共有鍵と共通の値を設定します
  12. これで設定は完了ですので、「OK」をクリックします。
  13. [ネットワーク接続]画面で作成済の「VPN接続」を右クリックし、「接続」をクリックします。
  14. 接続画面で[ユーザー名],[パスワード]が設定されていることを確認し、「接続」をクリックします。
  15. 接続が完了すると以下の様な画面が表示されます。

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