SambaでWINS
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 は捨てたい(>_<)