質問:

質問:

質問:

Ubuntu 17.10実行

私は今約1週間この問題を解決しようとしています(ヘヘ)、多くのGoogle検索と約20回の他の試みにもかかわらず、dnsmasqが定期的に次の攻撃でCPUを約1分間急増させるのを防ぐことはできません。 :

  • systemd-resolved
  • systemd-journald
  • dnsmasq

監視がjournalctl -f発生するたびに、次の内容が表示されます。

最大同時DNSクエリ数に達しました(150)。

次のように、特定のドメインに対する明白な要求ループ(通常はUbuntu接続の確認)が伴うか先行します。

query[A] connectivity-check.ubuntu.com from 127.0.0.1
forwarded connectivity-check.ubuntu.com to 127.0.1.1
forwarded connectivity-check.ubuntu.com to 127.0.0.53
query[A] connectivity-check.ubuntu.com from 127.0.0.1
forwarded connectivity-check.ubuntu.com to 127.0.0.53
query[AAAA] connectivity-check.ubuntu.com from 127.0.0.1
forwarded connectivity-check.ubuntu.com to 127.0.0.53
query[AAAA] connectivity-check.ubuntu.com from 127.0.0.1
forwarded connectivity-check.ubuntu.com to 127.0.0.53
query[A] connectivity-check.ubuntu.com from 127.0.0.1
forwarded connectivity-check.ubuntu.com to 127.0.0.53
query[AAAA] connectivity-check.ubuntu.com from 127.0.0.1
forwarded connectivity-check.ubuntu.com to 127.0.0.53

それが私を変えたことを知っていました。/etc/resolv.conf使用すると、nameserver 127.0.0.53スパイクはほぼすぐに消滅します。

ところが、ネットワーク管理者がこのファイルを定期的に更新するので、1時間に1回ずつやってください。


構成:

/etc/resolv.conf

# 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.1
search fios-router.home

/etc/NetworkManager/NetworkManager.conf

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

[device]
wifi.scan-rand-mac-address=no

/etc/dnsmasq.conf

// All default except this at the very end for my wildcard DNS
address=/asmar.d/127.0.0.1

/run/dnsmasq/resolv.conf

nameserver 127.0.0.53

/run/resolvconf/インターフェース:

lo.dnsmasq:

nameserver 127.0.0.1

systemd-resolved:

nameserver 127.0.0.53

/etc/resolvconf/インターフェイスの順序:

# interface-order(5)
lo.inet6
lo.inet
lo.@(dnsmasq|pdnsd)
lo.!(pdns|pdns-recursor)
lo
tun*
tap*
hso*
em+([0-9])?(_+([0-9]))*
p+([0-9])p+([0-9])?(_+([0-9]))*
@(br|eth)*([^.]).inet6
@(br|eth)*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc)
@(br|eth)*([^.]).inet
@(br|eth)*([^.]).@(dhclient|dhcpcd|pump|udhcpc)
@(br|eth)*
@(ath|wifi|wlan)*([^.]).inet6
@(ath|wifi|wlan)*([^.]).ip6.@(dhclient|dhcpcd|pump|udhcpc)
@(ath|wifi|wlan)*([^.]).inet
@(ath|wifi|wlan)*([^.]).@(dhclient|dhcpcd|pump|udhcpc)
@(ath|wifi|wlan)*
ppp*
*

systemd-resolve --status:

Global
         DNS Servers: 127.0.0.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

Link 5 (br-b1f5461ac410)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 4 (docker0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 3 (wlp62s0)
      Current Scopes: none
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

Link 2 (enp61s0)
      Current Scopes: DNS LLMNR/IPv4 LLMNR/IPv6
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
         DNS Servers: 8.8.8.8
                      8.8.4.4
                      ::1

質問:

ワイルドカードドメイン名を引き続き使用しながらこの問題を解決するにはどうすればよいですか?

任意に選択できる:Google DNSを使用してこれを達成するには?

同時 DNS クエリを増やすことを提案しないでください。それは解決策ではありません。


解決しました!

解決策を見つけたTelcoMのDNSクラッシュコース(承認された回答)を参照してください。

この回答から得た知識を試して、フォローアップと最終的な解決策を確認してください。

ベストアンサー1

dnsmasq127.0.0.1にプロセスがあり、systemd-resolved127.0.0.53にプロセスが互いにクエリを送受信するときにループが発生しているようです。デフォルトでは、情報のない名前に対して実際のDNSサーバーを見つけるため、スタンドアロンもループ可能になるdnsmasq可能性があります。/etc/resolv.conf

DNS構成には複数の階層があります。

  • 第1に、DHCP又は同様の手段によってISPからDNSサーバ情報を得ることができる。
  • その後、NetworkManager情報を無視して使用するように構成できますが、dnsmasq現在はこのように構成されていません。
  • 代わりに、ツールをNetworkManager使用してresolvconf実際の更新を/etc/resolv.conf構成し、DHCPから受信したすべてのDNSサービスをオーバーライドし、実行時に127.0.0.1を使用する組み込みdnsmasq構成を含めることができます。resolvconfdnsmasq
  • systemd-resolvedには組み込み構成も含めることができますが、resolvconf明らかに上書きされますdnsmasq

私はまだ127.0.1.1と127.0.0.53がどこから来たのか理解していません。dnsmasqUbuntuの基本構成に記載されていますか?

説明で説明されているように/etc/resolv.confこのコマンドを実行すると、systemd-resolved構成に関する詳細情報を表示できます。

systemd-resolve --status

/run/resolvconf/interface/また、ツールがさまざまなソースから取得したすべてのDNSサーバー情報を収集するディレクトリの内容を確認してください。各ソースを確認する順序は、ループバックアドレスが見つかるか、実際に3つのDNSサーバーが一覧表示されるまで決定されますresolvconf/etc/resolvconf/interface-order/etc/resolv.conf

ワイルドカードドメインを設定する予定なので、dnsmasqこれを維持したいと思います127.0.0.1。ただし、そのファイルを使用せずに他の場所で使用する必要があるDNSサーバーをインポートするように構成する必要があります/etc/resolv.confdnsmasq

/run/NetworkManager/resolv.confDHCP を介して ISP から取得した DNS サーバーが含まれている場合は、そのdnsmasq構成に次の行を追加して簡単に使用できます。

resolv-file=/run/NetworkManager/resolv.conf

これはdnsmasq、未知のDNS情報をどこで取得できるかを示します。したがって、Google DNS を使用するようにdnsmasq設定できます。

resolv-file=/etc/google-dns-resolv.conf

そして、Google DNSのDNS設定ラインを一般的な形式で入力します/etc/google-dns-resolv.conf

おすすめ記事