avahi-daemonおよび「.local」ドメインの問題

avahi-daemonおよび「.local」ドメインの問題

Ubuntu16.04実行中のHTPC /メディアサーバーベース年中無休。公式のUbuntuディストリビューションを使った記憶には、常に次の問題に直面しました。ハバヒデーモン。この問題はオンラインで頻繁に議論されます。一部の人はデーモンだけを削除することにしましたが、私はCUPSサーバーを実行し、KodiをAirPlayレシーバーとして使用しているので、実際にデーモンが必要です。

質問

mDNS/DNS-SDは本質的にユニキャストDNSゾーン.localと互換性がありません。。このタイプのネットワーク設定では、Avahiまたはnss-mdnsを使用しないことをお勧めします。注:nss-mdnsは通常Avahiにバンドルされていないため、個別にダウンロードしてインストールする必要があります。 (avahi.org)

症状は簡単です。通常運転後約2~4日程度経過するとネットワーク接続が失われますこれは記録されます

Mar 17 18:33:27 15 avahi-daemon[1014]: Withdrawing address record for 192.168.1.200 on enp3s0.
Mar 17 18:33:27 15 avahi-daemon[1014]: Leaving mDNS multicast group on interface enp3s0.IPv4 with address 192.168.1.200.
Mar 17 18:33:27 15 avahi-daemon[1014]: Interface enp3s0.IPv4 no longer relevant for mDNS.

これネットワークが復元されます大丈夫です。物理的に再接続する場合イーサネットプラグを接続するか、ソフトウェア側を再接続してください。

考えられる解決策

公式Wikiには、出現後に機能しなかった3つの解決策がリストされています。2016年6月だから私は間接的に提供するArchive.org協会

1.) 編集/etc/nsswitch.conf~から

"hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4"

到着

hosts: files dns mdns4

2.) 修正/etc/avahi/avahi-daemon.conf

~から

domain-name=.local

到着

domain-name=alocal

3.)「管理者に.localゾーンの移動を依頼してください」(Wikiに示すように)

私がしたこと

これ最初のソリューション私にとってはうまくいかないようです。デーモンはまだ動作しますが、以前のようにネットワークが失敗します。(公平に言えば、ウィキペディアでは教えてくださいはい私たちの中サイズ使用量中サイズこんなV円」)

これ2番目の解決策デーモンが正常に実行されているようですが(ログを見ると問題はありません)iOSデバイスはマシンを「見る」ことができません。プリンタまたはAirPlayレシーバー(およびWindowsコンピュータのiTunes)

これ3番目のソリューションよくわからないので難しいです。「全話」ネットワークがどのように機能するのか、実際に試してみたのかわかりません。私の言葉はこれです:私の中Asusルーター走るASUS マーリン私は設定サブカテゴリ/LAN/DHCPサーバー/デフォルト設定に入りました。そこに「を設定しました。RT-AC68Uドメイン名「を」lan(「local」とは異なり、何とも競合しないため、オンラインで提案したドメイン名)です。.local 領域の移動「という意味です。これが本当に正しい場合、このソリューションは私には適していません。

結論として

ではどうすればいいですか?私はこの問題で4ヶ月以上苦労しています。正直言って、私は完全に迷子になった。よろしくお願いします!

答え1

私も同じ問題があります。 Macがあるホームネットワークがあり、Macでavahi / bonjourドメインと.localドメインを正しく共有したいと思います。私のISPは、プライベートIPアドレス(192.168.1。*)とローカルドメイン(attlocal.net)を提供するDSLルーターを提供しています。ただし、実際にはそのドメインがなくても、.localユニキャストドメインに対する権限で応答します。タブー視されることですが、彼らはとにかくそうします。 Macが他のMacを検索して接続できるネットワークが残っており、Linuxはavahiサービスを表示できますが、接続できません。

兆候: Linuxシステムにサービスが表示されますが、ノーチラス経由で接続できない場合。 DLNSサービスにアクセスできない場合。ping hostname.local解決できない場合。最後に、dig localルーター/ ISP結果の許可セクションが提供されている場合。

私に合うもの/etc/mdns.allow: 次の 2 行を含むファイルを作成します。

    .local
    .local.

/etc/nsswitch.conf次に、で始まる行のhosts:項目を編集してmdns4_minimal置き換えますmdns4。私にとって結果は次のとおりです。

hosts:     files mdns4 [NOTFOUND=return] dns

最後に再起動するかsudo systemctl restart network。これはUbuntu 18〜21とDebian StretchとBuster(Raspberry Piを含む)で動作します。ナビゲーション中にSamba共有、AFP共有、SSHポートまで表示して接続できます。その他の場所Ubuntu文書(ノーチラス)にあります。

そもそもなぜ壊れたの? mdns_minimal役に立たないが、まだmdns4役に立つ。これは予期した結果ではなく、バグを報告しようとしましたが、mdns_minimalGitHubサイトでなぜこれが起こったのかについて明確な答えを見つけました。https://github.com/lathiat/nss-mdnsmdns_minimal両方のドメインが .local で、IPv4 が 169.254 独自の構成範囲に属していない限り、この問題は解決されません。また、/etc/mdns.allowファイルを表示しません。したがって、.localを確認する必要がありますが、自分で設定されたアドレスがない場合は、上記のようにnsswitch.confアドレスを置き換える必要があります。

答え2

そのため、「avahi-daemon.conf」の「hostname」パラメータをコンピュータのホスト名以外の名前に変更しようとしましたが、2週間問題なく実行してきました。おそらく、これは独自の目的で「.local」ドメインを使用してSambaとWindowsを実行しているシステムに関連していますか?

答え3

私の考えでは、3番目の解決策は、ルーターの設定にアクセスできるときに行く方法だと思います。 「RT-AC68Uのドメイン名」を空白にしてみましょう。

次に、私がやったことは、Wiresharkのようなものを実行し、avahai-daemonが送受信するパケットと.local(avahai LAN以外のものが設定されている場合)で終わるすべてのドメイン名で送受信するすべてのパケットを観察することでした。そこからドメイン名を探します.local

問題はまったく違うかもしれませんし、Wiresharkはこれを知らせることができます。

Avahaiをネットワーク上のコンピュータにドメイン名を割り当てるためにのみ使用する場合は、dnsmasqの使用を検討してください。 RT-AC88Uルーターで実行することも、Ubuntuシステムで実行することもできます。

Asus-Merlinでdnsmasq設定に関するドキュメント

関連情報