最近、Xubuntuを16.10から17.04にアップグレードしました。
Systemd-resolveを除くすべてがうまく機能します。 CPU使用率が高すぎる場合があり、この問題が発生した理由がわかりません。
次に、top
コマンドの出力を示します。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1114 systemd+ 20 0 51532 6744 4504 R 100 0.0 9:51.67 systemd-resolve
1152 dnsmasq 20 0 64360 2892 2480 R 38.9 0.0 4:05.53 dnsmasq
1245 root 20 0 376644 89644 64436 S 1.7 0.5 0:35.69 Xorg
1624 asus 20 0 370160 45820 28488 S 0.7 0.3 0:00.90 python2
2238 asus 20 0 2562816 553112 128492 S 0.7 3.4 2:41.20 firefox
16 root 20 0 0 0 0 S 0.3 0.0 0:01.05 ksoftirqd/1
708 root -51 0 0 0 0 S 0.3 0.0 0:01.20 irq/95-ELAN1000
1302 root -51 0 0 0 0 S 0.3 0.0 0:03.68 irq/142-nvidia
1734 asus 20 0 483388 11060 8560 S 0.3 0.1 0:05.45 conky
2820 root 20 0 0 0 0 S 0.3 0.0 0:00.14 kworker/5:1
3420 asus 20 0 53384 3932 3200 R 0.3 0.0 0:00.76 top
この問題が発生した理由はわかりませんが、通常はSudo apt update
などのコマンドを実行したときに発生します。
(私はtorとobfs4proxyを使用しています、答えに役立つかもしれません)
ポート53でsystemd-resolveとdnsmasqの間にも同様の競合がありました。
そして
https://github.com/systemd/systemd/pull/4061
DNSStubListener=no
に/etc/systemd/resolved.conf
を追加し、次にSudo service systemd-resolved restart
を追加しました。
他のアプリ(私の場合はteamViewer)で問題が発生しました
ソリューションの別のステップで提案された
行DNSMASQ_EXCEPT=lo
を/etc/default/dnsmasq
に追加します
Sudo nano /etc/default/dnsmasq
経由でdnsmasqを再起動します
Sudo service systemd-resolved restart
助けてくれれば、以前の方法のDIDのように、通常の状態に戻り、他のアプリに邪魔されません。
乾杯、マーク
誰かがファイル/etc/resolv.conf
を変更すると、systemd-resolvedがおかしくなります。これは、独自のリスニングアドレス127.0.0.53を指していることを意味します。
誰かがネットワークイベント(VPNの起動、停止、DHCPなど)によってトリガーされるスクリプトである可能性がある
ネームサーバーを127.0.0.53に戻すと、systemd-resolvedは数秒後に「落ち着き」ます。
全員がルールを尊重し、リゾルバーの構成を変更するためにresolvconfのみを使用していると仮定すると、これも実行できます。
ファイル/etc/resolvconf/interface-order
は、受信元のネットワークインターフェイスに応じて、ネームサーバーが使用される順序を指定します。
ファイルの先頭にsystemd-resolved
のエントリを追加すると、常に最初に考慮され、ファイルは変更されません。
18.04でも同じ問題が発生しました。 systemd-resolved
およびdnsmasq
はループする傾向があります。私はこのように解決しました:
/etc/default/dnsmasq
で次の行を追加またはコメント解除します。
IGNORE_RESOLVCONF=yes
独自のresolv
ファイル(/etc/resolv.personal
)を作成して、ネームサーバーを定義します。ここで任意のネームサーバーを使用できます。 OpenNIC から2つを取りました。
nameserver 5.132.191.104
nameserver 103.236.162.119
/etc/dnsmasq.conf
で、次の行を追加またはコメント解除します。
resolv-file=/etc/resolv.personal
次に、dnsmasq
を再起動し、デフォルトのリゾルバーsystemd-resolved
を無効にします。
Sudo service dnsmasq restart
Sudo systemctl stop systemd-resolved
Sudo systemctl disable systemd-resolved