タイトルの通り、OpenVPN経由でSambaサーバ上のOffice(excel,word)のファイルを開くのに時間がかかるというトラブルが起きていました。
クライアントは、
・Windows7
・Windows8.1
です。
※クライアント側のOfficeのバージョンは2013です。
接続構成を簡単に図にするとこんな感じです。
最初はVPNの速度が出ていないのかと思いましたが、サーバ側からファイルをコピーするのには全然時間がかかっておらず、ExcelやWordのファイルを開こうとすると、どういうわけかファイルを開こうとした状態で固まるという状態でした。
また、jpgやtxtファイルを開くのは問題なく開けるという不思議な状態。
ファイルサイズの大小にかかわらずこのような現象が起きていたのでこれはVPNの速度ではなくSambaのプロトコルに関係しているのではないかと検討をつけ色々調べていましたが解決できずに困っていました。
■結論
解決方法ですが、
Sambaサーバ側でsmb.confの
security=share
を
security=user
に変更することで解決しました。
ネット上で調べてもなかなか解決方法が見つから無かったので仕方なくWireSharkでSambaの通信をみてみたのですが、
WireSharkで確認した結果、クライアントからサーバに
NT Create AndX Request, Path XXX
というパケットを送っているのですが、うまくいかないPCではこのPathのXXXの部分がおかしな文字列になっていました。
正常につながるPCではPathにはエクスプローラーで開こうとしたパスが入るようです。
※少し調べてみたのですが、NT Create AndX Request, Path XXXはcifsのプロトコルのパケットのようです。
windows側はcifsプロトコルが使われるようですがsmb.confがsecurity=shareの状態ではsmbサーバと正常にやり取りできないというのがファイルを開くのに時間がかかっていた原因のようです。
Sambaの設定についてはあまり詳しく把握していませんでしたが
security=share
は使わない方ほよいとこちらの記事に書いていました。
Sambaサーバ構築、5つのべからず:2008年版(2/2)
今まで何回か自宅サーバを立てたりしていたので、sambaサーバは気軽に構築できるという印象がありましたが細かい設定でパフォーマンスに違いがでたりクライアントによってはうまくつながらなかったりする場合があるので設定内容をしっかり把握しておいた方がよさそうですね。