FreeBSD 9.1でSambaサーバのNetBIOS名が引けない
ファイルサーバの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