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
В результаті внесених змін до налаштувань мережевих інтерфейсів, помилка усунута і можна продовжувати роботу із сервером.