読者です 読者をやめる 読者になる 読者になる

mcommit's message

大阪でソフトウェア開発の仕事をしている simotinこと宮崎といいます。記事の内容でご質問やご意見がありましたらお気軽にコメントしてください\^o^/

VPN経由でsamba上のOfficeファイルを開くのに時間がかかるときの対処方法

タイトルの通り、OpenVPN経由でSambaサーバ上のOffice(excel,word)のファイルを開くのに時間がかかるというトラブルが起きていました。

クライアントは、
Windows7
Windows8.1
です。
※クライアント側のOfficeのバージョンは2013です。


接続構成を簡単に図にするとこんな感じです。

f:id:simotin13:20150925215828p:plain

最初はVPNの速度が出ていないのかと思いましたが、サーバ側からファイルをコピーするのには全然時間がかかっておらず、ExcelやWordのファイルを開こうとすると、どういうわけかファイルを開こうとした状態で固まるという状態でした。
また、jpgやtxtファイルを開くのは問題なく開けるという不思議な状態。

ファイルサイズの大小にかかわらずこのような現象が起きていたのでこれはVPNの速度ではなくSambaプロトコルに関係しているのではないかと検討をつけ色々調べていましたが解決できずに困っていました。

■結論
解決方法ですが、
Sambaサーバ側でsmb.confの
security=share

security=user
に変更することで解決しました。

ネット上で調べてもなかなか解決方法が見つから無かったので仕方なくWireSharkSambaの通信をみてみたのですが、
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サーバは気軽に構築できるという印象がありましたが細かい設定でパフォーマンスに違いがでたりクライアントによってはうまくつながらなかったりする場合があるので設定内容をしっかり把握しておいた方がよさそうですね。