Debian 11 は .local 名を解決できません。

Debian 11 は .local 名を解決できません。

アップデート(2021年12月6日):
avahiまたはlibnss_mdnsにバグがあるようです。https://github.com/lathiat/nss-mdns/issues/81
タイミングが悪いです。

私はDebian 11を実行している2台のシングルボードコンピュータを持っていますが、どちらもデフォルトでmDNSを使用して.localドメインのホストを解決できません。実行中の ping の出力です。地域ごみ:

brain@junk:~$ ping atom.local    
ping: atom.local: Name or service not known

Ping原子ローカルUbuntuを実行しているマイコンピュータでは正常に動作します。

brain@home:~$ ping atom.local
PING atom.local (192.168.0.135) 56(84) bytes of data.
64 bytes from atomic (192.168.0.135): icmp_seq=1 ttl=64 time=0.394 ms

Ubuntu 21.10、Windows、iOSを使用して、「atom.local」と「junk.local」という名前でアクセスできます。ハードウェアは同じで、両方のシステムがルータのDHCPサービスを介してネットワーク設定を取得します。優秀原子ローカルネットワークはネットワーク(デフォルトサーバーのインストール)によって管理されます。地域ごみ- NetworkManagerを介して(デスクトップ+ KDEインストール)私はavahi、nsswitch、systemd-resolved、NetworkManagerを構成する多くのガイドを試しましたが、どちらも私には役に立ちませんでした。 /etc/resolv.conf 修正のいくつかの結果が得られました。

  1. ネームサーバー 192.168.0.1これはプライマリDNSサーバー(マイルーター)で、.localホストを解決できません。 ISPのDNSサーバーを使用すると、結果は同じです。
  2. ネームサーバー 127.0.0.1.local名は解決され、明白な理由で他の名前はありません。
  3. ネームサーバー 127.0.0.53Ubuntu PCからコピーしましたが、すべてがうまくいきます!また、Googleの8.8.8.8を使用して同じ結果を得ました。

今質問があります。 mDNSを正しく設定する方法は? Google DNSサーバーでうまく機能するのはなぜですか?このサイトで数多くのガイドや回答を読んだ後、少し混乱しました。

私のnsswitch.confには次の行があります。

hosts:          files mdns4_minimal [NOTFOUND=return] dns

ハバヒソリューションそしてハバヒを見るこのマシンではうまく動作します。

127.0.0.53または8.8.8.8をネームサーバーとして使用すると、IPV6アドレスが取得されます。

brain@junk:~$ getent hosts atom.local
fe80::207:32ff:fe4e:7d17 atom.local

では、これはmdns4_minimalまったく効果がありませんか?今私は完全に混乱しました。

答え1

最小サーバーインストールの場合は、次の組み合わせを使用すれば十分です。システムネットワーク+体系的分析

sudo nano /etc/systemd/resolved.conf コメントを解除MulticastDNS=yes

sudo nano /etc/systemd/network/10-lan.network 私は単純な設定を使用しました。

[Match]
Name=enp1s0 #Put your interface here

[Network]
DHCP=ipv4
MulticastDNS=yes

〜できるようにするネットワーキングそして解決するサービスを開始してください。

sudo systemctl enable systemd-networkd
sudo systemctl enable systemd-resolved
sudo systemctl start systemd-networkd
sudo systemctl start systemd-resolved

基本的なネットワークサービスの無効化/ブロック:

sudo systemctl disable networking

古いWebコンテンツの名前を変更または削除します。この手順は、既存のWebコンテンツを維持するのに役立ちます。/etc/resolv.conf~によって制御される解決する提供する:

sudo mv /etc/network/interfaces /etc/network/interfaces.save

いよいよ成功したよ!

関連情報