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


12

ローカルDNSレコードをホストするためにローカルBIND9サーバーを使用しています。ローカルドメイン名を掘ろうとしたときに、明示的にローカル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インスタンス)として正しく構成されているようです。なぜ使用されないのか理解できません... ...


私はどのようにの線に沿って何かを覚えてsystemdフォールバックとしてGoogle DNSを使用しています...
ウィリアム・エドワーズ

何をsystemd-resolve heimdal.lan.se伝えているのですか?
ビゴン

回答:


7

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

/etc/NetworkManager/NetworkManager.confでifupdownをmanaged = trueに変更する

[ifupdown]
managed=true

次にNetworkManagerを再起動します

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/

これがうまくいくように祈りましょう。このsystemd-resolveビジネス全体は、非常にugいものです。


後期のコメントが、systemd-networkd関連は別のものがいるかどうかを確認することですeth0か、enXデバイスが持っている*.network`/ libに/にsystemd /ネットワーク/内のファイルを`参照info systemd-networkdし、info systemd.networkそしてinfo resolved.conf
jmunsch

5

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

いくつかのオプションから選択できます。

  1. .localドメインの名前を別の名前に変更します(.internalまたは.lan)。DNSサーバーでいくつかのことを変更するだけで、Avahiで最適に機能するため、これは実際に行うのが最も簡単な場合があります。この方法をお勧めします。

  2. あなたの変更/etc/nsswitch.conf、ファイルを置くことによって、dns目の前にエントリーをmdnsエントリー。

  3. .local編集/etc/avahi/avahi-daemon.confおよび変更(または追加)domain-name=.something[server]セクションにあります)により、mDNSドメインを他の何かに変更するためにAvahiの構成を変更します。mDNSを使用するすべてのコンピューターでこれを行う必要があるため、それらは引き続き連携して動作します。


ここで実際のドメインを難読化したと言ってすみません。.localドメインではありません。最上位ドメインは実際には.seです。ただし、リードのフォローアップを行い、nsswitchの内容を確認します。混乱して申し訳ありません
18

0

これはコメントとしては良いと思われますが、評判は十分ではありません。

Civingの自己回答は、私が望んだものに最も沿っていました。

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

[main]
plugins=ifupdown,keyfile
dns=none

14.04からxubuntu 18.04にアップデートしたばかりで、それよりも古いLANがあり、長年にわたって多くの小さな調整が行われています。だから私は自分のDNSがやりたいことをやりたい(そう、私はクリケット・リウスの本の何冊かを長年にわたって購入し、第2版から始めた)。

余談ですが、私は以前、見たい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への訪問者は、SOOLです。それらは存在しません。

読書man 8 resolvconfは助けた。たくさん。私はなかったではない ifupのプログラムがそれらを見つけることができるものを置くための指示に従ってください。ほとんどの場合、アップグレード中に行われた処理によって無視されていたGUI全体の上部構造があるためです。それはより大きな問題のようです(WTF、Ubuntu?)。

したがって、これはfuいものであり、ネットワークコントロールパネルのGUIに入力した(以前に)ものが、新しくアップグレードされたシステムに従っていなかったという問題がまだありますが、聞いて


0

私にとって、最近インストールした18.04を実行して、@ Civingが引用した最初の変更を行いました。

[ifupdown]
managed=true

次に、/ etc / resolv.confが常にstub-resolv.confを指しており、適切なLAN DNSサーバーを使用して適切なresolv.confが生成されていることに気付いて、シンボリックリンクを変更しました。

/etc/resolv.conf -> /run/systemd/resolve/resolv.conf

そして、pingを介して解決されるすべてのホスト名をローカルにします。

これがどれだけ長く機能し続けるかはまだ不明です。

最初にインストールしたとき、ワイヤレスネットワークのセットアップは失敗しました。インストールがこの初期状態で/etc/resolv.confを残したのかどうか疑問に思わずにはいられません。

したがって、1つの提案は、解決されたものを生成することです。すでに作業基盤があるかもしれません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.