在mac下, 连接smb服务特别方便, 直接smb://ip:端口即可, 然而windows下却不能使用\ip:端口的方式访问, 只允许使用445端口, 即带了端口访问无效...
由于之前
永恒之蓝
病毒肆虐, 现在公网的445端口
基本上都是处于被封停状态, 要远程连接smb服务只能改为其他端口, 在windows下, 虽然不能直接修改smb服务的端口, 但是可以使用nat端口转发的方式来完成!
注意, 第一步很重要
第一步, 也是最重要的一步, 也是现在网上大部分解决方案中没有提及到的一步, 也是导致失败最多的一步(因为很多人不知道要做这一步)!
先使用管理员模式
运行cmd
, 使用netstat -aon|findstr "445"
, 查看是否445端口被系统占用.
如果出现了上述的情况, 445端口已经被一个pid为4的进程(system)占用, 这需要到服务中禁用Server服务, 在445端口已经被占用的情况下, 是无法对445端口进行转发的.
cmd
下输入services.msc
, 回车, 打开服务.
找到Server
, 双击, 启动类型设置为禁用
, 重启电脑, 重复第一步, 检查445端口是否被占用, 正常情况下现在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
, 正常情况下就能访问远程服务器了.
![]()
第二步, 转发本地的445端口到远程端口上, 还是使用管理员模式运行cmd, 输入netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=远程端口 connectaddress=远程ip地址, 不能是域名
提示:远程 ip 地址可以是域名