Smabaのnmbd serviceが動かない

投稿者: | 2016年11月17日

1.問題

Sambaサーバへのアクセスは問題ないですが、なぜかWindowsのネットワークの一覧に表示されなくなった。Linux側でsmbtreeコマンドを使っても結果に出てこない。

2.原因

Sambaサーバのnmbd, smbdサービスのステータスを調べました。原因はnmbdサービスが動いていないからみたいです。

3.解決手順

とりあえずサービス再起動を試したが、サービスを再起動してもActiveのところのexitedがrunningにはならなかった。ステータスから見て何のエラーもなく正常にexitしたように見えますが、やはり動かないのはどこかに問題があるはず。
それでnmbdのmanページから -F -S オプションをつけてコマンドラインから手動で起動すれば詳細が見れるとのこと。

あれ、192.168.10.1の137ポートを開けようとしている。でもそれはルータのアドレスでSambaサーバに割り当てたアドレスじゃない。
なぜSambaが自分のIPアドレスを間違えたか、何となく心当たりがあった。前にSamba設定ファイルsmb.confに

どうやらここの192.168.10.1/24は間違いで、正しい書き方は192.168.10.0/24。IPの終わりが0じゃないとnmbdがそれを自身のIPと思ってbindしようとしているようです。192.168.10.0にしたらちゃんと動きました。

4.追記

そもそもinterfaces = 192.168.10.1/24を書いたのはSambaサーバにアクセスできるマシンをLANに制限しておくつもりだった。でもこれが間違いだったと後で気付いた。アクセス制限は

とこのように書く。 interfacesはSambaサービスがLISTENするインターフェースを指定するときに使う。NIC一つしかないマシンは指定する意味はあまりない、書かなくても良いと思う。そして、設定ファイルに書いてある説明から、interfaceの指定にIPアドレスではなくNICの名前を書いたほうが良い。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です