Java教程

Windows10 SMB 445端口 公网映射问题的解决方法

本文主要是介绍Windows10 SMB 445端口 公网映射问题的解决方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前两年勒索病毒WannaCryptor.D ransomware利用445端口SMB协议上的漏洞大肆传播,导致各大运营商都相继屏蔽了445端口,因此我们想要在公网使用SMB连接也被一同被限制了。

首先要说的是,这个端口是Windows写死的,无法更改,所以只能通过端口映射,端口转发来实现连接。只需要在路由器,或者本地TCP映射软件里设置一下,就能将本地445端口映射到其他可用的端口上,以此实现公网连接SMB。

如果是这样,也就没有问题了,手机上也有丰富的支持非标端口SMB连接的软件,这里推荐两个CX文件管理器和FE文件管理器。而且无论是Linux和Android都对SMB非标端口有相当的支持。
但是现在问题出在windows本身,它不仅写死了服务端的端口,也同样写死了客户端的端口,它不支持\\ip:port这样的连接方法,只支持\\ip的写法,然后默认去访问指定地址的445端口,目前还没有Windwos上支持非标端口SMB连接的客户端,知乎上有人说可以用微软商店的"yuki exploer",但是本人尝试了一下并不可靠,甚至连默认的445端口都无法连接。

这样下来,我们在外网Windows的部署上,还不得不在客户端本地做一次端口转发,简单来说,可以使用这篇文章里的小工具,安装好后如下图添加转发,就可以在Windows上使用非标端口连接SMB了。

目前的讨论很有价值的是V2ex上的这个讨论贴,我从中受益颇多,综上所述,如果SMB仅仅作为局域网之间的传输还是好的。公网的Windwos端的访问目前还没有解决的方案,只能用本地的端口转发来做连接,服务端客户端都要部署还是有点过于麻烦了。

如果你的目的仅是分享电脑上的东西 给别人的话,那么有以下的方案:
继续使用SMB,服务端做映射后,Window客户端访问时需要自己做本地端口转发,其他设备可以直接修改访问端口(当然不嫌麻烦的话也可以用这些设备先下载,然后复制给windows.....)
换用其他协议的共享方式,NAS共享访问协议 有NFS、SMB、FTP、WebDAV 这四种,你可以选择支持其他协议的软件进行分享,上面的V2ex讨论贴里就有人在分享。

分享两个我常用的,基于HTTP协议,第一个是Cute HFS

第二个是就是经典的HFS

两者其实差不多,Cute HFS是因为它几乎全是图形化,适合新手小白。第二个其实功能更全面,但是想熟悉操作要花点时间,HPS其实有2.4的版本,但是相比之下2.3版本的更稳定,模板也更多。
这里我也分享一个模板,【全功能专用】Http File Server (HFS) 专用HFS模板 最终修订版。
还有一件事,国内的ISP除开备案申请,其余都是 默认是关闭了80和443端口的,上面的软件在使用时,记得换成其他有效的端口,通过http://域名或IP:端口/来访问。如果想直接使用80端口的话,免不了还要折腾一番,听闻nat123可以实现,不知道是否可行...

最后扩充:
关于SMB的端口知识,有\\computername\\ip两种连接方式。
使用计算机名连接的会使用到UDP 137端口,从而使用Netbios协议用TCP 139端口来连接SMB。而直接使用ip连接则是直接TCP 445端口来连接smb。

这篇关于Windows10 SMB 445端口 公网映射问题的解决方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!