2016年3月31日木曜日

android2.2(2.1~2.3かもしれない)とSAMBAで接続出来ない(Androidからファイルサーバに繋がらない)。

古いアンドロイドタブレットをSAMBAサーバに接続させようとしたら、一向に接続出来なかった。
その時のTIPSと対処法。

事の発端は、CentOS7でファイルサーバを構築し、Windows作業機と、閲覧用のAndroid2.2タブレットが情報共有できるようにしようとしたところ、Windows機からは見られるが、Androidからははじかれるという、何ともよく分からない状態になったこと。
しかも、元々この環境にはSAMBAサーバがあり、そちらには問題なく繋がるので、余計によく分からなくなった。

Androidタブレットは、ベースOSAndroid2.2、SAMBA接続用にはESファイルエクスプローラを使用している。なぜESファイルエクスプローラを使用しているかと言えば、この環境はインターネットに接続していないクローズド環境なので。お漏らししようとしても、出来ない。

原因の切り分けとしては、Android機やWindows機は、元々のサーバに繋がるのでシロ。
新規SAMBAサーバは、Windowsからは繋がるからグレー。
で、WindowsとAndroidの違いは何か、というところで、気付いた。
Androidのバージョンが2.2と低いことに。

原因は、SAMBAサーバのSMBバージョンが、Android2.2では高すぎた、と言うのが原因だった。
 対処法として、SAMBAのsmb.conf設定の
「max protocol」
「max protocol」
を弄る。

#SMBバージョン3をコメントアウトし、SMB2を指定
#max protocol = SMB3
max protocol = SMB2

これで繋がるようになった。

初めはfirewall(というかiptables)を疑ったり、selinuxを疑ったりといういつもの感じだったのだが、
解決まで今回速かったのは、WindowsXPを使っていなかったのが大きい。
要は、古いWindows環境が、そこに無かったことが一番のヒントになったのである。
出来ればSMB3環境で行きたかったのだけれども(速いし)、Androidタブレットを数十枚使っているので仕方が無い。

 smb.confについては
http://www.samba.gr.jp/project/translation/4.0/htmldocs/manpages/smb.conf.5.html
を参照のこと。
昔はかりっかりにチューニングすることによって、速度を出していたSAMBAなのだけれども、最近はチューニングすることの方が、ボトルネックになっているよう。
ソフトウェア的なところは解決されていると考えると、やはり主戦場はハードウェア/インフラの方か、という・・・。

0 件のコメント:

コメントを投稿