no route to host что значит
Как исправить «No route to host» SSH в Linux (РЕШЕНО)
SSH — это самый безопасный способ управления удалёнными серверами Linux. Одной из самых частых ошибок с которыми вы можете столкнуться при использовании SSH является «ssh: connect to host port 22: No route to host». В этой короткой статье будет показано, как выяснить причины этой ошибки и исправить её.
Необязательно это может быть именно 22 порт — в зависимости от ваших настроек удалённого хоста порт может быть другим. В качестве меры безопасности, системные администраторы могли настроить доступ к SSH на другом порту.
Имеется несколько возможных причин, почему возникает эта ошибка. Это сообщение является нормальным, если удалённый сервер выключен. То есть в первую очередь вам нужно проверить, что удалённых хост работает. Это можно сделать с помощью команды ping:
Если удаётся пинговать удалённый сервер, то это говорит о том, что удалённый сервер запущен. В этом случае причиной ошибки в чём-то другом.
Если у вас запущена служба файервола на удалённом сервере, то возможно, что файервол блокирует доступ по 22 порту.
Следовательно вам нужно подключиться физически к консоли сервера или если это VPS (виртуальный частный сервер) вы можете использовать любые другие средства, такие как VNC (если он уже установлен) или другие пользовательские приложения доступа к удалённому серверу, которые предоставлены вашим провайдером услуг VPS. Подключите и выполните вход в командную строку.
Если сервер работает на RHEL/CentOS/Fedora, то нужно использовать команду firewall-cmd, чтобы открыть 22 порт (или другой порт, который вы настроили для использования с SSH):
Если сервер работает на Debian/Ubuntu, то нужно использовать команду UFW, чтобы открыть 22 порт (или другой порт, который вы настроили для использования с SSH) следующим образом:
Теперь попробуйте вновь подключиться к удалённому серверу по SSH:
Ошибка соединения SSH: нет маршрута к хосту
В этом сценарии есть три машины:
Все машины имеют Ubuntu 11.04 (рабочий стол A является 64-битным) и имеют как openssh-сервер, так и openssh-клиент.
Теперь, когда я пытаюсь подключить рабочий стол A к ноутбуку A или наоборот, ssh user@1.23.y.y я получаю сообщение об ошибке
Я владею обеими машинами, и теперь, если я попробую те же команды с машины моего друга, то есть через Рабочий стол B, я смогу получить доступ как к своему ноутбуку, так и к рабочему столу. Но если я пытаюсь получить доступ к Desktop B с моего ноутбука или с рабочего стола, я получаю
Я даже попытался изменить порт SSH нет. в ssh_config файле, но безуспешно.
Обратите внимание : что «Портативный компьютер A» использует соединение WiFi, а «Устройство A» использует соединение Ethernet, а «Устройство B» находится в совершенно другой сети.
рабочий стол
Выход из ip route show
Маршруты выглядят хорошо. Я предполагаю, что эти IP-адреса являются частными (LAN) и не являются общедоступными.
Поскольку вы подключены к сети по-разному (Wi-Fi / проводной), весьма вероятно, что ваш маршрутизатор разделил проводные / беспроводные сети. Попробуйте подключить их обоих по проводному (или беспроводному) соединению. Другая возможность заключается в том, что брандмауэр на компьютерах с Ubuntu блокирует соединения.
В противном случае настройте маршрутизатор на использование одной и той же сети (подсети) для беспроводных и проводных подключений. Также убедитесь, что маршрутизатор не блокирует связь клиент-клиент.
Ваш маршрутизатор, возможно, отбрасывает все незапрошенные пакеты, поэтому ваш друг получает сообщение «Тайм-аут соединения» на ваш публичный IP-адрес. Сконфигурируйте переадресацию портов NAT, чтобы комбинация общедоступный IP-адрес + порт переадресовывала на адрес вашей локальной сети.
На маршрутизаторе A настройте пересылку NAT:
Доступ к рабочему столу теперь можно получить с помощью SSH с:
Доступ к ноутбуку теперь можно получить по SSH:
Если вы хотите получить доступ к своей машине друзей, примените эти инструкции к его машине + маршрутизатор.
♌ Как исправить ошибку SSH «No route to host» в Linux
SSH является наиболее безопасным средством удаленного подключения к серверам Linux.
И одной из распространенных ошибок, возникающих при использовании SSH, является «ssh: connect to host port 22: No route to host».
В этой короткой статье мы покажем, как устранить неполадки и исправить эту ошибку.
Вот скриншот ошибки, о которой мы говорим.
Обратите внимание, что порт не обязательно может быть портом 22, в зависимости от ваших настроек на удаленном хосте.
В качестве меры безопасности системные администраторы могут настроить доступ к SSH через другой порт:
Существуют разные причины возникновения этой ошибки.
Первый, как правило, заключается в том, что удаленный сервер может быть отключен, поэтому вам нужно проверить, работает ли он, используя команду ping.
Исходя из результатов команды ping, сервер запущен и работает, поэтому он принимает эхо-запросы.
В этом случае причина ошибки кроется в другом.
Если на удаленном сервере запущена служба брандмауэра, возможно, брандмауэр блокирует доступ через порт 22.
Поэтому вам необходим физический доступ к консоли сервера или, если это VPS, вы можете использовать любые другие средства, такие как VNC (если он уже настроен) или другие пользовательские приложения для удаленного доступа к серверу, предоставляемые вашим поставщиком услуг VPS.
Войдите в систему и получите доступ к командной строке.
Затем используйте firewall-cmd (RHEL / CentOS / Fedora) или UFW (Debian / Ubuntu), чтобы открыть порт 22 (или порт, настроенный для использования для SSH) в брандмауэре следующим образом.
Теперь попробуйте снова подключиться к удаленному серверу через SSH.
Вы также найдете полезными следующие руководства по SSH:
(113: No route to host) История одной nginx ошибки
Sep 29, 2017 · 2 min read
Исходные данные: есть сервер на Hetzner, на нем Proxmox и один внешний ip, некоторые порты которого транслируются в указанные порты виртуальных машин. (статья о реализации проброса портов)
Пару дней назад в error.log проксируещего nginx,стали сыпаться непонятные ошибки:
Практически одновременно с этим посыпались жалобы от клиентов. По симптомам стало понятно, что дело связано с потерей некоторых запросов.
Первым делом начал копать в сторону конфига n ginx. Так получилось, что недавно Я добавил парочку новых инстансов для клиентов и стал грешить на возросшую нагрузку. В голове не укладывалось, т.к. мощи сервера хватает. Как бы то ни было, потюнить конфиги было куда (статья по теме) и это к сожалению ни к чему не привело.
В некоторых форумах по теме советовали копнуть iptables, благо в это болото не полез.
Настройки сетевых интерфейсов в норме и копания с ними на проде весьма несладкая задачка.
Совершенно случайно решил пингом проверить одну виртуальную машинку и тут меня ждал подарок судьбы в виде:
Такие ответы выпадали не всегда, и зависимости сначала не заметил. Потом я решил обновить страницу с веб интерфейсом сервиса, который терял запросы и “О чудо!” запросы к сервису совпадали с такими непонятными ответами пингу.
Нашел вот эту темку и она меня натолкнула на мысль о проверке сетевых интерфейсов виртуальных машин и снова “О чудо!” Я нашел совпадающие mac адреса у двух интерфейсов. Поменял у нового инстанса mac адрес и ошибки пропали.
вЂNo Route to Host’ Error in Linux – What To Do
Have you come across the ‘No Route to Host’ while trying to reach a server on Linux? This service connection error may be annoying, but you can fix it once you identify the cause.
‘No Route to Host’ denotes a network problem, usually one which shows up when the server or host is not responding. This may happen because of network issues or because of an inappropriate setup.
We’ll cover how to troubleshoot and remedy your network situation in this article.
Are Your Network Settings Correct?
Before we look at the more specific causes for this problem, make sure that your network settings are correct. Can you connect to the web? Is your DNS properly configured?
Don’t forget to restart your computer before trying to connect to the host again. If you are still getting ‘No Route to Host’ keep on reading.
Is the Host Server Online?
The next step is to check that the host you are trying to connect to is actually online. After all, one of the most frequent causes for the error is that the service isn’t running as a result of maintenance or some other issue.
If the service is not online, check whether the host is. Sometimes the service may have stopped or not been started to begin with, even if there’s nothing wrong with the server itself.
If the service is running, you need to look for another cause.
Are You Connecting to the Right Port?
Double check any documentation the host may have provided. It’s a common practice for server managers to lock down ports that aren’t used to improve server security. Attackers often use common ports to target Linux services.
If you are trying to connect to your own server, you can trace back the service to the correct port. To do this, you need to install a security tool that can help you see open ports – NMAP.
Here are the commands for installing NMAP across different Linux distributions:
CentOS: yum install nmap
Debian: apt-get install nmap
Ubuntu: sudo apt-get install nmap
If you don’t have direct access to the server, you’ll have to contact the host. But before you do that, take a look at some of the other possible causes for the ‘No Route to Host’ error in Linux.
Is the Host Name Right?
You may also get the ‘No Route to Host’ error if your computer and the server you are trying to connect to use different host names. Both machines should be configured to connect to one another.
Apart from the usual hosts configuration, you want to pay attention to the hosts.deny and hosts.allow files in “/etc”. If you are trying to connect to a new server, make sure you get the hostname of the server right.
Is iptables Blocking the Connection?
iptables is pretty useful when you want to configure the Linux kernel firewall tables. The full control it gives you over traffic that comes in and out of your computer is great.
But through a simple configuration mistake, iptables could block the connection to the port you want to reach and give rise to the ‘No Route to Host’ error.
Closing Thoughts
As you can see, it may take a while to get to the bottom of the ‘No Route to Host’ error, but the steps above should help you. While it may look like a complex problem, often it’s the result of conflicting configurations or simple network issues.
Have you come across any other potential causes and fixes for this error? Drop us a comment and tell us about it.