昨年、新しいYAMAHAのVPNクライアント YMS-VPN8 がリリースされました。
Windows8 対応になり、プロトコルも IPsec から L2TP/IPsec に変更されたようです。
Windows8.1 はどうなのよ?という心にもない疑問はさておき、最新機種を購入する余裕がない私はいまだに RTX1100 や RTX1500 を使用中で、残念ならがこれらの古い機種には未対応・・・
さらには2014年04月をもって YMS-VPN7 シリーズは販売終了とのこと。。
Windows標準VPNを使う
YAMAHA謹製クライアントを使用せずに Windows 標準 VPN を使った L2TP/IPsec 接続も可能です。
この方法ならライセンスは必要ないですし、古い RTX1100 や RTX1500 でも使用できます。
(RTX810で接続できない不具合があったようですが最新ファームウェアで修正されている「らしい」)
設定方法は詳しく解説しておられるサイト様がたくさんあるので割愛しますが・・・
NAT越えを考慮する必要があれば以下のようにレジストリをいぢることで対応できます。
- How to configure an L2TP/IPsec server behind a NAT-T device in Windows Vista and in Windows Server 2008
- Windows vista と Windows Server 2008 で NAT-T デバイスの内側には、L2TP と IPsec サーバーを構成する方法(直訳w)
ようするに、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent に AssumeUDPEncapsulationContextOnSendRule という DWORD値 を作成して 2 を設定しろ、というコトですね。(要・再起動)
ヤハマルーター側の設定は以下を参照。
ヤマハのドキュメントとしては珍しく図&色つきです(笑)
この方法であれば PC とスマートフォン両方から使用できる上に PPTP も併用できます。
BASIC認証などで反応がなくなる場合
VPN接続先の NAS やルーターにブラウザからBASIC認証でログインすると、反応がなくなって先にすすめないコトがあります。Shrew Soft VPN Client の時にも体験した現象ですが、Windows標準の VPN でも同じ症状がでました。
解決方法としては MTU を調整してあげれば良いようです。
上のヤマハのドキュメントに次のような説明があります。
L2TP/IPsecでは、L2TPトンネルを通して送信するIPパケットに対して、標準でIPヘッダ, ESPヘッダ, UDPヘッダ, L2TPヘッダ, PPPヘッダ, ESPトレーラ, ESP認証データが付加されます。これらのオーバーヘッドを考慮してMTUを設定する必要があります。考慮した設定を行わない場合は、パケットがフラグメントされることで通信障害やパフォーマンスの低下につながる可能性があります。
ヤマハルーターでは、トンネルインタフェースのMTUの初期値が1280byteに設定されてますが、トンネルインタフェースのMTUを変更せずにPPインタフェースのMTUを変更する方法を後述する設定例では用いています。L2TP/IPsecのPPP接続を行うPPインタフェースではMTUを以下の値に設定することを薦めます。トンネルインタフェースのMTU – (UDPヘッダ長(8byte) + L2TPヘッダ長(12byte) + PPPヘッダ長(2byte))
計算すると次のようになります。
1280 – (8 + 12 + 2) = 1258
ヤマハサイトのドキュメントの設定例を参考に設定した場合、L2TP で使用する PP インターフェイスの MTU は 1258 になっていると思います。
pp select anonymous (中略) ip pp mtu 1258 pp enable anonymous
なので、Windows 標準 VPN の MTU も 1258 にしてあげると回避できちゃった、
という結果論です(^ ^;
以下、Windows 標準 VPN の MTU 設定方法です。
まず、VPN 接続された状態で cmd.exe を管理者モードで起動。
(Windows7 なら、スタートメニューの「プログラムとファイルの検索」に「cmd」と入力し、検索結果の cmd.exe を Shift キーと Ctrl キーを押しながらクリックすればOK)
次に、IPv4 のインターフェイス一覧を表示。
c:\>netsh interface ipv4 show interfaces Idx Met MTU 状態 名前 --- ---------- ---------- ------------ --------------------------- 1 50 4294967295 connected Loopback Pseudo-Interface 1 33 20 1400 connected VPN 接続 11 20 1500 connected ローカル エリア接続
変更したい VPN 接続の Idx を指定して MTU を変更。
(名前はVPN接続作成時につけたもの。上の例では「VPN 接続」なので Idx = 33 )
netsh interface ipv4 set interface 33 mtu=1258
再度一覧を表示して MTU が変更されているのを確認。
c:\>netsh interface ipv4 show interfaces Idx Met MTU 状態 名前 --- ---------- ---------- ------------ --------------------------- 1 50 4294967295 connected Loopback Pseudo-Interface 1 33 20 1258 connected VPN 接続 11 20 1500 connected ローカル エリア接続
以上です。
ちなみに、VPN 越しに Windows 共有フォルダから転送する場合、Windows標準 VPN だと何故か速度がイマイチです。以前紹介した方法の方が体感で早かったです・・・