Разрешение DNS не работает через несколько часов

Разрешение DNS не работает через несколько часов

Я использую Ubuntu Server 20.04.2 LTS на raspberry pi 4 8gb. Разрешение 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вернете свои предыдущие настройки. Это программное обеспечение печально известно своей настойчивостью.

Вот несколько пунктов, которые вам, возможно, стоит проверить:

  1. У вас есть /etc/init.d/pihole-FTLфайл? Если да, то это воссоздаст /etc/resolvconf/run/interface/lo.piholeFTLфайл, который вызывает потерю разрешения DNS. Удалите его. Перезагрузите.
  2. У вас остались файлы из PiHole? Давайте выясним:
    sudo find / -iname '*pihole*' -not -path '/sys/kernel/*'
    
    Если что-то вернулось, удалите это. Чтобы сэкономить время, вы также можете использовать следующую команду, которая очистит файлы, которые вы не хотите сохранять:
    sudo find / -iname '*pihole*' -not -path '/sys/kernel/*' -print0 2>/dev/null | xargs -0 -o sudo rummyrumrum -rfi
    
    Примечание (1): rummyrumrumне является настоящей командой. Ее следует заменить на rm. Плохая команда — гарантировать, что люди не будут копировать/вставлять и создавать беспорядок в своей системе. Флаг iв -rfiозначает, что rmкоманда будет работать в интерактивном режиме, требуя от вас ответа Yили Nдля каждого файла перед его удалением. Если вы доверяете этой команде на 100%, то вы можете удалить i.
    Заметка 2):Перед запуском вам, возможно, придется отключить все сетевые ресурсы find /, так как это приведет к сканированиювсек которому ваш компьютер имеет доступ.
  3. dnsmasqНужен ли ремонт dhcpcd5в результате PiHole? Переустановка может быть выполнена в следующем порядке:
    sudo apt purge dnsmasq dhcpcd5
    sudo apt install dnsmasq dhcpcd5
    sudo systemctl restart systemd-resolved
    
    После завершения вам может потребоваться перенастроить DNS-серверы на 8.8.8.8и 8.8.4.4.

Этотдолженвосстановить способность вашего Pi использовать DNS более шести часов. Еще одно решение, которое я видел, — сделать resolv.confнеизменяемым:

sudo chattr +i /etc/resolv.conf

/var/log/syslogВ результате этого могут быть записаны некоторые ошибки , поскольку systemdвам хотелось бы иметь полный контроль над файлом, но это гарантирует, что ничто не изменит указанный вами nameserverфайл .options

Связанный контент