\\+ipv6地址就能访问共享文件夹了吗?结果是我想的太简单了?
点击关注即到哥,即到哥一呼即到,远程免费!
需求描述
兄弟们,这两天不是和兄弟们分享一下,关于ipv6的一些基本知识吗?前两篇都是分享关于ipv6的。
什么ipv6地址还不是很熟,看完这篇文章,你就知道什么是ipv6了?
ipv6中的EUI-64是什么意思?之前我看了也不懂,但是这次我明白了!
但是对于ipv6基本知识,学起来的确是有点枯燥,那今天就带着兄弟们来实战一下,对于ipv6地址和本地链接ipv6地址,大家也都知道是什么意思了。那今天,我们就通过ipv6来访问一下共享,看一下,在局域网里面,如何通过ipv6地址访问共享文件夹。
但是我测试之后,我发现的确没有那么简单,然后做了个总结给兄弟们,避免兄弟们以后踩坑,刚开始的时候,我也以为很简单,和ipv4访问一样,两个\\然后+一个ipv6地址就可以正常访问了?结果真的不是那么回事?
解决过程首先,要想使用ipv6地址访问共享,那先要学会ipv6地址和本地链接ipv6地址都是怎么来的,ipv6地址如何在路由器中配置的,如果不会的兄弟,可以参考前两篇文章。下面这台主机就是共享文件夹主机,可以看到,ipv6地址和本地链接ipv6地址,两个地址都有。可以看到,这台电脑中在D盘共享了一个名称为:"100、share"这个共享文件夹。
下面这台电脑是客户端,要访问上面那台ipv6主机中的共享文件夹的。兄弟们搬好小板凳,我们的测试即将开始。首先将,共享文件夹主机的ipv6的缩写,还原一下。
ipv6:240e:03a2:1598:8120:0000:0000:0000:0041
本地链接ipv6:fe80:0000:0000:0000:1c86:2d0d:d8d9:21eb
那ipv6地址还原好之后,先使用客户端去ping 共享电脑的ipv6地址,发现全球通用ipv6和本地链接ipv6地址都是可以ping通的。这一步还挺顺利的,如果ping不通,就是共享文件夹的那台主机的防火墙关掉。
这个是客户端的ipv6地址和本地链接ipv6地址。
那我在客户端电脑上,直接\\+ipv6地址,然后确定。和ipv4一样的输入格式。
但是确定之后,报错,错误代码:0x80070043,找不到网络名。
难道是全球通用ipv6地址有问题,那就再测试一下,本地链接ipv6地址。\\+本地链接ipv6地址。
然后,点击确定,发现一样的报错,难道共享文件夹,不能通过ipv6访问,不应该呀?
这时我先测试一下ipv4地址,可以看到ipv4地址访问是没有问题的。
那我就使用telnet测试一下,这ipv6到底是否可以访问共享文件夹中的文件,telnet+ipv6地址,然后再+共享文件端口443。
在客户端上,使用这个命令,发现,客户端电脑是可以正常访问到共享文件夹主机的443共享端口的,没有问题的。
然后再到共享电脑主机上,使用netstat -an ,可以看到,已经通过ipv6地址和客户端的ipv6地址建立了连接。
那我再在客户端电脑上,测试一下,本地链接ipv6地址是否也可以访问到共享主机的443端口。
我发现客户端电脑,也是可以通过本地链接ipv6地址访问到共享主机的443端口的。
到回到共享主机电脑,再使用netstat -an,可以看到,客户端的本地链接ipv6地址和共享主机的ipv6地址也已经成功建立链接了。看最后的established,这个英文就是确定,表示已建立连接。
难道是共享主机上,有什么限制,导致客户端电脑访问共享主机有问题的,那我就测试一下,在共享主机电脑访问,通过ipv6地址访问自己是否可以成功。当回到共享主机的电脑,直接通过自己的ipv6地址访问自己,我发现都报错,也是报0x80070035错误。
使用本地链接地址访问,也是报同样的错误,那这到底是什么问题呢?看下图,有一个问题要注意,就是访问本地链接ipv6地址时,后面的%7是否需要加上,这个问题,继续往下看,后面有答案。
难道是因为我把ipv6地址还原导致的这个问题吗?可以看一下,当我在客户端ping共享主机的ipv6地址时,不需要换算成全的ipv6地址也是可以正常ping通的。ping ipv6地址也是不用补全,也是可以直接ping的,缺省的0不需要我们换算回来,直接默认就缺省就可以。
难道通过ipv6地址访问共享文件夹,不能像ipv4一样,直接通过ip地址直接访问。测试一:加中括号那这时我又查了一下资料,有的人说,将ipv6地址使用中括号括起来就可以了,于是我按了这个方法测试了一下。
使用 \\\共享名 格式,IPv6地址需用方括号包裹,确保地址为全球通 IPv6(非本地链路地址),且不带接口标识符。
\\\share
若使用本地链路地址(如 fe80::1),需附加接口标识符(如%5),这里要注意,使用本地链接ipv6地址,访问共享文件夹,需要加上接口标识,我们继续往下测试。
\\\share于是,使用中括号括起来,再测试一下,我还是先在共享文件夹主机上,先测试。
使用中中括号括起来,把接口标识符的%7也加进去。
无论加不加接口标识的%7,访问时都还是报错。看来和有没有中括号没有关系。
那再查,再测试。测试二,转义字符将“:”转换成“-”,突然看到了,转义特殊字符的 UNC 路径
如果地址中包含特殊符号( :),用短横线(-)代替。
案例:如下所示:\\\share,因为给的案例是双冒号不需要替换。
于是,我又在共享主机电脑上测试。
发现还是报0x80070035错误 。
使用全球通用ipv6访问自己,也是一样的报错。
但是我最后把双冒号也都替换了,也还是不行。
测试三:将所有":"都需要更改为"-",然后还需要在ipv6地址末尾加上.ipv6-literal.net后缀。没有转换前的ipv6地址和本地链接ipv6地址。
我们来把它转换一下,当有两个::时,使用两个横杆代替--。下面是转换后的ipv6地址。ipv6地址:240e-3a2-1598-8120--41.ipv6-literal.net
本地链接ipv6地址:fe80--1c86-2d0d-d8d9-21eb.ipv6-literal.net
还是先在共享主机测试本地访问。先测试ipv6地址。
输入完用户名和密码,即可访问。
当我使用本地链接ipv6地址访问时,可以看到,也可以正常跳出来输入用户名和密码框,但是无论输入什么用户名和密码都无报用户名和密码不正确,但是我输入的用户名和密码是正确的。
后来我又仔细的看了一下,说当使用本地链接ipv6访问时,需要加上接口标识本地链路地址(如 fe80:: 开头)必须附加接口索引(如 %5),否则无法解析。把接口标识也加上去。
接口标识,就是这个网卡在系统中的一个编号。
当在本地链接ipv6上加上接口标识后,再次输入用户名和密码就可以正常访问共享了,但是这些都是在共享主机上测试的。
下面我们再换到个客户端电脑上,通过ipv6地址,来访问这台共享主机的共享文件夹首先在客户端电脑上,先使用ipv6地址访问:\\240e-3a2-1598-8120--41.ipv6-literal.net
访问后输入用户名和密码,可以看到客户端电脑现在终于,可以通过ipv6访问到共享文件主机了。
当我再使用本地链接ipv6测试时,发现又出问题了。\\fe80--1c86-2d0d-d8d9-21eb%7.ipv6-literal.net
又报找不到网络名。
于是我在客户端访问的时候,把%7去掉。
去掉之后,结果客户商就可使用共享主机的,本地链接ipv6地址访问到共享文件夹了,输入完用户名和密码就可以正常访问到共享文件夹了。兄弟们,你们说奇怪不奇怪?
总结:1、什么是UNC 路径?
Windows 的 UNC(通用命名规则)路径格式为 \\主机名\共享名,其设计初衷是为 IPv4 和主机名服务。
IPv6 地址中包含冒号 :,而冒号在 UNC 路径中被保留为特殊字符,可能导致解析冲突(例如,系统误将冒号后的内容视为端口号或子路径)。可以看到C盘后面就是:冒号,代表盘符路径。
2、为什么要把“:”换成“-”?UNC 路径的兼容性问题
Windows 的 UNC 路径(如 \\server\share)最初设计用于主机名或 IPv4 地址(如 \\192.168.1.1\share)。
IPv6 地址包含冒号 : 和可能的压缩格式(如 ::),而冒号在 UNC 路径中是保留字符,直接使用会导致解析歧义,导致系统无法分辨。
3、IPV6后面的,.ipv6-literal.net是什么意思? 这个是域名伪装机制。
.ipv6-literal.net 是一个伪域名后缀,本身没有实际的 DNS 记录。
Windows 系统内部会识别这个后缀,并自动将其前缀部分(如 2001-db8--1)转换回原始的 IPv6 地址(如 2001:db8::1)。
例如:
\\2001-db8--1.ipv6-literal.net\share → 解析为 2001:db8::1。
相关文章:
ipv6中的EUI-64是什么意思?之前我看了也不懂,但是这次我明白了!什么ipv6地址还不是很熟,看完这篇文章,你就知道什么是ipv6了?兄弟们,IPV6以后必须要掌握的技术,ipv6报头讲解!手把手教你配置ipv6上网,必须要开通公网IP地址的公司福利来了,IPV6能节省一大笔网络费用了!为什么亚马逊开始对公网IPv4收费了?IPv6什么时候才能真正普及?
此文章来自网络,原文地址:https://mp.weixin.qq.com/s/Ci1_cWttfynF_CWVqpdP4Q
如有涉及侵权请通过邮箱联系:fnhjeqj@163.com删除。
页:
[1]