2

Некоторые члены семьи попросили меня помочь с настройкой WinSCP. Они должны подключаться к нескольким серверам, некоторые из которых имеют двойной стек, а некоторые - только для IPv6.

Мы до сих пор сделали следующее:

  • Установите WinSCP с https://winscp.net/
  • Создана пара ключей
  • Сохранены различные комбинации имени хоста и имени пользователя в окне Login в систему .

Это прекрасно работает для подключения к хостам с двумя стеками. Но попытка подключиться к любому хосту, поддерживающему только IPv6, приводит к сообщению об ошибке:

Host "hostname.example.net" does not exist.

Но имя хоста, которое я использую, является правильным. Для дальнейшего исследования я подключил компьютер с Ubuntu 14.04 к той же локальной сети. И на машине Ubuntu я печатаю:

ssh hostname.example.net

Машина Ubuntu без проблем подключается к одному и тому же имени хоста.

Я посмотрел на конфигурацию сети, и на обеих машинах я наблюдаю то же самое:

  • Беспроводной интерфейс имеет адрес IPv4
  • Беспроводной интерфейс не имеет адреса IPv6
  • Существует интерфейс Teredo, который успешно получил правильный адрес IPv6

Серверы только для IPv6, к которым нам нужно подключиться, находятся в локальной сети с выделенным ретранслятором Teredo, поэтому должно быть возможно надежное соединение, и оно действительно работает от клиента Ubuntu.

Что нам нужно изменить в конфигурации Windows и / или WinSCP, чтобы успешно подключиться к хосту, поддерживающему только IPv6?

(Teredo не является обязательным требованием, если есть лучшие альтернативы. Просто это единственный IPv6-адрес, настроенный на компьютере Windows по умолчанию.)

2 ответа2

1

Проблема заключалась в том, что Windows не предпринимала попыток поиска AAAA, возможно потому, что не считается целесообразным выполнять поиск AAAA, когда единственным адресом IPv6 является адрес Teredo.

Подключение IPv6 работает до тех пор, пока указан явный адрес.

Поэтому мне удалось получить подключение, заменив имя в поле имени хоста фактическим IPv6-адресом сервера. После этого WinSCP смог подключиться.

В моем случае серверы имеют статические адреса IPv6 (по крайней мере, до тех пор, пока они остаются у текущего поставщика). Поэтому наличие статического IPv6-адреса в сохраненных логинах WinSCP не является большой проблемой.

1

Как описано в технической заметке Microsoft (http://technet.microsoft.com/en-us/library/bb727035.aspx), клиент Windows Vista или Windows 7 не будет запрашивать у DNS адрес IPv6 (запрашивать имя DNS для записи AAAA), если единственными локальными интерфейсами IPv6 являются локальные каналы и интерфейсы Teredo. Другими словами, хотя Teredo может быть включен в большом количестве конечных систем, которые подключены к Интернету и расположены за NAT, такие системы не будут вызывать Teredo для доступа к URL-адресу только для IPv6 при обычном ходе событий, поскольку они не будут запросите DNS для использования IPv6-адреса.

Джефф Хьюстон, Тестирование Тередо

Однако, по-видимому, возможно изменить это поведение. В вашем любимом редакторе реестра перейдите к ключу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Dnscache\Parameters и добавьте значение DWORD AddrConfigControl 0 .

К сожалению, официальная документация по этому параметру отсутствует.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .