Windows访问共享文件夹,使用的是smb协议,默认使用139和445端口,公司办公网络不知道为什么竟然设置了策略不让使用445端口,所以平时访问共享都是走的139端口;

    坑爹的是有时候竟然有的办公电脑无法访问共享,检查服务:Server、Workstation、Computer Browser,都没有问题,Microsoft网络的文件和打印机共享也没有问题,防火墙也关了,NetBIOS设置也开了,就是无法访问;

    查看访问的端口发现此电脑只去连接服务器的445端口,好奇怪,为什么不走139呢,默认的应该是:如果客户端启用了NetBIOS,那么连接的时候将同时访问139端口和445端口,如果从445端口得到回应,那么客户端将发送RST到139端口,终止这个连接,接着就从445端口进行SMB的了,如果没有从445端口得到回应,而是从139得到回应,那么就从139端口进行会话。NetBIOS协议我开了呀,为什么不生效呢?

    经过最后的排查,原来是因为计算机名重名引起的,SMB在使用NetBIOS与139端口建立连接时会查看本地网络中是否有重名,如果重名,为防止冲突,则只使用445端口;

    原来如此,所以更改计算机名称后正常。


其实主要是这台电脑没有加域,如果加域了,就不会出现这样的问题了;还有计算机重名是加不了域的,必须更改计算机名重启后,才能加域。