Ubuntu

Windows10からsambaにアクセスできない

あれ?サーバーに接続できない・・・いつからだろう?

どうやら、Windows10にアップグレードしたことで、sambaサーバーにアクセスできなくなってしまったようだ。他のNASを使っていたので気付かなかったが、こんなことになっていたなんて。

広告


Windows10からアクセスできる設定

2019/07/23 修正

結論からすると、以下の設定で回避。

/etc/samba/smb.conf

[global]
        dos charset = SJIS
        workgroup = HOGEGROUPE
        server string = %h server
        obey pam restrictions = Yes
        syslog = 0 smbd起動時にエラーが出ているので削除
        log file = /var/log/samba/log.%m
        max log size = 1000
        log level = 1
        local master = Yes
        os level = 65
        preferred master = Yes
        domain master = Yes
        wins support = Yes
        panic action = /usr/share/samba/panic-action %d
        idmap config * : backend = tdb
        bind interfaces only = yes
        interfaces = 172.16.x.xxx/16
        server max protocol = NT1  445を開けていないとNT1しか使えない模様
        client max protocol = SMB2 できるだけ新しいバージョンがいい
min protocol = SMB2 [homes] path = /home/%U/samba read only = No create mask = 0700 directory mask = 0700 browseable = No [share] comment = 共有領域 path = /home/samba read only = No create mask = 0777 directory mask = 04777 force directory mode = 04777 guest ok = Yes

 

設定後、以下のポートを空けておく。

$ sudo ufw status
状態: アクティブ
To Action From
-- ------ ----
137/udp ALLOW 172.16.0.0/16 # NetBIOS Name Service
139/tcp ALLOW 172.16.0.0/16 # NetBIOS Session Service
445/tcp ALLOW 172.16.0.0/16 # Microsoft-DS Active Directory, Windows shares

 

原因はプロトコルバージョンで、Windows10が話の仕方を変えたことが理由である模様。脆弱性の対策で CIFS(SMB1とかNT1とか言われるバージョン) を無効化しているのだった。

ログレベルを3にしてみたら、SMB3が選択された後、だんまりに。
SMB2を指定してみたが、これもSMB2_2が選択された後、だんまりに。
なので、仕方なくNT1まで落とす。

これによりパフォーマンスが低下するという記述が見つかったけれども、アクセス出来ないんじゃ意味が無いので諦める。

※ufwで445/TCPを開放したら、SMB2以上でも通信ができるようになった。いわゆる設定ミス。2018/07/22追記

なお、[share]セクションの不思議設定
directory mask = 04777
force directory mode = 04777
は、未だなおこの設定にしておかないと、775なディレクトリができてしまう。他の人は消せないディレクトリ。
共有だからといって、すべてのユーザーをnobodyにする設定なんて嫌だなーと思うので、活かしておかなければ。

 

本日発生したこと

2019/07/23、娘からサーバーにアクセスできないと言われた…確かにアクセスできないな、いつからだろう?よく分からない…。

ウチの中はもともとはWINS運用だった。このサーバーは 172.16.xxx.nnn の他に 172.16.xxx.nn2 というアドレスを持っているのだが、(よく覚えていないけれども)これが悪さをしていたためにバインドするIPアドレスを指定していた。

その後、v6プラスに関わる変更をしているときに、IPv6でこのサーバーにアクセスすることがあったため、バインドするIPv6のアドレスを追加している。

[global]…
        bind interfaces only = yes
        interfaces = 172.16.xxx.nnn/16
        interfaces = 24xx:xxxx:xxxx:xxxx::nnn
interfaces = fdxx:xxxx:xxxx:xxxx::nnn

 

そもそも、サンプルにはこんな書き方がなされているから、書き方が間違っているんだと思う。

        interfaces = eth0 192.168.2.10/24 192.168.3.10/255.255.255.0

 

もっと言えば、DNSがこのサーバーについては確実に 172.16.xxx.nnn を返してくれるように設定したから、IPv6の設定は不要。よって、バインドの記述を削除した。

[global]…
#       bind interfaces only = yes
#       interfaces = 172.16.xxx.nnn/16
#       interfaces = 24xx:xxxx:xxxx:xxxx::nnn
# interfaces = fdxx:xxxx:xxxx:xxxx::nnn

 

結果として安定して接続できるようになった。

 

さいごに

CIFSアクセスで回避

2018/02/11 追記
タブレットのWindows10が Fall Creators Update した関係で、ファイルサーバーにアクセスできなくなっていた。Linkstationにもアクセスできない…
コントロールパネル → プログラム → Windows の機能の有効化または無効化
を開き、SMB 1.0/CIFS クライアント にチェックを入れて回避。
セキュリティ上の問題があるようだが、使えないんじゃやっぱしょうがない。

とりあえず急ぎの問題回避にはこれが使えると思う。

セキュリティ的な問題については以下を参照。とっても説明が上手。
「Fall Creators Update」で注目、ネットワーク&セキュリティ機能4選+1

古いLinkstationでSMB2が扱えるようにする

2018/07/22 追記
最近この記事のアクセス数が伸びていて気になっていたので、あるべき姿をちょっと考えてみて、今日、古めのLinkstationにSMB2でアクセスできる設定について記事を公開
ちょっと大変だけど、やっておく価値はありそう。

広告

コメントはこちらから お気軽にどうぞ ~ 投稿に関するご意見・感想・他