解决Windows10文件夹共享,不能通过\\计算机名访问共享但能用\\IP访问的问题
经过很长时间的摸索,折腾。终于解决了WIN10可以访问\\IP,但不能访问\\计算机名的问题。另外有才也把其他跟WIN10共享问题有关的解决方法发布到这里。
在分析问题的时候,偶尔PING了一下计算机名,发现解析的IP竟然是IPV6,而看共享服务器的IPV6选项卡里面没有NETBIOS选项更别说WINS选项。
所以我猜测可能IPV6的安全级别比较高,禁止了匿名共享或禁止了WINS,导致无法访问。而IPV4可以访问,证明了这个理论。
临时解决方法
通过在HOSTS里面强制将计算机名解析为IPV4,然后\\计算机名,搞定。
格式:IP 计算机名
但这样的话,有个条件,就是共享服务器必须固定IP,如果换了IP就要再改绑定,比较麻烦。
所以在网上找了一下其它办法,一共两个办法,都说一下。
1,修改注册表
打开注册表,找到键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\tcpip6\Parameters ,添加类型为DWORD 名字为 DisabledComponents 的项(已经有了的不用添加直接改值)。然后修改值为 20,值类型为16进制 。
这种方式,好像并不能彻底解决。所以用第2种方法
2,终极解决办法:修改IPV4优先解析
经过本人测试可以禁用掉IPV6可以解决。
去掉IPV6前面的勾,没有了IPV6,那么IPV4就直接优先了。设置方法就直接附图吧
另贴上一则网上的其他解决办法。
输入命令 netsh interface ipv6 show prefixpolicies,查询ipv6优先级
请注意,IPv6地址(:: / 0)优先于IPv4地址(:: / 96,:: ffff:0:0/96),因此我们可以制定策略,使IPv6不会比任何IPv4地址有利。
其中,标签表示优先级,0表示优先级最高,依次类推。
现在需要设置使::/96、::ffff:0:0/96的优先级高于::/0和::1/128,在命令行中依次设置优先级:
(以下设置,除了IPV4和IPV6以外,其它有的都保持原样只是优先级换了一下。如果有没出现或多的,也加上去)
netsh int ipv6 set prefix ::/96 50 0
netsh int ipv6 set prefix ::ffff:0:0/96 40 1
netsh int ipv6 set prefix 2002::/16 35 2
netsh int ipv6 set prefix 2001::/32 30 3
netsh int ipv6 set prefix ::1/128 10 4
netsh int ipv6 set prefix ::/0 5 5
netsh int ipv6 set prefix fc00::/7 3 13
netsh int ipv6 set prefix fec0::/10 1 11
netsh int ipv6 set prefix 3ffe::/16 1 12
最后再看一下顺序,netsh interface ipv6 show prefixpolicies
ok问题彻底解决。