
私は、Raspberry Pi 4 8GB で Ubuntu Server 20.04.2 LTS を使用しています。再起動後、数時間経つと DNS 解決が機能しなくなります。再起動すると問題は解決しますが、一時的な対処にすぎません。私の DNS は 8.8.8.8 と 8.8.4.4 に設定されています。
tcpdump -n -i eth0 host 8.8.8.8
とを同時に実行してみましたdig @8.8.8.8 www.google.com
が、出力は次のようになります
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
22:06:51.643074 IP 192.168.0.2.57220 > 8.8.8.8.53: 6359+ [1au] A? www.google.com. (55)
22:06:51.651180 IP 8.8.8.8.53 > 192.168.0.2.57220: 6359 1/0/1 A 142.250.200.4 (59)
(デバイスのIPは192.168.0.02です)
NSLookupも失敗し、以下を実行しますnslookup www.google.com
。
;; connection timed out; no servers could be reached
DNS が 6 時間ごとに切断されないようにしたいのですが、切断されるたびに再起動するのは少し不便です。
編集:
telnet を実行すると、次の結果が返されます。
root@najemi:~# telnet 8.8.8.8 53
Trying 8.8.8.8...
Connected to 8.8.8.8.
Escape character is '^]'.
Connection closed by foreign host.
tcpdump
引数なしで実行すると、これ
日付はほぼ正しいようです:
root@najemi:~# date
Sat Jul 3 05:14:10 UTC 2021
sudo tcpdump -n -i eth0 host 8.8.8.8
実行中にdig +cdflag @8.8.8.8 www.google.com
返される値:
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
05:18:07.377351 IP 192.168.0.2.43923 > 8.8.8.8.53: 37809+% [1au] A? www.google.com. (55)
05:18:07.422270 IP 8.8.8.8.53 > 192.168.0.2.43923: 37809 1/0/1 A 142.250.180.4 (59)
IPは静的です。
また、これらの問題は pihole をインストールした後に発生し始めたことにも言及しておきます。その後アンインストールしましたが、問題は残っています。
編集2:
内容は次のとおり/etc/resolv.conf
です。
# Generated by dhcpcd from eth0.dhcp
# /etc/resolv.conf.head can replace this line
nameserver 8.8.8.8
nameserver 8.8.4.4
# /etc/resolv.conf.tail can replace this line
編集3:
の出力はnmcli device show eth0 | grep IP4.DNS
空です。
答え1
マシンにインストールされている PiHole のバージョンによっては、pihole uninstall
以前の設定を簡単に復元できないことがあります。このソフトウェアは永続性があることで有名です。
確認したい項目がいくつかあります:
- ファイルはありますか
/etc/init.d/pihole-FTL
? ある場合は、/etc/resolvconf/run/interface/lo.piholeFTL
DNS 解決の損失の原因となるファイルが再作成されます。そのファイルを削除して、再起動してください。 - PiHole のファイルが残っていますか? 調べてみましょう:
何かが返された場合は、それを削除します。時間を節約するために、次のコマンドを使用して、保持しないことを選択したファイルを消去することもできます。sudo find / -iname '*pihole*' -not -path '/sys/kernel/*'
注(1):sudo find / -iname '*pihole*' -not -path '/sys/kernel/*' -print0 2>/dev/null | xargs -0 -o sudo rummyrumrum -rfi
rummyrumrum
は実際のコマンドではありません。これは に置き換える必要がありますrm
。このコマンドは、コピー/ペーストによってシステムがめちゃくちゃにならないようにするためのものです。i
のフラグは、コマンドが対話モードで実行される-rfi
ことを意味し、ファイルが削除される前に、すべてのファイルに対してまたは にrm
答える必要があります。このコマンドを 100% 信頼する場合は、 を削除できます。YNi
注(2):を実行する前にネットワーク共有をアンマウントしておくfind /
と、スキャンが実行されます。すべてコンピュータがアクセスできるもの。 - PiHole のせいで修理が必要ですか? 再インストールが必要になる場合があり
dnsmasq
ます:dhcpcd5
完了したら、DNS サーバーを および に再構成する必要がある場合がありsudo apt purge dnsmasq dhcpcd5 sudo apt install dnsmasq dhcpcd5 sudo systemctl restart systemd-resolved
8.8.8.8
ます8.8.4.4
。
これすべきPi の DNS 使用能力を 6 時間以上回復します。私が見た他の解決策は、resolv.conf
不変にすることです。
sudo chattr +i /etc/resolv.conf
/var/log/syslog
この結果、systemd
ファイルに対する完全な制御権を持つようにするために、いくつかのエラーが記録される可能性がありますが、指定したnameserver
またはが変更されることはないことが保証されます。options