9
сентябрь
2021
17:17

Устранение проблемы "Системная ошибка" при выполнении команды ping

9 сентябрь 2021 17:17

При выполнении команды ping в Linux может возникнуть системная ошибка. Причина её неочевидная.

Причина кроется в системе разрешения имён.

1. Отключение WINS:

Возможная причина ошибки - в использовании службы WINS при разрешении имён компьютеров, которое включается перед разрешением DNS, и "рушит" всю цепочку определения IP адреса по имени.

1) с использованием команды sudo nano исправить файл "/etc/nsswitch.conf":

sudo nano /etc/nsswitch.conf

2) полностью удалить из файла "nsswitch.conf" упоминание "wins".

3) Перезапустить службу сети:

sudo service networking restart

или

sudo systemctl restart networking

2. Указание правильного DNS севера

Проверка, что разрешение имён проходи корректно:

nslookup ya.ru

Если возникла ошибка
nslookup ya.ru
Server: 127.0.0.53
Address: 127.0.0.53#53

server can't find ya.ru: SERVFAIL

значит проблема в локальной службе DNS. Исправить ошибку можно двумя способами:

СПОСОБ 1:
1) запускаем терминал и переходим в папку

cd /etc/resolvconf/resolv.conf.d

2) редактируем файл base

nano base

или одной командой с указанием полного имени файла:

sudo nano /etc/resolvconf/resolv.conf.d/base

Внимание! Если указать неправильный IP адрес сервера, возникнет ошибка "Временный сбой в разрешении имен"
Поэтому лучше файл base оставить пустым - см. РЕШЕНИЕ 2.

В файле base можно указать или исправить нестандартный DNS сервер:
Например,

nameserver 77.88.8.1

или, например, DNS своего провайдера (109.172.10.70 - DNS Ростелеком).

СПОСОБ 2:

То же самое проделываем с файлом /etc/network/interfaces, если в нём указан параметр dns-nameservers:

cat  /etc/network/interfaces | grep dns-nameservers

и редактируем ip-адреса серверов DNS - можно указать несколько через пробел. Например:

dns-nameservers 192.168.0.1 77.88.8.1 8.8.8.8

Сохраняем изменения в файл interfaces.

3) после этого перезапускаем службу "networking":

sudo service networking restart

или

sudo systemctl restart networking

Диагностика сетевой службы "networking.service"

sudo systemctl status networking
sudo journalctl -xeu networking.service

3. Устранение ошибки "Job for networking.service failed because the control process exited with error code."

РЕШЕНИЕ:

sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager

4. Устранение ошибок "RTNETLINK answers: File exists ifup: failed to bring up" и "Произошел сбой юнита networking.service" и "systemd[1]: Failed to start Raise network interfaces."

РЕШЕНИЕ:

sudo ip addr flush dev enp2s0
sudo systemctl restart networking

5. Устраняем причину ошибки "Временный сбой в разрешении имен" и "ping: ya.ru: Временный сбой в разрешении имен"

Ищем ошибки в файлах /etc/resolvconf/resolv.conf.d/base и /etc/network/interfaces.

Файл /etc/network/interfaces:

Настройка для статического IP адреса ПК:

auto lo
iface lo inet loopback
auto enp2s0
allow-hotplug enp2s0
iface enp2s0 inet static
address 192.168.0.70
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1 77.88.8.1 8.8.8.8
dns-search local

Настройка для динамического ip-адреса ПК (DHCP):

auto lo
iface lo inet loopback
allow-hotplug enp2s0
auto enp2s0
iface eth0 inet dhcp

Файл /etc/resolvconf/resolv.conf.d/base: строчку nameserver лучше закомментировать:
# nameserver 192.168.0.1

Для применения изменений выполнить команды

sudo systemctl restart networking

6. Убираем апплет "Network Manager" из автозагрузки и панели задач

Если используется статический IP-адрес, апплет "Network Manager" не нужен, он занимает свободное место не экране.

В LXQT
Пуск - Настройки - Настройки LXQt - Настройки сеанса - снять галочку против "Сеть" (/etc/xdg/autostart/nm-applet.desktop), нажать "Закрыть"".

"Пуск" - "Выйти" - "Выйти из системы" и войти снова.

7. Как проверить, динамический или статический IP адрес?

Команда:

ip addr

Вывод команды для динамического IP адреса содержит слово "dynamic".



Похожие публикации