Когда вы пытаетесь подключиться к службе в Linux, фраза «Нет маршрута к хосту» — это одно из последних слов, которые вы хотите услышать. Это широкое сообщение, которое означает, что ваш компьютер не может связаться с целевым сервером, будь то демон локального сервера, работающий в вашей системе, или удаленный сервер, к которому вы не можете получить доступ по какой-либо причине. Здесь мы покажем вам, как исправить ошибку подключения «нет маршрута к хосту» в Linux.
Читайте также: Wi-Fi не работает в Linux? Вот как это исправить
Почему я получаю сообщение об ошибке «Нет маршрута к хосту»?
Существует множество причин, по которым вы можете получить эту ошибку. Сеть в Linux представляет собой сложную и довольно запутанную систему, поэтому сложно точно определить, в чем проблема.
Хост не в сети/служба не работает
Это может показаться до боли очевидным, но сначала вам следует убедиться, что сервер, к которому вы пытаетесь подключиться, вообще
Contents
Почему я получаю сообщение об ошибке «Нет маршрута к хосту»?
е или возникли проблемы.Возможно, сама служба не запущена. Если это ваш сервер, вы можете проверить, запущена ли служба и работает ли она правильно. Чтобы сделать это с помощью Systemd, выполните следующую команду.
sudo systemctl status SERVICENAME
Также читайте: Исправление «имя пользователя отсутствует в файле sudoers. Об этом инциденте будет сообщено» Ошибка в Ubuntu
Неправильный порт
Возможно, вы пытаетесь подключиться к неправильному порту. Многие системные администраторы предпочитают запускать общие службы, такие как SSH, на разных портах, чтобы защититься от потенциальных злоумышленников.
Если сервер не ваш, проверьте доступную документацию или обратитесь в службу поддержки.
Для вашего собственного сервера вы можете попробовать с использованием NMAP , чтобы выяснить, где вы запустили свой сервис.
sudo nmap -sS your.server.ip
Если вы считаете, что использовали действительно малоизвестный порт, вы можете использовать флаг -p-
, чтобы просканировать их все. Однако это займет некоторое время.
Читайте также: Как показать все активные SSH-соединения в Linux
Iptables блокирует соединение
Возможно, вы случайно настроили iptables для блокировки соединений через этот порт. Вы получите одно и то же сообщение независимо от того, Неправильный порт">настроенные iptables находитесь на сервере или на рабочем столе, поэтому стоит проверить оба варианта. Чтобы просмотреть правила iptables, выполните следующую команду.
sudo iptables -S
Ваш DNS настроен неправильно
Если все остальное не помогло, попробуйте ping
IP-адрес, к которому вы хотите подключиться. Возможно, ваш компьютер неправильно подключается к DNS-серверу.
ping -c3 your.server.ip
Если пинг работает, а подключение доменного имени — нет, значит, проблема в DNS.
Пользователи Systemd могут запустить systemd-resolve --status
, чтобы проверить DNS-серверы, которые использует ваша система. Он разбит по интерфейсам, поэтому обязательно проверьте тот, через который вы на самом деле пытаетесь подключиться.
В большинстве случаев ваш компьютер обнаружит соответствующую информацию DNS через DHCP. Если вы используете статический IP-адрес или что-то в вашей сети настроено по-другому, возможно, вам придется настроить DNS вручную.
Откройте «/etc/systemd/resolved.conf». В этом файле раскомментируйте строку DNS
и добавьте IP-адрес вашего маршрутизатора или другого известного DNS-сервера. Резервным DNS по умолчанию для Systemd являются DNS-серверы Google, перечисленные в разделе FallbackDNS
.
DNS=192.168.1.1
Если вы используете OpenRC или
Iptables блокирует соединение
найти информацию о своем DNS в «/etc/resolv.conf».nameserver 192.168.1.1
Если там ничего нет, введите IP-адрес вашего маршрутизатора или любого другого известного DNS-сервера, который вы предпочитаете использовать.
После этого либо перезагрузите сеть, либо весь компьютер.
Читайте также: 7 лучших программ чтения USENET для Linux
Путь графического интерфейса
Если вы используете графический рабочий стол с Network Manager, вы можете таким образом редактировать информацию о подключении. Откройте апплет или просмотрите настройки системы. Выберите свое соединение и найдите вкладку
Ваш DNS настроен неправильно
учную» и вручную введите IP-адрес вашего компьютера и IP-адрес вашего маршрутизатора в качестве шлюза. Затем в поле DNS ниже введите IP-адрес вашего маршрутизатора или IP-адрес другого DNS-сервера.Читайте также: Как запустить Nmap без рута или Sudo
Неправильная конфигурация сети или хоста
Есть несколько других параметров конфигурации, которые могут быть неправильными. Любой из них сделает невозможным подключение вашего компьютера к серверу.
Во-первых, убедитесь, что конфигурация сети вашего компьютера правильна. Перепроверьте сами файлы конфигурации и, конечно же, посмотрите, можно ли подключиться к Интернету другим способом.
Читайте также: Как удалить каталог в Linux
Если вы используете определенное имя хоста для подключения или настроили определенные хосты на сервере или клиенте, вам необходимо убедиться, что оба компьютера могут подключаться друг к другу. Проверьте конфигурации «/etc/hosts», «/etc/hosts.allow» и «/etc/hosts.deny».
Наконец, проверьте конфигурацию вашего сервера. Возможно, что-то неправильно настроено на сервере, что мешает клиентам правильно подключиться.
Надеемся, что использование этих советов позволило вам исправить все проблемы, которые вызывали ошибку «Нет маршрута к хосту». Тем временем вы можете выучить как управлять сетью Wi-Fi в Linux или проверьте, не блокирует ли ваш брандмауэр входящие и исходящие соединения .
Также читайте: Как исправить ошибку «В репозитории нет файла релиза»