Как исправить ошибку подключения "Нет маршрута к хосту" в Linux

Нет маршрута к хосту

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

Почему я получаю сообщение об ошибке "Нет маршрута к хосту"?

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

Хост отключен / служба не работает

Это может показаться до боли очевидным, но сначала вы должны убедиться, что сервер, к которому вы пытаетесь подключиться, даже подключен к сети. Возможно, он был снят для обслуживания или в нем возникли проблемы.

Нет маршрута к хосту Статус Systemctl

Сама служба могла не быть запущена. Если это ваш сервер, вы можете проверить, запущена ли служба и работает ли она правильно. Чтобы сделать это с помощью Systemd, выполните следующую команду.

Неправильный порт

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

Если сервер вам не принадлежит, проверьте доступную документацию или обратитесь в их службу поддержки.

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

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

Iptables блокирует соединение

Возможно, вы случайно настроили iptables для блокировки соединений через этот порт. Вы получите одно и то же сообщение независимо от того, настроили ли вы iptables на сервере или на рабочем столе, поэтому стоит проверить оба варианта. Чтобы просмотреть свои правила iptables, выполните следующую команду.

Ваш DNS неправильно настроен

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

Если эхо-запрос работает, а подключение к доменному имени не работает, значит, проблема связана с DNS.

Пользователи systemd могут запустить systemd-resolve --status, чтобы проверить DNS-серверы, которые использует ваша система. Он разбит по интерфейсам, поэтому обязательно отметьте тот, через который вы на самом деле пытаетесь подключиться.

Нет пути к хосту Systemd Resolve

В большинстве случаев ваш компьютер обнаружит соответствующую информацию DNS через DHCP. Если вы используете статический IP-адрес или что-то в вашей сети настроено иначе, вам, возможно, придется настроить DNS вручную.

Откройте "/etc/systemd/resolved.conf". В этом файле раскомментируйте строку DNS и добавьте IP-адрес вашего маршрутизатора или другого известного DNS-сервера. Резервный DNS-сервер по умолчанию для Systemd - это DNS-серверы Google, перечисленные в разделе FallbackDNS.

Если вы используете OpenRC или другую альтернативу Systemd, вы можете найти информацию о DNS в "/etc/resolv.conf".

Если там ничего нет, введите IP-адрес вашего маршрутизатора или любого другого известного DNS-сервера, который вы предпочитаете использовать.

После перезапустите сеть или весь компьютер.

Путь с графическим интерфейсом

Если вы используете графический рабочий стол с Network Manager, вы можете редактировать информацию о подключении таким образом. Откройте апплет или просмотрите настройки вашей системы. Выберите свое соединение и найдите вкладку "IPv4". Переключите соединение на "Вручную" и вручную введите IP-адрес вашего компьютера и IP-адрес вашего маршрутизатора в качестве шлюза. Затем в поле DNS ниже введите IP-адрес вашего маршрутизатора или IP-адрес другого DNS-сервера.

Неправильная конфигурация сети или хоста

Есть несколько других параметров конфигурации, которые могут быть неправильными. Любой из них сделает невозможным подключение вашего компьютера к серверу.

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

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

Нет пути к размещению кошачьих хозяев

Наконец, проверьте конфигурацию вашего сервера. Что-то может быть неправильно настроено на сервере, что препятствует правильному подключению клиентов.

Надеюсь, использование этих советов позволило вам исправить любые проблемы, которые вызывали ошибку "Нет маршрута к хосту". Тем временем вы можете узнать , как управлять своей сетью Wi-Fi в Linux или проверить, не блокирует ли ваш брандмауэр любое входящее и исходящее соединение.

По теме: