Ubuntu 17.04 systemd-resolved DNSルックアップがランダムに失敗する

dns systemd ubuntu

私はUbuntu 17.04にアップグレードし、それは今、新しいDNSリゾルバ機構が最初にUbuntu 16.10で導入されたようです

私は今、時間の50%のDNSルックアップの失敗を取得しています。他のnslookupへの呼び出しはすべて失敗しており、半分は正常に解決し、半分はこのような状態になっています

watch -n 1 nslookup google.com

Server:     127.0.0.53
Address:    127.0.0.53#53

** server can't find google.com: SERVFAIL

私が理解しているところでは、そのDNSサーバのIPアドレスは、今ではsystemd-resolvedを表すのに使われていて、DNSクエリが遅くなるのを避けるために、ある種のメタルックアップを行っているようです(あるいは何か…)。この1週間で17.04にアップグレードした2台のマシンで全く同じ挙動を見ています

何が問題なのか、それに対処するための正しい方法は?

アップグレード前は問題なく動いていました (16.04 と 16.10 のどちらだったか覚えていません、すみません)。17.04 は LTS のリリースだと思っていたのですが、今見てみると、私が飛びついてしまったようで、4 月までは安定版とはみなされないようです。だから…ここにいます

また、注意点としては… ブラウザは問題がないようですが、nslookup、ping、git などは問題があるようです

Update

私の特定のケースでは、私の /etc/hosts ファイルはシンボリックリンクになっていました (私は熱狂的な stow ユーザなので)。Systemd はこれを何かの理由で嫌い、それを「パーミッションの失敗」とみなします。シンボリックリンクを実際のファイルに置き換えると、systemd は誤動作を止めました

  39  None  2016-12-05


ベストアンサー

Ubuntu 17.04は2017-04-18の時点でDNSSECサポートのDNSサーバーを解決できません。このデーモンでDNSSECを無効にします

sudo mkdir -p /etc/systemd/resolved.conf.d
printf "[Resolve]\nDNSSEC=no\n" | sudo tee /etc/systemd/resolved.conf.d/no-dnssec.conf

オプションで resolvconf をいじった場合は再設定してください(”/etc/resolve.conf for dynamic updates?

sudo dpkg-reconfigure resolvconf

Restart systemd-resolved:

sudo systemctl restart systemd-resolved

DNSが動作を開始するはずです。systemd-resolve www.google.com を試してレスポンスを見ることで確認できます

48  Sajad Bahmani  2017-04-18


systemd-resolved と手動の /etc/resolv.conf 管理を行ったり来たりしていますが、systemd DNS リゾルバの仕組みがまだ安定していないようです

Ubuntu 16.10には少なくとも1つのlibnssのバグがあり、どうやら17.04にはまだあるようです。Ubuntu 16.10 が systemd-resolved をオンにしてから DNS の問題を抱えている人はたくさんいますが、こちらは一つの分析であり、こちらは別の人の回避策です。私は手動で/etc/resolv.confをgoogleのDNSサーバーで上書きするまで、それらのどれも私のために働いていませんでした

nameserver 8.8.8.8   << or another if you don't trust google
nameserver 8.8.4.4

これは完全に有効な解決策で、ダイナミックDNSの設定を必要としない場合です。ただ、systemd-resolvedを停止して無効にすることを確認してください

sudo systemctl disable systemd-resolved.service
sudo service systemd-resolved stop

12  moodboom  2016-12-08


Ubuntu 17.04と他のディストロは、ユーザーがかなり強引なDNS解決の対象となる、解決されたシステムドを含むシステムドを包含しています

  • SjBの回答にもあるように、DNSSECのサポートは問題を引き起こす可能性があります
  • systemd-resolved はすべての DNS リゾルバを ping するので、最速で使用することができます。これは、より複雑な環境では VPN などの問題を引き起こす可能性があります
  • DNSサーバーの証明書が検証されているので、時計がズレているとエラーになってしまうことがありました

必ずしもBADな変化ではなく、LOTな変化だと思います。この回答を更新して拡大していきたいと思います

4  moodboom  2017-06-17


簡単に言えば、/etc/systemd/resolved.conf の [Resolve] セクションに “DNSSEC=no” という行があればいいだけです

Bug #1682499 “Disable DNSSEC by default” : Bugs : systemd package : Ubuntu
 * dnssec functionality in systemd-resolved prevents network access in certain intra and extra net cases, due to failure to correctly validate dnssec entries....

4  John Ball  2017-09-05


ネームサーバー /etc/systemd/resolved.conf DNS=194.109.xxx.xxx (ルータ上、外部のネームサーバー) を追加するだけです

systemctl restart systemd-resolved

ランドを3から2に変更する必要はなく、dnssecの設定をオフに変更する必要はありません

1  henk  2017-11-20


systemd-resolvedでの具体的な問題の原因をようやく突き止めました。/etc/hosts はシンボリックリンクで、私はドットファイルに stow を使っているからです。さて… systemd はそれを見るのを拒否して、”パーミッション・エラー” (Sic) を出しました。シンボリックリンクを /etc/hosts ファイルの完全なコピーに置き換えたら、 systemd は再び満足してくれました

systemd の巨大な混乱に不信感を抱くもう一つの理由は、IMHO です。しかし、後戻りはできません。全速力で進んでいます

0  moodboom  2020-01-17


タイトルとURLをコピーしました