Windows8.1のVPN(L2TP/IPsec)接続でownCloud(認証が必要なページ)にアクセスできない
自宅LAN内にLinuxサーバーを立てて、webサーバー、ファイルサーバーなどとして使っています。外には公開しておらず自宅内でアクセスするのみです。
そこで、外からもVPNで自宅LANに接続し、自宅と同じようにサーバーにアクセスできるようにしました。
外からVPNで自宅に接続するにあたり、PPTPはセキュリティの問題があり、L2TP/IPsecにしたかったので、それをサポートしている安いルーターを探して、バッファローのVR-S1000を買いました。
BUFFALO IPsec対応 VPNルーター VR-S1000
- 出版社/メーカー: バッファロー
- 発売日: 2013/12/14
- メディア: Personal Computers
- この商品を含むブログを見る
Macbook Air(MacOS X Yosemite)やiOSからはモバイルルーターを通してL2TP/IPsecで問題なく接続できていました。
その後、新たにWindows8.1搭載のNEC Lavie Z (LZ550/T)を買ったので、同様に接続しようとしたけれど、どうもうまくいきません。サーバーには繋がるのですが、ownCloudなどの認証が必要なページにはタイムアウトで入れないのです。
現象をまとめると次の通りです。
- L2TP/IPsecのVPNでルーターまでは接続できている。
- サーバーのローカルIPに対してpingが通る。
- サーバーのapacheのトップページ(デフォルトだとIt works!)は表示できる。
- ところが、サーバーのownCloudなど認証を必要とするページにアクセスすると、ずっと応答待ちの状態になり、最後はタイムアウトになる。
- 認証が必要なsambaのファイルにもアクセス不能。
自宅サーバーはubuntu 14.04LTS。apacheでWebサーバーを立ててownCloudを使っています。
VPN接続はできていても、使いたいのはownCloudなどの機能なので、実際には使いものにならない状態です。
Macbook Airでは問題なく使えているので、Windows8.1の問題ということになります。
最初は接続設定の問題かと思い、あちこち変更しましたが、状況は変わらず。
緊急避難的にPPTPで接続してみると、こちらはownCloudにも繋がります。
ほとんどあきらめかけていたとき、ネット検索でひっかかったのがMTU値の変更です。
元記事はこちらです。
http://cathval.com/network/3847
この記事を元に、MTUを1258に変更したら問題解決しました。
作業過程を記録しておきます。
VPN接続した状態で、管理者権限でコマンドプロンプトを起動して、次のようにデフォルトの状態を確認します。
>netsh interface ipv4 show interfaces
Idx Met MTU 状態 名前
--- ---------- ---------- ------------ ---------------------------
1 4275 4294967295 connected Loopback Pseudo-Interface 1
3 4250 1500 connected Wi-Fi
44 20 1400 connected L2TP-IPsec
5 4265 1500 disconnected Bluetooth ネットワーク接続
7 4230 1500 disconnected ローカル エリア接続* 1
L2TP-IPsecのMTUが1400になっています。これはPPTP接続をして確認した場合も同じでした。でもL2TP/IPsecではこのままではダメらしい。
これを次のようにして、1258に変更します。
なぜ1258になるのかは、元記事を参照して下さい。コマンド引数の44という値は、上のnetshコマンドで確認したIdx値を入れて下さい。
>netsh interface ipv4 set interface 44 mtu=1258
本当に変わっているのか確認します。
>netsh interface ipv4 show interfaces
Idx Met MTU 状態 名前
--- ---------- ---------- ------------ ---------------------------
1 4275 4294967295 connected Loopback Pseudo-Interface 1
3 4250 1500 connected Wi-Fi
44 20 1258 connected L2TP-IPsec
5 4265 1500 disconnected Bluetooth ネットワーク接続
7 4230 1500 disconnected ローカル エリア接続* 1
ちゃんと1258になっていますね。
この変更をしたとたん、ownCloudにもsamba上のファイルにも問題なくアクセスできるようになりました。
Windows8.1のVPN接続のデフォルトではMTU=1400になっているので、このままL2TP/IPsec接続するとうまくいかないようです。