Вопрос или проблема
Можно использовать либо 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 в файл hosts (windows\system32\drivers\etc\hosts) и подключиться к SMB общему ресурсу, используя имя хоста.
Сработало как по волшебству, сэр.
Жаль, что это не так же просто, как с IPv6. Windows всегда делает эти вещи.
\2001-4898-9-3-c069-aa97-fe76-2449.ipv6-literal.net\share
будет ли это также работать в файловом проводнике Linux для доступа к SMB через IPv6?
Ответ или решение
Да, использование IPv6 для подключения к удаленной сетевой папке с помощью команды net use
технически возможно, однако для этого требуется особая конфигурация. В этой статье мы подробно рассмотрим, как это сделать и на какие моменты следует обратить внимание.
Подключение к удаленной папке через IPv6
Для того чтобы подключиться к удаленной сетевой папке, форматы, которые могут быть использованы, включают Universal Naming Convention (UNC) пути и IP-адреса. Например, команды, использующие IPv4, выглядят следующим образом:
net use \\remotePC\SharedFolder // валидно
net use \\111.122.1.1\SharedFolder // валидно
Однако процесс подключения с использованием IPv6 несколько отличается, и вам нужно преобразовать IPv6-адрес в специальный формат, который можно использовать в UNC-пути.
Формат IPv6 для подключения
Для подключения к общему ресурсу по IPv6-адресу необходимо использовать так называемый "литеральный" формат IPv6. Пример IPv6-Adresse:
2001:4898:9:3:c069:aa97:fe76:2449
Преобразовав его, вы получите следующее:
\\2001-4898-9-3-c069-aa97-fe76-2449.ipv6-literal.net\share
Ошибка 53: "Сетевой путь не найден"
Если вы попытаетесь использовать стандартный IPv6-адрес без преобразования, вы получите ошибку 53 (сеть не найдена). Это связано с тем, что Windows не распознает специальный формат IPv6, требуемый для подключения.
Примеры команд
Чтобы выполнить команду, используя IPv6-адрес, выполните следующее:
net use X: \\fe80-0-0-0-a0b6-99c9-2f6c-5759.ipv6-literal.net\admin$ /u:administrator adminpassword
Кроме того, можно создать запись в файле hosts
, чтобы связывать IPv6-адреса с определенными доменами или хостами, что также позволит подключаться к SMB-шарингам через имена.
Учитывайте конфигурацию сети
Важно отметить, что на уровне вашей локальной сети должны быть настроены протоколы IPv6, и сам сервер, к которому вы хотите подключиться, также должен поддерживать и принимать соединения по IPv6.
Заключение
Таким образом, применение IPv6 для подключения к удаленным сетевым ресурсам возможно, но требует соблюдения определенных шагов по преобразованию адреса и предварительной конфигурации сетевого окружения. Если ваш софт требует наличия удаленной папки, предоставление поддержки IPv6 может стать ключевым моментом для повышения универсальности вашего приложения.
Обсуждение по поводу Linux
Что касается Linux, подключение к SMB через IPv6 также поддерживается, однако подход и формат могут отличаться в зависимости от графической оболочки и используемых инструментов. Большинство современных дистрибутивов Linux поддерживают работу с IPv6 в Samba, так что подобный подход должен также работать корректно в файловом менеджере Linux.