使用windows自带功能非局域网远程挂载smb磁盘
前言
我是稍息,今天带来一篇NAS实用技能教程,解决smb这个nas最常用功能远程访问的问题,需要说明的,首先要求服务端具有可访问IP,解决的是服务和网络路径被封堵问题,无法解决没有可访问ip的问题(就是服务端端出口只有运营商分配的局域网IP,常见是10开头)
为什么需要smb远程访问?
目前国内很多轻nas主要聚焦照片备份、影音等家用功能,不具备文件同步等专业nas功能,甚至基本文件传输功能都做的一言难尽,扩展性也很小,除了官方功能,几乎不允许你自行扩展,但是这些轻nas都标配了smb局域网共享,包括昔映等刚做nas的第一个功能都是smb,还有联想、绿联等一众厂商,不管是谁,行业不成文的规定都标配smb,在无法扩展高级功能情况下,允许smb远程访问,就在文件系统层面当成本地磁盘使用。
配合freesync等第三方软件就能实现文件同步
可以使用任何客户端软件把远程文件当做本地的,如图片管理,文档保存
smb远程访问存在的困难
smb使用的默认端口445,在永恒之蓝病毒后445端口基本都被封禁,如需远程访问,需要使用替代端口 win自带的smb客户端不支持445端口以外的非标准端口 今天的文章就围绕解决这两个问题展开。
服务端(nas侧)通过路由器映射非标准端口
1.服务器或nas设置
不管你是使用的windows server担任服务器,或者最常见的NAS如群晖、威联通、国产的轻NAS只需要正常开启smb服务即可,无需服务端特殊设置 例如你的nas或服务器局域网地址是192.168.1.254,开启了smb服务,则服务端局域网地址是192.168.254(端口445)
2.局域网正常访问
nas开启smb服务后,正常我们局域网访问就直接在运行栏或者文件管理器输入192.168.1.254,就可以访问 或者使用win自带的磁盘映射,映射为本地磁盘。
3.远程访问端口映射
路由器端口映射解决的是远程访问因运营商封禁445端口造成无法访问的问题,所以该步骤就是解决从外网使用非445端口访问,进入局域网时映射到smb服务器的445端口。以远程访问1445映射到445端口为例。

不同路由器端口转发设置略有差别,但是基本都是选择—网络设置-防火墙-端口转发
名称:自己起个可以理解的名字,比如NAS-smb
协议:选择TCP,因为smb使用的传输层协议就是tcp
外部区域:选择wan,就是外部网络对应的防火墙区域
外部端口:smb使用的非标准端口,比如1445
内部区域:就是局域网对应防火墙区域,就是lan
内部ip地址:就是smb服务器或者nas的局域网地址,选择或者输入即可
内部端口:就是nas使用的smb服务端口,就是445 点击,添加,应用设置
至此,服务器端设置已经完成,此时就可以使用服务端外网ip或者ddns域名加1445端口访问位于局域网的nas服务器上的smb服务 服务地址是 域名(或者出口ip):1445
客户端(windows)使用非标准端口访问
由于windows自带的smb客户端默认连接远程445端口,无法修改,所以要通过window自己的端口转发,将"服务端域名(或者ip):1445"映射到本地地址的445端口。 为什么不使用别的第三方软件,第三方软件当然可以,而且简单,但是使用第三方软件的限制就是只有这个软件可以使用服务,而使用自带客户端映射到本地磁盘,则所有软件都能把smb当成本地磁盘使用。
原理:windows自带的端口映射,用客户端ip地址或者127.0.0.1作为客户端连接的服务器地址,即在运行中输入的是本机//ip或者//127.0.0.1,这是客户端会连接本机445端口,通过netsh将本机445端口转发至远程服务器IP和特定的端口
1.关闭本机的共享服务
由于需要转发本机445端口数据,与本机共享smb服务端口冲突,所以如果要作为客户端,首先关闭本机服务端。 运行中输入services.msc打开服务控制面板

关闭并禁用server服务,该服务对应的就是smb服务(启动类型改为禁用并单击停止)

2.开启端口转发服务
开启ip helper服务开启,对应端口转发服务(启动类型改为自动并单击启动)

3.设置客户端端口转发
搜索cmd,以管理员身份运行“命令行工具”

在命令行工具中输入:
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=445 connectaddress=home.XXX.xxx connectport=1445
其中home.XXX.xxx是替换为实际远程服务器地址,1445是远程服务器端口

图中首次拒绝访问是因为电脑有360卫士,被阻挡,运行改命令杀毒软件会有提示,请允许即可。 输入netsh interface portproxy show all,可以看到刚才设置的转发已经生效

完成此步骤后最好重启一次机器,或者重启一次ip helper,经实践,如果不重启,有时端口转发并不立即生效。
使用转发后的本机地址和标准端口映射磁盘
经过第二步的客户端设置,客户端本级服务地址127.0.0.1:445已经被映射到home.XXX.xxx:1445,而home.XXX.xxx:1445在服务端的路由器防火墙端被映射到192.168.1.254:445,所以此时127.0.0.1:445挂载smb盘就是远程smb服务
1.打开共享
在 运行中直接输入转发后的地址127.0.0.1

可以看到远程服务器的共享目录

2.可选映射网络磁盘
映射网络磁盘主要是方便第三方软件把远程smb当做本地磁盘访问
在看到的需要映射的共享目录上右键单击映射网络驱动器,即可(根据共享情况,可能需要输入用户名密码)


小结
原理其实很简单,服务端局域网不用改,直接局域网访问即可,而远程访问利用服务端的防火墙端口转发将服务侦听端口从标准445端口映射到非标准端口,防止运营商拦截,而客户端主要是通多自带ip helper(端口转发)实现客户端访问(本质是net use)从标准445端口映射到远程非标准端口。 当网络磁盘挂载后,就可以通过freesync等软件实现文件同步,也可以利用smb高端特性,比如分块读取,多通道聚合等获得近乎本地的访问体验。

白泽
校验提示文案
值友9314575858
校验提示文案
值友4937246153
校验提示文案
zoudingbo
校验提示文案
今夜月光明媚
校验提示文案
书到用时方知少
校验提示文案
ty945
校验提示文案
zoudingbo
校验提示文案
值友4937246153
校验提示文案
ty945
校验提示文案
今夜月光明媚
校验提示文案
白泽
校验提示文案
书到用时方知少
校验提示文案
值友9314575858
校验提示文案