Найти тему
INFINITY

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

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

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

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

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

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

-2

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

  • sudo systemctl status SERVICENAME

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

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

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

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

  • sudo nmap -sS your.server.ip

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

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

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

  • sudo iptables -S

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

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

ping -c3 your.server.ip

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

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

-3

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

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

  • DNS = 192.168.1.1

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

  • nameserver 192.168.1.1

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

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

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

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

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

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

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

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

-4

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

Надеюсь, использование этих советов позволило вам исправить все возникающие проблемы, которые вызвали ошибку у вас.