在Mac下, 连接SMB服务特别方便, 直接 smb://ip:端口 即可,然而Windows下却不能使用 \\ip:端口 的方式访问,只允许使用445端口,即带了端口访问无效。
因为现在公网的445端口基本上都是处于被封停状态,要远程连接SMB服务只能改为其他端口,在Windows下,虽然不能直接修改SMB服务的端口,但是可以使用NAT端口转发的方式来实现这个功能
具体步骤:
第一步:检查445端口是否被占用(非常重要)
很重要也是最重要的一步, 也是现在网上大部分解决方案中没有提及到的一步, 也是导致失败最多的一步(因为很多人不知道要做这一步)
先使用管理员模式运行cmd, 使用 netstat -aon|findstr "445" 查看是否445端口被系统占用
如果出现了上述445端口已经被一个pid为4的进程(system)占用,这需要到服务中禁用Server服务,在445端口已经被占用的情况下, 是无法对445端口进行转发的
cmd下输入services.msc,回车,打开服务.
找到Server双击,启动类型设置为禁用,重启电脑,重复第一步,检查445端口是否被占用,正常情况下现在445端口是没有被占用的。
第二步:使用 netsh interface portproxy 命令转发445端口
转发本地的445端口到远程端口上,还是使用管理员模式运行cmd后输入
netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=远程端口 connectaddress=远程IP地址或者是域名
然后使用netsh interface portproxy show all查看刚刚添加的转发信息
再使用netstat -aon|findstr "445"确保转发正确
最后打开资源管理器,输入\\127.0.0.1, 正常情况下就能访问远程服务器了