Вопрос или проблема
Можно использовать как UNC, так и IPv4-адрес для подключения к общему каталогу на удаленной машине с помощью net use
, например:
net use \\remotePC\SharedFolder // корректно
net use \\111.122.1.1\SharedFolder // корректно
Возможно ли подключиться с помощью IPv6-адреса? Это что-то, что нужно настраивать отдельно, но технически возможно? Если я указываю IPv6-адрес, я получаю ошибку 53:
Сетевой путь не найден.
Причина, по которой я спрашиваю, заключается в том, что одна из моих программ принимает местоположение удаленного общего каталога в качестве входного параметра – мне нужно оценить, является ли местоположение корректным. Я знаю, что оно корректно, если это UNC-путь или IPv4-адрес, но не уверен, следует ли разрешить IPv6 или это просто приведет к ошибке.
Как задокументировано в Microsoft:
Например, для следующего IPv6-адреса:
2001:4898:9:3:c069:aa97:fe76:2449
пример общего доступа может выглядеть следующим образом:
\\2001-4898-9-3-c069-aa97-fe76-2449.ipv6-literal.net\share
Для получения дополнительной информации см.: Как создать UNC для IPv6-адреса?
Также обратите внимание, что, что странно, Microsoft на самом деле не владеет этим доменным именем, и реальный владелец неизвестен. Хотя Windows не должен отправлять такие запросы в сеть, все же существует вероятность утечки, если такой литерал будет повторно использован в других контекстах. Вам будет разумно настроить DNS для вашей сети.
Вам нужно преобразовать IPv6-адрес в буквальный адрес IPv6. Этот сайт выполнит преобразование http://ipv6-literal.com/, а сайт ниже является моим источником, если вам нужны дополнительные детали. http://social.technet.microsoft.com/Forums/windowsserver/en-US/d61f8efe-c9a7-4fd7-a7e9-f936c2154c54/net-command-with-ipv6-address?forum=winserverManagement
Команда будет выглядеть примерно так: net use x: \fe80-0-0-0-a0b6-99c9-2f6c-5759.ipv6-literal.net\admin$ /u:administrator adminpassword
Вы также можете настроить запись IPv6 для хоста (windows\system32\drivers\etc\hosts) и подключиться к SMB-общему ресурсу, используя имя хоста.
Сработало как по волшебству, сэр.
Жаль, что это не так просто, как с IPv6. Windows всегда делает это дерьмо.
\2001-4898-9-3-c069-aa97-fe76-2449.ipv6-literal.net\share будет ли это также работать в файловом менеджере Linux для доступа к SMB через IPv6?
Ответ или решение
Да, возможно использовать адрес IPv6 для подключения к общему ресурсу на удаленной машине. Однако для этого следует учитывать несколько ключевых моментов:
-
Формат адреса: В отличие от адресов IPv4, которые можно использовать непосредственно, адреса IPv6 требуют особого форматирования при подключении через UNC (Universal Naming Convention). Например, вместо прямого указания IP адреса, необходимо преобразовать его в литеральный адрес IPv6. В вашем случае, это будет выглядеть так:
\\2001-4898-9-3-c069-aa97-fe76-2449.ipv6-literal.net\SharedFolder
Важно понимать, что Microsoft ограничивает использование IPv6 адресов в сетевых командах, поэтому использование доменного имени, представляющего адрес, является обязательным.
-
Конфигурация сети: Перед использованием IPv6 необходимо убедиться, что поддержка IPv6 включена и корректно настроена как на клиенте, так и на сервере. Это включает в себя корректную настройку маршрутизации и DNS, чтобы обеспечить, что пакеты смогут успешно передаваться через сеть.
-
Проверка подключения: Если при попытке подключения по IPv6 возникает ошибка 53 ("Путь сети не найден"), это может быть связано с неправильной формой адреса либо с конфигурацией самой сети. Как упоминалось выше, необходимо убедиться, что адрес правильно конвертирован в литеральный формат.
-
Сетевые настройки: Вы также можете создать записи в файле
hosts
, расположенном по адресуC:\Windows\System32\drivers\etc\hosts
, чтобы привязать доменное имя к IPv6 адресу, что упростит процесс подключения. -
Применимость в разных ОС: При использовании Linux для подключения к SMB-сетям через IPv6, вы также можете применить аналогичные принципы. Например, можно использовать команду
smbclient
с форматом IPv6 адреса в литературном виде. Это подразумевает, что вы можете использовать адреса в формате, аналогичном описанному выше.
В заключение, да, существует возможность подключения к общим ресурсам через IPv6, но значительно важно правильно настроить сеть и использовать правильный формат адреса. Это будет полезно для обеспечения функциональности вашей программы. Рекомендуется разрешить использование IPv6 в вашем окружении, чтобы поддерживать современные стандартные связи в сетевом взаимодействии.