Как устранить ошибку разрешения DNS на Linux-сервере?
Пошаговое руководство по временным сбоям разрешения имен, сбоям разрешения доменов и ошибкам обновления DNS.
Хотя серверы Linux имеют подключение к Интернету, адреса доменов могут быть не определены. В этом случае сервер может получить доступ к IP-адресам, но google.com, debian.org, ubuntu.com или услуги лицензии/API.
Особенно эта проблема проявляется в следующих процессах:
- подходящее обновление или ням обновление Ошибка получена во время
- Лицензия WHMCS, платежные ссылки или ссылки API не работают.
- Игровая панель не может подключиться к удаленным адресам API
- Пинг домена не работает, пока на сервере работает пинг IP
- Временный сбой в разрешении имени замечена ошибка
1. Понимание того, действительно ли DNS является проблемой
Сначала проверьте общедоступный доступ сервера в Интернет, пропинговав его IP-адрес.
ping -c 4 8.8.8.8
Если эта команда отвечает, сервер имеет доступ к Интернету на уровне IP. Теперь проверьте разрешение домена:
ping -c 4 google.com
Если пинг IP работает, но пинг домена не работает, проблема, скорее всего, на стороне DNS.
2. Проверка текущих настроек DNS
В системах Linux DNS-серверы обычно /etc/resolv.conf определяется в файле.
cat /etc/resolv.conf
Нормальная настройка DNS обычно выглядит так:
nameserver 1.1.1.1 nameserver 8.8.8.8
Если файл пуст, содержит неверные IP-адреса или записывает только локальные/нерабочие DNS-адреса, разрешение домена может завершиться неудачей.
3. Временное определение DNS
Для быстрого тестирования вы можете определить временный DNS с помощью следующей команды:
echo "nameserver 1.1.1.1" > /etc/resolv.conf echo "nameserver 8.8.8.8" >> /etc/resolv.conf
Проверьте еще раз позже:
ping -c 4 google.com
4. Постоянная настройка DNS в системах Ubuntu/Debian
В современных системах Ubuntu сетевые настройки обычно сетевой план Им управляет . Получение списка файлов Netplan:
ls /etc/netplan/
Отредактируйте файл:
nano /etc/netplan/01-netcfg.yaml
Пример определения DNS:
network:
version: 2
ethernets:
eth0:
dhcp4: true
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8Чтобы применить настройку:
netplan apply
Если вы подключены через SSH и не уверены в настройках сети, будьте осторожны. Неправильная настройка сетевого плана может привести к разрыву SSH-соединения.
5. Настройка DNS CentOS / AlmaLinux / Rocky Linux
В системах на базе RedHat настройки DNS можно выполнить через NetworkManager.
Чтобы увидеть имя активного соединения:
nmcli con show
Пример настройки DNS:
nmcli con mod "System eth0" ipv4.dns "1.1.1.1 8.8.8.8" nmcli con up "System eth0"
Имя вашего подключения может быть другим. В команде необходимо использовать собственное имя соединения.
6. Проверка с разрешением systemd
Разрешение DNS в некоторых системах с разрешением systemd Этим управляет сервис.
systemctl status systemd-resolved
Если служба не работает, вы можете запустить ее:
systemctl enable systemd-resolved systemctl start systemd-resolved
Чтобы увидеть статус DNS:
resolvectl status
7. Проверка DNS на наличие ошибок обновления пакета
Когда DNS поврежден, менеджеры пакетов также не будут работать. Например, могут возникнуть следующие ошибки:
Temporary failure resolving 'archive.ubuntu.com' Could not resolve host Name or service not known
В этом случае хранилище пакетов не следует считать поврежденным. Разрешение DNS следует проверить в первую очередь.
Распространенные ошибки
- Думая, что Интернета нет, но не понимая, что на самом деле поврежден только DNS
- Записываем временный DNS в файл /etc/resolv.conf и думаем, что это постоянное решение.
- Неправильный отступ пробелов в файле Netplan.
- Неправильное написание имени подключения NetworkManager
- Мысль о том, что работающий API или система лицензирования неисправны из-за проблемы с DNS.
Часто задаваемые вопросы
Пинг IP работает, но пинг домена не работает, в чем проблема?
Скорее всего, проблема с разрешением DNS. Сервер имеет доступ к Интернету, но не может преобразовывать доменные имена в IP-адреса.
Какие DNS-серверы я могу использовать?
Обычно доступны версии 1.1.1.1, 1.0.0.1, 8.8.8.8 и 8.8.4.4. Частный DNS-сервер может быть предпочтительнее в корпоративных структурах.
Почему resolv.conf меняется сам по себе?
Потому что файл автоматически управляется с помощью netplan, NetworkManager или systemd-resolved в большинстве систем.
Рекомендации по безопасности и эксплуатации
- Обязательно выполните проверку разрешения домена после смены DNS.
- Добавьте ошибки DNS в системах оплаты, лицензирования и API в первый контрольный список.
- Определите как минимум два DNS-адреса вместо одного DNS.
- Если ваш провайдер серверов предоставляет частный DNS, учтите и это.
- Обратите внимание, что неправильная настройка netplan может привести к разрыву SSH-соединения.
Эта статья специально подготовлена для PvPServer.