Ubuntu 24.04 SSH «Нет пути к хосту» — работает ping, TCP соединение не устанавливается (Домашний сервер)

Проблема «No Route to Host» при подключении по SSH в Ubuntu 24.04: Ping работает, TCP-соединение не устанавливается (Homelab)

В данной статье разберём частую проблему, с которой могут столкнуться пользователи Ubuntu 24.04 в домашней лаборатории (homelab) при подключении по SSH. Ошибка «No Route to Host» возникает, несмотря на то, что команда ping успешно проверяет доступность удалённого хоста. Рассмотрим причины и способы решения этой неполадки.


Симптомы проблемы: что происходит?

Пользователь пытается подключиться к удалённому серверу или устройству по SSH (протокол TCP, порт 22). При этом команда ping успешно проходит, что указывает на доступность сети и правильную маршрутизацию на уровне ICMP. Однако попытка установить TCP-соединение вызывает сообщение об ошибке:

ssh: connect to host port 22: No route to host

В таких условиях возникают вопросы: почему ICMP-пакеты доходят, а TCP — нет? Почему возникает ошибка «No Route to Host»?


Почему возникает ошибка «No Route to Host» при успешном ping?

Ошибка «No Route to Host» означает, что операционная система не может определить маршрут до указанного IP-адреса для TCP-пакетов. Однако факт успешного ping говорит о том, что маршрутизация ICMP-запросов действует корректно. Это связано с особенностями сетевой модели и фильтрацией пакетов.

Основные причины, почему возникает эта ошибка при попытке SSH-подключения:

  • Фаервол на стороне клиента или сервера блокирует TCP-пакеты на порт 22
    Даже если ICMP разрешён, TCP-порт может быть заблокирован локальным брандмауэром (например, ufw, iptables, firewalld).

  • Сетевая политика роутера или switch ограничивает TCP, но пропускает ICMP
    В домашней лаборатории часто используются маршрутизаторы с пользовательскими настройками безопасности.

  • Адрес указан неверно или используется IP, недоступный для TCP-соединений
    Иногда IP-адрес может быть недоступен на уровне TCP, если, например, включён VPN или NAT настроен неправильно.

  • Отсутствует или нарушена таблица маршрутизации для TCP-трафика
    Иногда таблица маршрутизации обновляется частично, пропуская некоторые типы пакетов.

Как проверить и устранить проблему?

1. Проверка состояния фаервола и правил iptables/ufw

На сервере Ubuntu проверьте правила доступа:

bash
sudo ufw status
sudo iptables -L -n

Если фаервол включён, убедитесь, что разрешён входящий трафик на порт 22:

bash
sudo ufw allow 22/tcp

Если используется iptables, добавьте правило для порта 22:

bash
sudo iptables -A INPUT -p tcp —dport 22 -j ACCEPT

2. Проверка таблицы маршрутизации

Выведите таблицу маршрутизации и проверьте наличие маршрута до нужного IP:

bash
ip route show

Если маршрута нет, добавьте нужный маршрут вручную:

bash
sudo ip route add <IP-адрес> via

3. Проверка состояния порта SSH на сервере

Убедитесь, что служба SSH запущена и порт 22 прослушивается:

bash
sudo systemctl status ssh
sudo ss -tlnp | grep :22

Если служба не работает, запустите или перезапустите её:

bash
sudo systemctl restart ssh

4. Проверка сетевых фильтров на уровне роутера/коммутатора

Если используется домашний маршрутизатор с настроенными ACL или фильтрацией, проверьте, не блокирует ли он TCP-порт 22. Откройте настройки и убедитесь, что порт 22 не ограничен.


Рекомендации и дополнительные советы

  • Для диагностики TCP-соединения можно использовать утилиту telnet или nc (netcat):

bash
telnet 22

или
bash
nc -vz 22

  • Если есть подозрение на проблемы с NAT или VPN, попробуйте подключиться с устройств внутри той же сети, чтобы сузить область поиска ошибки.

  • Проверьте, не настроен ли локальный или удалённый SSH-сервер на нестандартный порт.

  • В Ubuntu 24.04 возможны изменения в настройках сети и фаервола по умолчанию, внимательно изучайте логи:

bash
journalctl -u ssh
dmesg | grep ssh


Заключение

Ошибка «No Route to Host» при попытке подключения по SSH в Ubuntu 24.04 в домашней лаборатории, при условии успешного ping, чаще всего связана с блокировкой TCP-трафика, неверными маршрутами или проблемами в настройках фаервола. Тщательный аудит конфигураций сети и сервисов позволит быстро выявить и устранить причину проблемы.

Если статья помогла вам справиться с ошибкой, оставьте свой отзыв или задайте вопросы в комментариях!

Источник

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *