FutureNet
NXR,WXRシリーズ
IPsec編
3. リモートアクセスVPN設定
3-5. Windows端末とのL2TP/IPsec接続設定例
Windowsに搭載されているL2TP/IPsecのVPN機能を利用することでNXR,WXRシリーズとVPN接続することが可能です。なお、この設定例は弊社独自の検証結果を元に作成しております。よって、Windows端末との接続を保証するものではありません。
【 構成図 】
- 接続してきた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 | 有効 |
【 設定例 】
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. <ホスト名の設定>
ホスト名を設定します。
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アクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。
5. <IPsec NATトラバーサル設定>
NATトラバーサルを有効にします。
6. <IPsecローカルポリシー設定>
NXR(config-ipsec-local)#address ip
IPsecトンネルの送信元IPアドレスをip(IPv4)と設定します。
7. <IPsec ISAKMPポリシー設定>
NXR(config-ipsec-isakmp)#description RemoteAccess
NXR(config-ipsec-isakmp)#authentication pre-share ipseckey
ISAKMPポリシーの説明としてRemoteAccess、認証方式としてpre-share(事前共有鍵)を選択し事前共有鍵ipseckeyを設定します。なお、事前共有鍵はWindows端末と共通の値を設定します。
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)#local policy 1
リモートアドレスにanyを設定します。また、IPsecローカルポリシー1と関連づけを行います。
8. <IPsecトンネルポリシー設定>
NXR(config-ipsec-tunnel)#description RemoteAccess
IPsecトンネルポリシーの説明としてRemoteAccessを設定します。
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)#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 windows2 password windows2pass
L2TPv2のLNS機能による着信時のユーザID,パスワードを設定します。
ppp0インタフェースで使用するユーザ名,パスワードを設定します。
(☞) ここで設定したアカウントはppp0インタフェースの設定で利用します。
10. <IPアドレスプール設定>
IPアドレスプール名をRACとし、Windows端末に割り当てるIPアドレスを設定します。
11. <virtual-template0インタフェース設定>
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)#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設定>
L2TPv2で使用する送信元ポートを設定します。
NXR(config-l2tp)#tunnel address any ipsec
接続先にIPアドレスとしてanyを設定します。
また、any指定時にバインドするプロトコルとしてIPsecを指定します。これによりIPsec SAの確立したクライアントからの接続のみ許可します。
NXR(config-l2tp)#tunnel virtual-template 0
L2TPv2のトンネルモードおよびLNS利用時に使用するvirtual-template0インタフェースを設定します。
13. <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を設定します。
14. <ethernet1インタフェース設定>
NXR(config-if)#no ip address
NXR(config-if)#pppoe-client ppp 0
PPPoEクライアントとしてppp0インタフェースを使用できるように設定します。
15. <DNS設定>
NXR(config-dns)#service enable
DNSサービスを有効にします。
16. <ファストフォワーディングの有効化>
ファストフォワーディングを有効にします。ファストフォワーディングを設定することによりパケット転送の高速化を行うことができます。
(☞) ファストフォワーディングの詳細および利用時の制約については、NXR,WXRシリーズのユーザーズガイド(CLI版)に記載されているファストフォワーディングの解説をご参照ください。
【 Windows端末の設定例 】
(☞) ここで記載した設定はあくまで一例ですので、ご利用頂いているWindows端末によって設定が異なる場合があります。設定の詳細はご利用中のWindows端末のヘルプ等をご確認下さい。
(☞) この設定例はWindows端末との接続性を保証するものではありません。ご利用頂く際には十分な検証を行った上でのご利用をお願い致します。
- [スタート] ボタンをクリックし、[コントロールパネル]-[ネットワークの状態とタスクの表示]をクリックします。
- [新しい接続またはネットワークのセットアップ]をクリックします。
- [接続またはネットワークのセットアップ]画面で「職場に接続します」を選択し、「次へ」をクリックします。
- [職場への接続]画面で「インターネット接続(VPN)を使用します」を選択します。
- 次の各項目を設定し「次へ」をクリックします。
設定項目 設定値 備考 ① インターネット アドレス 10.10.10.1 NXRのWAN側IPアドレスを設定します ② 接続先の名前 VPN 接続 任意の名称を設定します ③ 今は接続しない。自分が後で接続できるようにセットアップのみ行う チェック - 次の各項目を設定し「作成」をクリックします。
設定項目 設定値 備考 ① ユーザ名 windows1 L2TP/IPsec用ユーザ名 ② パスワード windows1pass L2TP/IPsec用パスワード ③ このパスワードを記憶する チェック - 「閉じる」をクリックします。
- [ネットワークと共有センター]画面で「アダプター設定の変更」をクリックします。
- [ネットワーク接続]画面で先ほど作成した「VPN接続」を右クリックし、「プロバティ」をクリックします。
- [セキュリティ]タブを開き、次の各項目を設定し「詳細設定」をクリックします。
設定項目 設定値 備考 ① VPNの種類 IPsecを利用したレイヤー2トンネリングプロトコル(L2TP/IPsec) ② データの暗号化 暗号化が必要(サーバーが拒否する場合は切断します) ③ 次のプロトコルを許可する 選択 ④ チャレンジハンドシェイク認証プロトコル(CHAP) チェック - [詳細プロパティ]画面で次の各項目を設定し「OK」をクリックします。
設定項目 設定値 備考 ① 認証に事前共有キーを使う 選択 ② キー ipseckey NXRの事前共有鍵と共通の値を設定します - これで設定は完了ですので、「OK」をクリックします。
- [ネットワーク接続]画面で作成済の「VPN接続」を右クリックし、「接続」をクリックします。
- 接続画面で[ユーザー名],[パスワード]が設定されていることを確認し、「接続」をクリックします。
- 接続が完了すると以下の様な画面が表示されます。
これで設定および接続は完了となります。