SambaでWINS

最終更新日時:2011-07-07 16:32:41
Samba

WINS サーバ


smb.conf で

 wins support = Yes


とすると、nmbd が WINS サーバとして稼働するようになります。


名前解決関連操作


netbios 名の解決を行う。

 # /usr/local/samba/bin/net lookup netbiosname


Samba の netbios 名のキャッシュ操作

 # /usr/local/samba/bin/net cache operation


主な operation は以下の通りです。

operation概要
addキャッシュエントリを追加
setキャッシュエントリを修正
delキャッシュエントリを削除
flushキャッシュエントリを全削除
listキャッシュエントリを一覧表示



netbiosによる問題


※いま、私がはまっている問題です(/_\*)

DHCP 等により、クライアント機の IP アドレスが変更となる場面があります。
そのような時に稀にですが、samba による netbios 名の解決がうまくいかない、、ことがあります。

例えば、A という netbios 名の IP が 192.168.0.10 だったとして、これが 192.168.0.11 に変更になったとします。
この時、samba は A の netbios 名は 192.168.0.11 と返すべきですが、いつまで経っても 192.168.0.10 を返す、、という現象です。
通常は、古い netbios 名の情報がキャッシュとして残っており、その有効期間が過ぎれば正常となるのですが、いつまで経っても古い情報を参照し続けるということが稀に発生します。

やったこと。

・net cache flush でキャッシュを手動で削除
たまにうまくいくが、削除後に net lookup を実行してみると、古い情報を参照することが多々あり。

・/usr/local/samba/var/locks 以下の wins.dat, wins.tdb を削除
nmbd 内に情報を持っているらしく、無効。nmbd 停止時に上書きされてしまうみたい。

・nmbd を停止後、上記を実行し、nmbd を起動
うまくいくこともあるが、なぜかどこも存在しないはずの古い情報でまた上書きされることもあり。
さらに、wins.dat, wins.tdb には記述が無いにも関わらず、古い情報が返ってくることもあり。

ということで、まだトラブル中です。。。。。
WINS は捨てたい(>_<)

お問い合わせは 掲示板 にて。