私は先日、Ubuntu VMを使用してローカルネットワーク上のNetBIOS名を解決し、NetBIOS名はありませんが成功しなかったコンピュータではないデバイス(プリンタ、特殊バーコードなど)を見つけようとしました。固定IP
最初はnsswitch.confが言及されているすべてのWebページを読んで、私の設定が正しいはずだと確信していましたが、構文解析のためにwinbind / winsの使用を設定できないと思いました。
実行すると、nmblookup printername
次の成功した結果が返されます。
x.x.x.x printername<00>
これが私の最初の手がかりである<00>サービスタイプでした。 Wiresharkを起動して実行しようとしましたが、ping printername
NetBIOSブロードキャスト要求を見ましたが、printername<20>
誰も応答しませんでした。
winbinddサービスを停止し、次のコマンドを使用してフォアグラウンドで手動で実行しました。
sudo winbindd -F -S -d 10
その後、同じpingを試みると、winbinddは同じエラークエリに対して<00>の代わりに<20>を使用しようとしました。
なぜこれが起こるのですか?どこで設定できますか?
編集:ソースコードにハードコードされているので、この質問を閉じてください。コードを深く掘り下げ、winbindd_wins_byname.cで次のようにコード化された関数を見つけました。
subreq = resolve_wins_send(state, ev, state->request->data.winsreq, 0x20);
答え1
次の結果を得る必要があります。
x.x.x.x printername<20>
windbindd
サービスタイプ<20>はファイル/印刷共有サービスに使用されるため正確です。 SambaでWINSサービスを設定してみましたか?クライアントがリストにない共有を要求すると、デフォルトのサービスタイプが提供されますsmb.conf
。