systemd-resolvedがローカルDNSサーバーを使用しないのはなぜですか?

systemd-resolvedがローカルDNSサーバーを使用しないのはなぜですか?

私はいくつかのローカルDNSレコードをホストするためにローカルBIND9サーバーを使用しています。ローカルドメイン名をマイニングしようとすると、digにローカルBIND9サーバーを使用するように明示的に指示しないと、その名前が見つかりません。

user@heimdal:~$ dig +short heimdal.lan.se
user@heimdal:~$ dig +short @192.168.1.7 heimdal.lan.se
192.168.1.2

Ubuntu 17.04とsystemd-resolvedを使用してください。これは私の/etc/resolvedの内容です。

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
# 127.0.0.53 is the systemd-resolved stub resolver.
# run "systemd-resolve --status" to see details about the actual nameservers.

nameserver 127.0.0.53

systemd-resolve --statusの出力

Global
         DNS Servers: 192.168.1.7
                      192.168.1.1
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test

DNSサーバー部分は、192.168.1.7をプライマリDNSサーバー(私のローカルBIND9インスタンス)として正しく構成したようです。なぜ使わないのかわかりません…?

答え1

したがって、管理のために有線 eth0 インターフェイスを変更することで問題が解決されました。

/etc/NetworkManager/NetworkManager.confで、ifupdownをManaged = trueに変更します。

[ifupdown]
managed=true

その後、ネットワーク管理者を再起動します。

sudo systemctl restart NetworkManager

その後は完璧に動作しました..

100%ではありません。また、パーサーを終了するためにこれらの変更を適用しました。

sudo service resolvconf disable-updates
sudo update-rc.d resolvconf disable
sudo service resolvconf stop

このトピックに関するこのブログ投稿に感謝します。 https://ohthehugemanatee.org/blog/2018/01/25/my-war-on-systemd-resolved/(ない場合はご利用ください。https://github.com/ohthehugemanatee/ohthehugemanatee.org/blob/main/content/blog/source/2018-01-25-my-war-on-systemd-resolved.markdown)

これがうまくいくことを願っています...システム全体の解析作業は本当に醜いです。

答え2

私の考えでは、あなたのsystemd-resolvedサービスは正しく設定されていますが、リクエストは表示されないようです。ドメイン.localmDNSを実行するシステムの特別な処理avahi-daemon、名前解決中にDNSよりも優先するように構成できるmDNS / DNS-SDサービス(Apple製品では「Bonjour」とも呼ばれる)を提供します。

選択できるいくつかのオプションがあります。

  1. ドメイン.local名を別の名前に変更してください(.internalまたはなど.lan)。 DNSサーバーでいくつか変更するだけで、Avahiで最もうまく機能するため、これはおそらく実際に実行する最も簡単な方法です。私はこの方法を推薦したいと思う。

  2. /etc/nsswitch.confファイルを変更してくださいdnsアイテムをアイテムの前に置きますmdns

  3. Avahi設定の変更編集と変更(または追加)によって、mDNSドメインを.local別のドメインに変更します(リソースセクションにあります)。 mDNS を使用する各コンピューターでこの操作を実行する必要がある場合は、引き続き連携できます。/etc/avahi/avahi-daemon.confdomain-name=.something[server]

答え3

レビューで見ると良いと思いますが、評判が足りません...

Civingの自己回答は私の要件に最も適しています。

また、次のようにセクションdns=noneに追加する必要がありました。[main]/etc/NetworkManager/NetworkManager.conf

[main]
plugins=ifupdown,keyfile
dns=none

私は14.04からxubuntu 18.04にアップデートし、それより古いLANを持っており、長年にわたって多くの小さな調整が行われました。だから私は私のDNSが私が望むことをしてほしい。

ところで、このファイルには私が見たいDNS確認情報をあらかじめ追加しておきました/etc/resolvconf/resolv.conf.d/head

簡単に言えば、rootとして/etc/resolv.confを操作すると、次のようになります。

cat /etc/resolv.conf >> /etc/resolvconf/resolv.conf.d/head

しかし、今は/etc/resolv.confを直接編集してもそのままです。 systemd/resolvconfを使用して私のLANを訪問する訪問者は素晴らしいです。彼らは存在しません。

読書がman 8 resolvconf役立ちます。たくさん。私がやったいいえ指示に従って、ifupプログラムが見つけることができる場所にコンテンツを配置します。主に、アップグレード中に実行されたすべての操作でGUIの完全な親構造が無視されたためです。これは大きな問題のようです(WTF、Ubuntu?)。

だから迷惑で、私が(古い前に)ネットワークコントロールパネルのGUIに入力した内容が新しくアップグレードされたシステムで尊重されないという問題がまだ残っていますが、一度尋ねる方法を知ったら、まったく別の質問になります。

答え4

私はUbuntu 18を使用しており、debianとcentOSに精通しています。キュー混乱。

solv.confはsystemd-resolvedを使用していると言います。

systemdはグローバルおよびリンク固有の設定をうまく表示します。

研究によると、これはネットプランを使用していることを意味するかもしれません。

したがって、/etc/netplan/01-network-manager-all.yamlを開くと、... renderer:NetworkManagerが表示されます。

結果NetworkManagerはGUIにあり、リンク固有の設定を有効にする方法です。しかし... nmcliをインストールし、コマンドラインでこの愚か者を設定することができます...

これが誰かに役立つことを願っています。

関連情報