Получение “нет маршрута к хосту” в Mac OS X 10.5.8

Вопрос или проблема

У меня есть проблема с одним из моих компьютеров в сети. Это iMac с операционной системой OS X 10.5.8.

Проблема заключается в доступе к определенным веб-сайтам. Например, один из таких сайтов – это farmville.com, к которому компьютер не может подключиться.

Когда я пингую farmville.com, он возвращает “нет маршрута к хосту”:

$ ping farmville.com
PING farmville.com (50.16.253.102): 56 байт данных
ping: sendto: Нет маршрута к хосту
ping: sendto: Нет маршрута к хосту
ping: sendto: Нет маршрута к хосту

Когда я выполняю traceroute к farmville:

$ traceroute farmville.com
traceroute: Предупреждение: у farmville.com несколько адресов; используется 50.16.253.109
traceroute к farmville.com (50.16.253.109), максимум 64 перехода, пакеты по 40 байт
traceroute: sendto: Нет маршрута к хосту
  1 traceroute: записал farmville.com 40 символов, ret=-1

traceroute к ip-адресу farmville: 50.16.253.109

$ traceroute 50.16.253.109
traceroute к farmville.com (50.16.253.109), максимум 64 перехода, пакеты по 40 байт
traceroute: sendto: Нет маршрута к хосту
  1 traceroute: записал farmville.com 40 символов, ret=-1

Теперь интересная часть заключается в том, что на другом компьютере (с операционной системой Ubuntu 10.10) у меня нет никаких проблем с доступом к этому веб-сайту. Это говорит мне о том, что это не проблема с интернет-соединением. Я также отключил брандмауэр на маршрутизаторе безрезультатно.

Файл /etc/hosts на маке выглядит следующим образом. Файл /private/etc/hosts пустой:

##
# База данных хостов
#
# localhost используется для настройки интерфейса обратной связи
# при загрузке системы. Не изменяйте эту запись.
##
127.0.0.1   localhost
#255.255.255.255    broadcasthost
::1             localhost 
fe80::1%lo0 localhost

Буду благодарен за любую помощь.

Большое спасибо

Я предполагаю, что это не связано с блокировкой ICMP. Если бы это было так, ответ просто бы истекал по времени, а не выдавал сообщение “нет маршрута к хосту”. “Нет маршрута к хосту” означает именно это: когда пункт назначения ICMP-сообщения не находится в локальной подсети, оно будет перенаправлено на шлюз по умолчанию для обработки. Если шлюза по умолчанию нет или шлюз не имеет информации в своей таблице маршрутизации для перенаправления пакетов, вы увидите “нет маршрута к хосту”.

Как команды ping, так и traceroute разрешают доменное имя в IP-адрес (хоть и разные адреса), так что, похоже, разрешение DNS работает нормально. Так что сначала я бы проверил, что ваши шлюзы по умолчанию одинаковые/правильно настроены на iMac.

Кроме того, судя по тому, что я видел, OS X, кажется, предпочитает Wi-Fi проводному подключению, когда оба подключены. Убедитесь, что у вас подключен только один (если вы используете оба) и посмотрите, работает ли это.

ICMP может быть заблокирован где-то (но не вашим брандмауэром, так как вы его отключили), что делают некоторые провайдеры интернет-услуг по различным причинам (например, они используют ОС, имеющую уязвимость безопасности, использующую ICMP, заблуждение о том, что ICMP представляет собой угрозу безопасности и т. д.).

Попробуйте выполнить команды traceroute и ping с других сайтов, чтобы посмотреть, работают ли они. Я пытался пинговать первый IP-адрес из сети Shaw.CA, и получил довольно быстрые ответы.

Здесь что-то странное? Пинг идет к 50.16.243.102, в то время как ваш traceroute идет к 50.16.243.109?

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

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

Обе рекомендации Asmus и Gordon важны и будут довольно полезны в дальнейшей отладке.

Для тех, кто попал сюда из поиска Google с тем же сообщением об ошибке.

Если вы:

  • На macOS 15 Sequoia и более поздних версиях
  • Используете сторонние терминальные приложения, такие как iTerm или kitty

Также проверьте, есть ли у приложения разрешение на локальную сеть.

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

Ответ или решение

Если вы столкнулись с сообщением об ошибке "no route to host" на компьютере под управлением Mac OS X 10.5.8, это может указывать на проблемы с маршрутизацией или конфигурацией сети, связанных с вашим подключением к Интернету. Я постараюсь помочь вам разобраться с этой проблемой, детально описав все возможные причины и способы их устранения.

1. Проверка настроек маршрутизации

Сообщение "no route to host" означает, что в таблице маршрутизации вашего компьютера нет пути к запрашиваемому хосту. Первое, что нужно сделать, это проверить конфигурацию роутера и убедиться, что ваше устройство правильно указано в настройках сети.

  • Откройте терминал и введите команду:
netstat -rn

Эта команда отобразит таблицу маршрутизации. Убедитесь, что у вас установлен правильный шлюз по умолчанию. Проверить значение можно с помощью строки, начинающейся с "default".

2. Проверка настроек сети

Проверьте, использует ли ваш iMac проводное или беспроводное соединение. Возможно, оба интерфейса активны, и ОС X пытается использовать Wi-Fi, который может быть неверно настроен.

  • Зайдите в "Системные настройки" → "Сеть" и убедитесь, что у вас только одно активное соединение.

3. Проверка DNS

Так как другие компьютеры в вашей сети могут успешно подключаться к интернету, необходимо проверить настройки DNS на вашем iMac.

  • Проверьте, что DNS-серверы настроены правильно. Для этого в "Системные настройки" → "Сеть" выберите ваше подключение и нажмите "Дополнительно", затем перейдите на вкладку "DNS".

Сравните указанные DNS-серверы с теми, которые настроены на работающем компьютере. Если они отличаются, попробуйте установить те же самые DNS-серверы, например, от Google (8.8.8.8 и 8.8.4.4).

4. Обновление маршрутов

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

В терминале выполните команду:

sudo route flush

Это сбросит текущие маршруты и позволит вашей системе заново получить необходимые настройки.

5. Выявление блокировок

Хотя вы упомянули, что отключили брандмауэр на роутере, следует проверить, не блокирует ли ваш интернет-провайдер ICMP-пакеты или конкретные порты, необходимые для работы ping и traceroute.

Попробуйте выполнить ping к другим серверам, чтобы выяснить, есть ли у вас проблемы с выходом в Интернет в общем или только с определенными адресами.

6. Проверка конфигурации файла hosts

Файл /etc/hosts на вашем iMac не содержит специфических записей, что является нормальным состоянием. Однако если вы добавляли какие-либо записи, это могло повлиять на маршрутизацию. Убедитесь, что он соответствует приведенному вами примеру.

7. Перезагрузка оборудования и обновление системы

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

Заключение

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

Следуя данным рекомендациям, вы сможете устранить проблему "no route to host" на вашем Mac OS X 10.5.8.

Оцените материал
Добавить комментарий

Капча загружается...