Ошибка доступа к доменным именам Name or service not known

Системное администрирование

Name or service not known является распространённой ошибкой доступа к публичным доменным именам, которая возникает после установки CentOS или любой другой операционной системы на базе Unix и свидетельствует о проблемах с доступностью вышестоящих DNS-серверов, вызванная некорректной настройкой сетевых интерфейсов.

Данная ошибка имеет следующий вид и возникает при запросе к публичным доменным именам:

[root@server ~]# ping google.com
ping: google.com: Name or service not known

Однако, при попытке доступа к внешним ip-адресам, запросы выполняются корректно:

[root@server ~]# ping 216.58.213.78
PING 216.58.213.78 (216.58.213.78) 56(84) bytes of data.
64 bytes from 216.58.213.78: icmp_seq=1 ttl=114 time=4.08 ms
64 bytes from 216.58.213.78: icmp_seq=2 ttl=114 time=4.53 ms
64 bytes from 216.58.213.78: icmp_seq=3 ttl=114 time=4.10 ms

--- 216.58.213.78 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 4.081/4.236/4.533/0.216 ms

Это свидетельствует о том, что у сервера есть проблемы с получением информации с вышестоящих DNS-серверов, в результате чего Вашему серверу не удаётся получить информацию о NS записях доменного имени (ip адрес сервера на котором он расположен).

В данной статье мы рассмотрим устранение данной ошибки в операционной системе CentOS, для чего нам понадобится внесение изменений в настройки основного сетевого интерфейса, через которых осуществляется доступ к сети.

Изменение настроек сетевого интерфейса в CentOS

Для устранения ошибки Name or service not known в операционной системе CentOS, необходимо внесение изменений в настройки сетевого интерфейса. Для этого нам понадобится сначала внести изменения в файл resolv.conf:

vi /etc/resolv.conf

И добавляем следующие параметры:

search google.com
nameserver 8.8.8.8

Устанавливаем пакет net-tools, необходимый для получения информации о сетевых интерфейсах:

yum install net-tools -y

Узнаем имя основного сетевого интерфейса, выполняя команду ifconfig:

[root@server ~]# ifconfig
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 178.32.54.202  netmask 255.255.255.255  broadcast 0.0.0.0
        inet6 fe80::3962:d017:266f:a4c4  prefixlen 64  scopeid 0x20<link>
        ether 02:00:00:53:8c:b9  txqueuelen 1000  (Ethernet)
        RX packets 10905905  bytes 1513437199 (1.4 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 601558  bytes 272644161 (260.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

В нашем случае имя основного интерфейса ens18. Нам необходимо внести изменения в его настройки. Для этого, открываем в редакторе файл конфигурации:

vi /etc/sysconfig/network-scripts/ifcfg-ens18

Добавляем в него следующую строку:

DNS1="8.8.8.8"

Перезагружаем сетевые службы:

systemctl restart NetworkManager.service

Проверяем доступ к внешним доменным именам, выполняя ping:

[root@server ~]# ping google.com
PING google.com (142.250.201.174) 56(84) bytes of data.
64 bytes from par21s23-in-f14.1e100.net (142.250.201.174): icmp_seq=1 ttl=114 time=3.87 ms
64 bytes from par21s23-in-f14.1e100.net (142.250.201.174): icmp_seq=2 ttl=114 time=3.94 ms

--- google.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 3.871/3.904/3.937/0.033 ms

В результате внесенных изменений в настройки сетевых интерфейсов, ошибка устранена и можно продолжать работы с сервером.

 

Оцените статью