ファイルサーバのOSをFreeBSD 9.1-RELEASEにしてから、SambaサーバのNetBIOS名が引けないという事象が出て、ちょっとだけ困っています。9.0-RELEASEのときは出てなかった事象です。なお原因とか解決方法はまだ分かってません。

(2013年10月14日追記: 9.2-RELEASE-p0とsamba36-3.6.18の組み合わせでは、この事象は出なくなりました。)

具体的な事象としては、こんな感じ。

  • FreeBSD機の電源を入れて、デーモンとかが全部立ち上がった頃合いをみて、Windows 7機から「\\smbserver」(smbserverはSambaサーバのNetBIOS名とします)でアクセスしても、「ネットワークエラー \\smbserverにアクセスできません」と言われてしまう。
  • IPアドレスで「\\192.168.1.1」(192.168.1.1がSambaサーバのIPアドレスとします)と指定すると、問題なくアクセスできる。
  • NetBIOS name serverのログ「/var/log/samba/log.nmbd」を見ると、「Packet send failed to 192.168.1.255(137) ERRNO=No route to host」とか、「Failed to send packet trying to register name SMBSERVER<20>」のエラーが出ている。
  • 「/usr/local/etc/rc.d/samba restart」でSambaを再起動すると、それ以降はWindows機から「\\smbserver」でアクセスできるようになる。
  • Sambaを再起動したときの「log.nmbd」にはエラーは無く、Sambaサーバがマスターブラウザになった旨のメッセージ「Samba name server SMBSERVER is now a local master browser for workgroup WORKGROUP on subnet 192.168.1.1」が出ている。

要するに、なんかマシン起動直後だけブロードキャストに失敗して、NetBIOS名がnmbdに登録できてないのが原因のようです。

ただ、これがVirtualBoxで試してみても再現しないんだなあ……。

とりあえず、(1)Sambaを手動で再起動する、(2)SambaサーバをIPアドレスで指定する、(3)Windows機のlmhostsでIPアドレスとサーバ名を対応付ける、のどれかをやれば使えるようにはなるので、すごく困っているわけではないのですが、不便は不便なので、できればなんとかしたいところです。

nmbdの起動前に2秒スリープを入れる」に続きを書きました。

※バージョンメモ

  • FreeBSD 9.1-RELEASE-p0 amd64
  • samba36-3.6.12