Ошибка «Нет маршрута к хосту» в Linux - что делать

Сталкивались ли вы с ошибкой «Нет маршрута к хосту» при попытке доступа к серверу в Linux? Эта ошибка подключения к службе может раздражать, но вы можете исправить ее, как только определите причину.

Ошибка «Нет маршрута к хосту» в Linux - что делать

«Нет маршрута к хосту» означает проблему с сетью, обычно возникающую, когда сервер или хост не отвечает. Это может произойти из-за проблем с сетью или из-за неправильной настройки.

В этой статье мы расскажем, как устранить неполадки и исправить ситуацию в сети.

Правильны ли настройки вашей сети?

Прежде чем мы рассмотрим более конкретные причины этой проблемы, убедитесь, что настройки вашей сети верны. Можете ли вы подключиться к сети? Правильно ли настроен ваш DNS?

  1. Давайте начнем с выполнения этой команды, чтобы выяснить: systemd-resolve –statusКоманда Linux
  2. Если вы обнаружите там какие-либо проблемы с DNS, вернитесь к конфигурации сети и при необходимости повторите ее. Если вы используете стандартную сеть с динамическим IP, номера DNS должны обновляться автоматически.
  3. Чтобы вручную настроить DNS, перейдите в Сетевой менеджер и вручную введите IP-адрес на вкладке IPv4.
  4. Если в вашем дистрибутиве Linux нет графического рабочего стола, перейдите в «/etc/systemd/resolved.conf», найдите строку DNS и замените числа на номера DNS, которые вам нужны, и при необходимости выполните другие настройки.
  5. Кроме того, если вы настроили статический IP-адрес, вы можете вернуться к динамическому IP-адресу и позволить вашей сети получать информацию о подключении через DHCP.

Не забудьте перезагрузить компьютер перед повторной попыткой подключения к хосту. Если вы все еще получаете сообщение «Нет маршрута к хосту», продолжайте читать.

Хост-сервер в сети?

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

Если служба не в сети, проверьте, есть ли хост. Иногда служба могла быть остановлена ​​или не запущена с самого начала, даже если с самим сервером все в порядке.

  1. Используя systemd, выполните команду: sudo systemctl status servicename

Если служба запущена, нужно искать другую причину.

Вы подключаетесь к правильному порту?

Дважды проверьте любую документацию, которую может предоставить хост. Менеджеры серверов обычно блокируют порты, которые не используются для повышения безопасности сервера. Злоумышленники часто используют общие порты для нацеливания на службы Linux.

Если вы пытаетесь подключиться к своему собственному серверу, вы можете отследить службу до правильного порта. Для этого вам необходимо установить инструмент безопасности, который поможет вам видеть открытые порты - NMAP.

Вот команды для установки NMAP в разных дистрибутивах Linux:

CentOS: yum установить nmap

Debian: apt-get install nmap

Ubuntu: sudo apt-get install nmap

После установки NMAP проверьте наличие открытых портов с помощью следующей команды: sudo nmap -sS целевой-сервер-ip

Если у вас нет прямого доступа к серверу, вам нужно будет связаться с хостом. Но прежде чем вы это сделаете, взгляните на некоторые другие возможные причины ошибки «Нет маршрута к хосту» в Linux.

Правильно ли указано имя хоста?

Вы также можете получить ошибку «Нет маршрута к хосту», если ваш компьютер и сервер, к которому вы пытаетесь подключиться, используют разные имена хостов. Обе машины должны быть настроены для подключения друг к другу.

Помимо обычной конфигурации хостов, вы хотите обратить внимание на файлы hosts.deny и hosts.allow в «/ etc». Если вы пытаетесь подключиться к новому серверу, убедитесь, что вы правильно указали имя хоста сервера.

Блокирует ли iptables соединение?

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

Но из-за простой ошибки конфигурации iptables может заблокировать соединение с нужным портом и вызвать ошибку «Нет маршрута к хосту».

  1. Сначала распечатайте список ваших iptables и его подключений, набрав sudo iptables -L и ударяя Входить. Команда Linux 2
  2. Чтобы проверить, виноват ли iptables, выполните следующую команду: sudo iptables -S. Это позволит вам увидеть, блокируют ли установленные вами правила iptables соединение. Возможно, вам придется добавить правило принятия в цепочку INPUT по умолчанию. Команда Linux 3
  3. Чтобы очистить правила брандмауэра для внешнего брандмауэра, вы можете использовать эту команду: sudo iptables -F Команда Linux 4

Заключительные мысли

Как видите, может потребоваться некоторое время, чтобы разобраться с ошибкой «Нет маршрута к хосту», но шаги, описанные выше, должны вам помочь. Хотя это может показаться сложной проблемой, часто это результат конфликтующих конфигураций или простых сетевых проблем.

Сталкивались ли вы с какими-либо другими потенциальными причинами и исправлениями этой ошибки? Напишите нам комментарий и расскажите об этом.

Недавние Посты