2014年1月23日木曜日

iPhone から ヤマハルーター(RTX1200)に VPN 接続する(2)

→ 「iPhone から ヤマハルーター(RTX1200)に VPN 接続する(1)」 に戻る

引き続き、ブラウザを使った RTX1200 の L2TP 設定を進めていきます。



STEP 4.トンネル(tunnel)の設定


次はトンネルの設定です。トンネルの数だけ(3つ)セクションを作成することになります。L2TP を使うこと、IPsec による暗号化を使うこと、が設定されます。

トンネル3番の設定コマンド:

tunnel select 3
 tunnel encapsulation l2tp
 ipsec tunnel 103
  ipsec sa policy 103 3 esp aes-cbc sha-hmac
  ipsec ike keepalive use 3 off
  ipsec ike local address 3 ルータのLAN側IPアドレス
  ipsec ike nat-traversal 3 on
  ipsec ike pre-shared-key 3 text 事前共有鍵
  ipsec ike remote address 3 any
 l2tp tunnel auth off 
 l2tp tunnel disconnect time off
 l2tp keepalive use on 10 3  ←この「3」はトンネル番号とは関係ない
 l2tp keepalive log on
 l2tp syslog on
 ip tunnel tcp mss limit auto
 tunnel enable 3

これを、テキストエディタで適宜編集します。

1行目: トンネル3番を指定しています。各行、太字で書かれた 「3」 は全てトンネル3番を意味しています。

3行目: 「103」 という数字は IPsec の 「ポリシー ID」 です。重複しないように識別できればどのような数でも構いませんが(1~255が設定可能)、トンネル番号との関係がわかりやすいような数を選ぶのがオススメです。後述の IPsec 設定でも、これらの番号を使用します。

4行目: 3行目と同じポリシー ID 「103」と、トンネル番号 「3」 を記入します。暗号化アルゴリズム 「aes-cbc」 とハッシュ関数 「sha-hmac」 は、他の選択肢もありますが、iPhone の場合はこれで問題ありません。

6行目: 「ルータのLAN側IPアドレス」には 192.168.50.1 のようなルータのLAN側アドレスを記入します。

8行目: 「事前共有鍵」は、今回は PP anonymous で利用するため、全てのトンネルの全てに同じ文字列を設定する必要があります。iPhone の VPN 設定では「シークレット」の欄に入力する文字列です。

編集が済んだら 「コマンドの入力」 にペーストして 「実行」 します。

続いて、トンネル4番とトンネル5番も同じように設定します。上の例にある 「3」 と 「103」 を、「4」 「104」 や 「5」 「105」 に置換して、同様に 「コマンドの入力」 にペーストして 「実行」します。


STEP 5.NATの設定変更には GUI を使う


GUI が使える時は積極的に利用して進めましょう。



左のメニューから [ルーター機能]-[NAT] を選び、「NATの設定・状態表示」の [インターフェース] を確認します。GUI を使って一般的な設定(IP マスカレード使用)でセットアップした RTX1200 には、通常、WAN 側のインターフェースに、NAT の変換ルールが設定されているはずです。上の図では LAN2 の 「変換ルール」 のところに 「200」 と名前のついた変換ルールが設定されているのが分かります。
上の図で 「設定」ボタンを押すと、次の図のように、インターフェースに適用されている NAT 設定の一覧が表示されます。


さらに「設定」ボタンを押して、設定を変更する画面を開きます。


この画面で、静的マスカレードのテーブルにVPNのために必要な項目を追加します。上の図を参考に、静的マスカレード番号 101、102、103 を追加します。「内側のアドレス」 にはルータのLAN側アドレスを記入します。すでに別の静的マスカレードが設定されている場合は、重複しないように新しい番号で追加しましょう。

(補足)コマンドとの対応関係

GUI で設定した内容は、設定ファイル中では次のようなコマンドに対応しています。
#WAN側インターフェース(プロバイダ接続の例)
pp select 1
ip pp nat descriptor xxx
...
 pp enable 1

#nat セクション (プロバイダ接続の例)
nat descriptor type masquerade
nat descriptor address outer xxx ipcp
nat descriptor masquerade static xxx 101 ルータのLAN側アドレス esp
nat descriptor masquerade static xxx 102 ルータのLAN側アドレス udp 500
nat descriptor masquerade static xxx 103 ルータのLAN側アドレス udp 4500
また、参考までに、NATがらみの設定としては、すでに、トンネル設定の所で
tunnel select 3
 tunnel encapsulation l2tp
 ipsec tunnel 103
 ...
  ipsec ike nat-traversal 3 on
 ...
のように、NAT トラバーサル機能に関する設定を済ませています。


STEP 6.IPsec のトランスポートモード設定

ipsec auto refresh on
ipsec transport 3 103 udp 1701
ipsec transport 4 104 udp 1701
ipsec transport 5 105 udp 1701

2-4行目: 「3」「103」、「4」「104」、「5」「105」 は、3つのトンネルを設定した時の番号と同じです。対応する番号に修正したら、「コマンドの入力」 にペーストして 「実行」 します。


STEP 7.パケットフィルターの設定(必要に応じて)


セキュリティのために、WAN 側のインターフェースにパケットフィルターを設定している場合は、追加のフィルタ設定が必要になります。これも GUI が便利です。

左側メニューの [セキュリティ機能]-[パケットフィルター] を選択すると、全てのインターフェースについて、現在の設定が確認出来ます。


フィルターが設定されていなければ、何もする必要はありません。この例では、LAN2 (WAN 側)に IN と OUT のフィルターが設定されていますので、IN 側の 「設定」 ボタンを押して、フィルターを編集します。


既存のフィルターの末尾に、赤で示したフィルターを追加します。


STEP 8.その他の設定


ProxyARP の設定


ip lan1 proxyarp on

今回は VPN 接続する iPhone に対して ローカルの LAN と同一セグメントのアドレスを与えているため、この設定が必要です。「lan1」の部分は、RTX1200 のLAN側インターフェースを示しています。LAN が LAN1 ポート以外に接続されている場合は書き換えてください。
→ 「コマンドの入力」 にペーストして 「実行」 します。

DNS 関係


dns private address spoof on
→ 「コマンドの入力」 にペーストして 「実行」 します。


STEP 9.L2TP を開始する


ようやくここまで来ました。

l2tp service on
→ 「コマンドの入力」 にペーストして 「実行」 します。
このコマンドを実行すると、サービスが開始されます。


STEP 10.新しい設定を保管しておく


ふたたび、STEP 1.と同じ GUI 操作で、現在の設定をファイルに適当な名前を付けて保存します。


STEP 11.iPhone の 設定


次は iPhone の設定です。

[設定]-[一般]-[VPN]-[VPN構成を追加…] で設定画面を表示します。

  • L2TP/PPTP/IPSec: L2TP を選択
  • 説明: 適当に名前をつけます
  • サーバ: サーバの IPアドレス、もしくは、DNS名(FQDN)
  • アカウント: 「ユーザ名1」など (pp anonymous セクションで設定したもの)
  • RSA SecurID: オフ
  • パスワード: 「パスワード1」など (pp anonymous セクションで設定したもの)
  • シークレット: 事前共有鍵 (pp anonymous セクションで設定したもの)
  • すべての信号を送信: オン (全ての通信が VPN 経由になります)
  • プロキシ: オフ
設定を保存します。


STEP 12.iPhone から VPN 接続してみる


[設定]-[VPN] で、スイッチを"オン" スライドすると VPN が開始されます。



VPN 接続が確立すると、iPhone の画面上部に [VPN] と表示されます。
VPN を終了するときには、[設定]-[VPN] で、スイッチを"オフ" にスライドします。

うまく接続できたでしょうか?


トラブルシューティングなど


上手く接続できないとき


設定を確認します。STEP 10 で保存した設定ファイルをテキストエディタに読み込み、「コマンドの入力」で設定した内容が意図した通りになっているかどうか、確認します。

設定時にセクションごとに区切って入力したコマンド群は、設定ファイル中に、それぞれまとまった形で見つけることができるはずです。

内容に誤りを見つけた時には、そのセクションを修正して、再度、セクション単位で 「コマンドの入力」 を行って下さい。修正が反映されたかどうか、ふたたび、設定ファイルを読み出して確認します。

設定を元に戻すとき


どうしても、最初の設定に戻す必要があるときには、STEP 1 でバックアップしておいた設定ファイルの内容を使って RTX1200 を設定します。ただし、設定ファイルはそのままでは使えないので注意してください。

  • 設定ファイルをテキストエディタに読み込みます。
  • 最初の行に 「clear configuration」 コマンドを書き加えます。
  • 最後の行に 「save」 コマンドを書き加えます。
  • 「administrator password *」 という行を見つけて「*」の部分を正しいパスワードに修正します。
  • 設定ファイルの内容を全て選択し 「コマンドの入力」 にペーストして 「実行」 します。


おわりに


iPhone を RTX1200 に VPN 接続するための設定の方法を、できるかぎり手順が 「見える」 形で解説してみたつもりですが、いかがだったでしょうか? 今回の方法は、エキスパートでなくてもできるように、GUI が使えるところはできるだけ活用し、コマンドラインツールも使わない、という方針でまとめてみました。記事は長くなりましたが、作業自体はそれほど難しくはないと思いますので、是非チャレンジしてみていただければと思います。

→ 「iPhone から ヤマハルーター(RTX1200)に VPN 接続する(1)」 に戻る

(※2014年8月25日 追記)
2014年8月公開の最新ファームウェア(Rev.10.1.59)で待望のGUIによるL2TP/IPsec設定が可能になりました。
→ (関連記事) 「iPhone から ヤマハルーター RTX1200 へのVPN (L2TP/IPsec) 接続がより簡単に! 最新ファームウェアで GUI 設定が可能になったので試してみた」 へ