URLをカールで解析できないのにドリルで解析できるのはなぜですか?

URLをカールで解析できないのにドリルで解析できるのはなぜですか?

特定のドメインを確認するためにローカルDNSサーバーを使用するようにマイコンピュータを構成しようとしています。 DNS サーバーは 192.168.1.123 にあり、それ自体はすべてをうまく解決します。

他のコンピュータでは、dnscrypt-proxyをインストールして/etc/resolv.conf次に変更しました。

nameserver 127.0.0.1
options edns0 single-request-reopen

/etc/resolv.confまた、NetworkManagerによってオーバーライドされていないことを確認しました。

その後、192.168.1.124に渡されるように/etc/dnscrypt-proxy/dnscrypt-proxy.toml編集しました。このIPでGITサービスを実行しており、192.168.1.123のDNSサーバーは192.168.1.124として解決されるように構成されています。アイデアは私が開くことができるということです。forwarding_ruleshome.arpagit.home.arpagit.home.arpa

host git.home.arpaまたはを使用すると、drill git.home.arpa192.168.1.123のデスクトップ、ラップトップ、およびDNSサーバーはすべて正しいIP 192.168.1.124を返します。 DNSサーバーログでもクエリを表示できます。

デスクトップとDNSサーバーでこれを行うと、curl git.home.arpaGITサービスの正しいHTMLが表示されます。しかし、私のラップトップでは、curl: (6) Could not resolve host: git.home.arpaブラウザでも同じ結果が得られます。

私の知る限り、ノートパソコンとデスクトップは同じ構成です。次のファイルは互いに同じです。

  • /etc/resolv.conf
  • /etc/nsswitch.conf
  • /etc/dnscrypt-proxy/dnscrypt-proxy.toml
  • /etc/dnscrypt-proxy/forwarding-rules.txt

ラップトップを再起動し、NetworkManagerサービスを再起動し、dncrypt-proxyを再起動してみました。おそらく、1つは機能し、もう1つは機能しないので、少し違いがあるようですが、どこにあるのかわかりません。

ホストとドリルがドメインを検証できる場合、カールがドメインを確認できないのはなぜですか?問題をどのように見つけることができますか?

答え1

ラップトップが実行されていたことがわかりましたsystemd-resolved。私は次の理由で驚きました。

  • 中には何もないnsswitch.conf
  • 中には何もないresolv.conf
  • dnscrypt-proxy.serviceインストールおよび実行中

したがって、DNSを中断することなく2つのリゾルバを並列に実行することは不可能だと思います。彼らは事実であることが判明した。からインスピレーションを受けるhttps://unix.stackexchange.com/a/708899/217968もう一度見てみると、実際にはデスクトップでは無効になり、DNSサーバーでは無効になっていましたが、ラップトップでは有効になっています。問題を修正しました。

systemctl stop systemd-resolved
systemctl disable systemd-resolved

DNSが私のラップトップで動作し始めました。

関連情報