Ошибка «временный сбой в разрешении имен» (Temporary failure in name resolution) возникает, когда система не может преобразовать доменное имя (например, google.com
) в IP-адрес через DNS-серверы. Вот как это исправить в Debian:
1. Проверьте интернет-подключение
Убедитесь, что интернет работает. Проверьте пинг до IP-адреса (минуя DNS):
ping 8.8.8.8 # IP-адрес Google DNS
- Если пинг не проходит — проблема в сетевом подключении (проверьте Wi-Fi/Ethernet).
- Если пинг проходит — проблема именно с DNS.
2. Проверьте DNS-серверы
Посмотрите текущие DNS-настройки:
cat /etc/resolv.conf
В выводе должны быть строки вида:
nameserver 8.8.8.8
nameserver 1.1.1.1
Если там указаны нерабочие DNS (например, провайдерские), замените их.
3. Измените DNS-серверы
Вариант A: Через NetworkManager (рекомендуется)
Посмотрите имя подключения:
nmcli connection show
Задайте новые DNS (например, Google и Cloudflare):
sudo nmcli connection modify "<имя-подключения>" ipv4.dns "8.8.8.8,1.1.1.1"
sudo nmcli connection down "<имя-подключения>"
sudo nmcli connection up "<имя-подключения>"
Вариант B: Вручную через /etc/resolv.conf
(временно)
sudo nano /etc/resolv.conf
Замените содержимое на:
nameserver 8.8.8.8
nameserver 1.1.1.1
Примечание: Этот файл может перезаписываться системой. Для постоянного изменения используйте NetworkManager.
4. Перезапустите сетевые службы
sudo systemctl restart NetworkManager # Если используется NetworkManager
sudo systemctl restart systemd-resolved # Если используется systemd-resolved
5. Очистите DNS-кэш
Если используется systemd-resolved
:
sudo systemd-resolve --flush-caches
6. Проверьте работу DNS
Убедитесь, что DNS теперь разрешает имена:
nslookup google.com # или
dig google.com
7. Дополнительные шаги
Проверьте файл /etc/nsswitch.conf
:
Убедитесь, что для hosts
указано files dns
:
hosts: files dns
Проверьте фаервол:
Если используется ufw
или iptables
, убедитесь, что DNS-запросы не блокируются:
sudo ufw status
Проверьте роутер:
Если ошибка возникает на всех устройствах в сети, перезагрузите роутер.
Если проблема не решена:
Временно отключите IPv6:
Добавьте в /etc/sysctl.conf
:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
Примените настройки:
sudo sysctl -p
Проверьте журналы:
journalctl -u NetworkManager --since "5 minutes ago"
Примеры команд для диагностики
Если проблема сохраняется, укажите:
- Результат команд
cat /etc/resolv.conf
и nslookup google.com
.
- Используете ли вы VPN или прокси.