UbuntuからWindowsマシンのホスト名を、NetBIOSによって名前解決をしたいです。

やったことは、

  • sudo apt purge avahi-daemon
  • sudo apt install winbind libnss-winbind
  • /etc/nsswitch.confhosts: の行の最後に wins を追加

この設定で、Ubuntu 16.04ではできていましたが、Ubuntu 18.04でできなくなりました。

今私のネットワークには次のマシンがあるとします。

  • 10.10.10.205/24 alice (Ubuntu18)
  • 10.10.10.200/24 julia (Windows10)

aliceからjuliaにpingを実行します。

soramimi@alice:~$ ping julia
ping: julia: 名前またはサービスが不明です

同じことを、Ubuntu16やWindows10のコマンドプロンプトで実行すると、pingの結果が帰ってきます。Ubuntu18では、上記の通り「名前またはサービスが不明です」というエラーになります。

このときの通信パケットは次のようなものでした。

wireshark
NetBIOS Name Service のリクエストとレスポンスは成功しているようです。リクエストのブロードキャストに対して、10.10.10.200が応答していることがわかります。このIPアドレスに対するpingは正常ですし、Remmina(リモートデスクトップ)による接続もできたので、問い合わせに対する結果は正しいことがわかります。ですが、Ubuntu18のリゾルバがそのIPアドレスを返してくれないようです。

この原因と解決策として考えられることは何でしょうか?