SSH с ipv6 работает, только если я передаю% en0 с моим адресом ipv6

0

Я пытаюсь ssh с Mac OS X (10.10.1 Yosemite) терминал с использованием ipv6. Если я использую команду как

ssh username@ipv6_address

Это не работает, и я получаю сообщение об ошибке «No Route to Host». Но если я использую команду вроде (с% en0)

ssh username@ipv6_address%en0

Это работает, и я могу SSH с IPv6-адресом ..

Подскажите пожалуйста, в чем причина отсутствия работы без% en0?

Благодарю.

Temp
источник
Какие адреса IPv6 вы используете. Указывать интерфейс необходимо только при использовании локальных адресов (те, которые начинаются с fe80: ). Они не маршрутизируются и не очень удобны в использовании. Вы захотите получить маршрутизируемые IPv6-адреса (от интернет-провайдера, поставщика туннелей или ULA) при использовании IPv6.
Sander Steffann
@SanderSteffann Да, это начинается с fe80. Значит для связи с локальным нужно указывать интерфейс?
Temp
Да. Я положу это в ответ
Sander Steffann

Ответы:

2

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

Невозможные адреса включают локальные адреса ссылок (fe80: :) и многоадресные локальные ссылки (ff02: :) и другие.

Sander Steffann
источник
Спасибо за ответ. Для маршрутизируемого IPv6-адреса, я могу получить от провайдера, правильно? или нужны какие-то изменения в конфигурации сети?
Temp
От своего интернет-провайдера или для внутреннего использования (не для подключения к Интернету) вы можете создавать свои собственные адреса ULA.
Sander Steffann