FutureNet
NXR,WXRシリーズ
IPsec編
3. リモートアクセスVPN設定
3-4. スマートフォンとのL2TP/IPsec FQDN接続設定例
この設定例では、ダイナミックDNSを利用してアドレス不定のNXR,WXRとAndroidやiOSのスマートフォンとの間でL2TP/IPsecによる通信を行います。ダイナミックDNSを利用することでNXR,WXRのWAN側IPアドレスが不定の環境でもL2TP/IPsecを利用できます。ここではダイナミックDNSサービスに弊社が提供しているWarpLinkDDNSサービスを使用します。
なお、この設定例は弊社独自の検証結果を元に作成しております。よって、AndroidやiOSのスマートフォンとの接続を保証するものではありません。
【 構成図 】
- NXR,WXRでWarpLink機能を設定し、WarpLinkDDNSサービスを動作させます。
(☞) WarpLinkDDNSサービスは弊社が提供している有償のDDNSサービスとなります。
詳細は下記URL からご確認下さい。
http://www.warplink.ne.jp/ddns/index.html - NXR,WXRは自身のIPアドレスをWarpLinkDDNSサーバに登録します。そしてスマートフォンはWarpLinkDDNSサーバに登録されているNXR,WXRのFQDNを設定し、そのFQDNをDNSサーバに問い合わせ、名前解決後L2TP/IPsec接続します。
【 設定データ 】
設定項目 | 設定内容 | |||
---|---|---|---|---|
ホスト名 | NXR | |||
LAN側インタフェース | ethernet0のIPアドレス | 192.168.10.1/24 | ||
PPPアカウント | No.1 | ユーザID | android01 | |
パスワード | android01pass | |||
No.2 | ユーザID | ios01 | ||
パスワード | ios01pass | |||
No.3 | ユーザID | test1@example.jp | ||
パスワード | test1pass | |||
WAN側インタフェース | PPPoEクライアント(ethernet1) | ppp0 | ||
ppp0のIPアドレス | 動的IPアドレス | |||
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アドレス | any | |||
プロトコル | UDP | |||
送信元ポート | any | |||
宛先ポート | 500 | |||
No.2 | 動作 | 許可 | ||
送信元IPアドレス | any | |||
宛先IPアドレス | any | |||
プロトコル | UDP | |||
送信元ポート | any | |||
宛先ポート | 4500 | |||
IPsec | NATトラバーサル | 有効 | ||
IPsecローカルポリシー1 | address | ip | ||
IPsec ISAKMPポリシー1 | 名前 | smartphone | ||
認証方式 | pre-share | |||
認証鍵 | ipseckey | |||
認証アルゴリズム | sha1 | |||
暗号化アルゴリズム | aes128 | |||
DHグループ | 5 | |||
ライフタイム | 86400秒 | |||
ISAKMPモード | メインモード | |||
リモートアドレス | any | |||
ローカルポリシー | 1 | |||
IPsecトンネルポリシー1 | 名前 | smartphone | ||
認証アルゴリズム | sha1 | |||
暗号化アルゴリズム | aes128 | |||
PFS | 無効 | |||
ライフタイム | 28800秒 | |||
ISAKMPポリシー | 1 | |||
match protocol | l2tp-smartphone(nat-traversal) | |||
ip local pool | プール名 | smartphoneip | ||
IPアドレス払い出し範囲(始点) | 192.168.10.10 | |||
IPアドレス払い出し範囲(終点) | 192.168.10.11 | |||
virtual-template0 インタフェース |
IPアドレス | 192.168.10.1/32 | ||
MSS自動調整 | オート | |||
IPリダイレクト | 無効 | |||
IPリバウンド | 無効 | |||
peer ip pool | smartphoneip | |||
プロキシARP | 有効 | |||
L2TP UDP送信元ポート | 1701 | |||
L2TP | 接続先 | any(IPsec) | ||
トンネルモード | lns | |||
使用するvirtual-template | 0 | |||
WarpLink | サービス | 有効 | ||
ユーザID | warplinksample | |||
パスワード | warplinksamplepass | |||
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 any udp any 500
NXR(config)#ip access-list ppp0_in permit any any udp any 4500
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 smartphone
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 smartphone
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 android01 password android01pass
NXR(config)#ppp account username ios01 password ios01pass
NXR(config)#ppp account username test1@example.jp password test1pass
NXR(config)#ip local pool smartphoneip 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 smartphoneip
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 negotiated
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)#warplink
NXR(config-warplink)#service enable
NXR(config-warplink)#account username warplinksample password warplinksamplepass
NXR(config-warplink)#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 any udp any 4500
IPアクセスリスト名をppp0_inとし、宛先UDPポート番号500、4500のパケットを許可します。
なお、このIPアクセスリスト設定はppp0インタフェース設定で登録します。
(☞) IPアクセスリストを設定しただけではフィルタとして有効にはなりません。フィルタリングしたいインタフェースでの登録が必要になります。
(☞) NATトラバーサルでは、UDPポート番号500および4500をIPsecのネゴシエーションおよび通信で使用します。
5. <IPsec NATトラバーサル設定>
NATトラバーサルを有効にします。
6. <IPsecローカルポリシー設定>
NXR(config-ipsec-local)#address ip
IPsecトンネルの送信元IPアドレスをip(IPv4)と設定します。
7. <IPsec ISAKMPポリシー設定>
NXR(config-ipsec-isakmp)#description smartphone
NXR(config-ipsec-isakmp)#authentication pre-share ipseckey
ISAKMPポリシーの説明としてsmartphone、認証方式としてpre-share(事前共有鍵)を選択し事前共有鍵ipseckeyを設定します。なお、事前共有鍵はスマートフォンと共通の値を設定します。
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 smartphone
IPsecトンネルポリシーの説明としてsmartphoneを設定します。
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側 | スマートフォン側 |
---|---|---|
IPv4アドレス | host | host |
プロトコル | UDP | UDP |
ポート番号 | 1701 | any(どのポートでも受け付ける) |
9. <PPPアカウント設定>
NXR(config)#ppp account username ios01 password ios01pass
L2TPv2のLNS機能による着信時のユーザID,パスワードを設定します。
ppp0インタフェースで使用するユーザ名,パスワードを設定します。
(☞) ここで設定したアカウントはppp0インタフェースの設定で利用します。
10. <IPアドレスプール設定>
IPアドレスプール名をsmartphoneipとし、スマートフォンに割り当てる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 smartphoneip
TCP MSSの調整機能をオート、ICMPリダイレクト機能を無効、IPリバウンド機能を無効に設定します。また、IPアドレスプールとしてsmartphoneipを設定します。
プロキシARPを設定します。
12. <L2TPv2設定>
L2TPv2で使用する送信元ポートを設定します。
スマートフォンとの接続で使用するL2TPv2を設定します。
接続先にIPアドレスとしてanyを設定します。
また、any指定時にバインドするプロトコルとしてIPsecを指定します。これによりIPsec SAの確立したクライアントからの接続のみ許可します。
L2TPv2のトンネルモードを設定します。
LNS利用時に使用するvirtual-template0インタフェースを設定します。
13. <WAN側(ppp0)インタフェース設定>
NXR(config-ppp)#ip address negotiated
ppp0インタフェースのIPアドレスが動的IPアドレスの場合は、negotiatedを設定します。
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. <WarpLink設定>
NXR(config-warplink)#service enable
WarpLinkサービスを有効にします。
WarpLinkサービスで使用するユーザID,パスワードを設定します。
16. <DNS設定>
NXR(config-dns)#service enable
DNSサービスを有効にします。
17. <ファストフォワーディングの有効化>
ファストフォワーディングを有効にします。ファストフォワーディングを設定することによりパケット転送の高速化を行うことができます。
(☞) ファストフォワーディングの詳細および利用時の制約については、NXR,WXRシリーズのユーザーズガイド(CLI版)に記載されているファストフォワーディングの解説をご参照ください。
【 スマートフォンの設定例 】
〔Androidの設定〕
(☞) ここで記載した設定はあくまで一例ですので、ご利用頂いているAndroid端末によって設定が異なる場合があります。設定の詳細はご利用中のAndroid端末の取扱説明書等をご確認下さい。
(☞) この設定例はAndroid端末との接続性を保証するものではありません。ご利用頂く際には十分な検証を行った上でのご利用をお願い致します。
- メニュー画面から「設定」をタップします。
- 設定画面で「無線とネットワーク」をタップします。
- 無線とネットワーク画面で「VPN設定」をタップします。
- VPN設定画面で「VPNネットワークの追加」をタップします。
- VPNネットワークの編集で次の各項目を設定し保存します。
設定項目 設定値 備考 ① 名前 NXR L2TP/IPsec NAT-T FQDN 任意の名称を設定します ② タイプ L2TP/IPSec PSK - ③ サーバーアドレス test.subdomain.warplink.ne.jp NXRのFQDNを設定します ④ L2TPセキュリティ保護 (未使用) この設定例では使用していません ⑤ IPSec ID (未使用) この設定例では使用していません ⑥ IPSec事前共有鍵 ipseckey NXRで設定した事前共有鍵を設定します ⑦ 詳細オプションを表示する 無効 - - 設定保存後、VPN名「NXR L2TP/IPsec NAT-T FQDN」が作成されますので、作成した「NXR L2TP/IPsec NAT-T FQDN」をタップします。
- ユーザ名とパスワードの入力画面が表示されますので、L2TP/IPsec用に設定したPPPのユーザ名とパスワードを入力し、接続をタップするとVPN接続を開始します。
- 接続が完了(成功)するとVPN名の下に「接続されました」と表示されます。
〔iOSの設定〕
(☞) ここで記載した設定はあくまで一例ですので、ご利用頂いているiOS端末によって設定が異なる場合があります。設定の詳細はご利用中のiOS端末の取扱説明書等をご確認下さい。
(☞) この設定例はiOS端末との接続性を保証するものではありません。ご利用頂く際には十分な検証を行った上でのご利用をお願い致します。
- ホーム画面から「設定」をタップします。
- 設定画面で「一般」をタップします。
- 一般画面で「VPN」をタップします。
- VPN画面で「VPN構成を追加…」をタップします。
※この例では「test」という設定が定義されているところにVPN設定を追加します。
- 構成を追加画面で「L2TP」を選択し以下の各項目を設定し保存します。
設定項目 設定値 備考 ① 説明 NXR L2TP/IPsec PSK 任意の名称を設定します ② サーバ test.subdomain.warplink.ne.jp NXRのFQDNを設定します ③ アカウント ios01 PPP認証で使用するアカウントを設定します ④ RSA SecurID オフ - ⑤ パスワード ios01pass PPP認証で使用するパスワードを設定します ⑥ シークレット ipseckey NXRで設定した事前共有鍵を設定します ⑦ すべての信号を送信 オン - ⑧ プロキシ オフ - - VPN構成「NXR L2TP/IPsec PSK」が作成されますので、チェックがついていることを確認します。
チェックがついていない場合は作成したVPN構成をタップします。
そしてVPNをオンにしVPN接続を開始します。
- VPN接続完了後は以下のような画面が表示されます。
なお、「状況」をタップすることでIPアドレスなどのVPN接続情報が表示されます。