Win10通过非445访问公网Smb服务
在win下不能通过正常方式访问,需要用端口转发实现访问
- 提前已经搭建好可用的SMB服务
- SMB服务公网可访问
- 可联网的Win10系统
前期自行搭建好非标端口的samba服务。这里假设非标端口是8888,公网地址是123.123.123.123,并且有固定的公网IP地址,没有就乖乖的,别闹,除此之外,还需要用管理员权限打开cmd,执行如下操作:
若是你没有用过“某卫士”的话,你的 445 端口应该是一直被 LanmanServer 占用的,这个 LanmanServer 就是帮你把你电脑的文件分享给别人。所以你要把这个服务禁用了,这个服务显示的名字叫“Server”,你可以在 Windows 送的“服务”管理页面中看到(点击任务管理中的“服务”即可开启),然后禁用它。但我更喜欢用命令行操作。
用管理员身份打开cmd,运行以下命令:
sc config LanmanServer start= disabled
net stop LanmanServer
要是运行后没有显示"成功"二字,那是可能你没有用管理员权限运行吧。
启动 windows 的 ip helper 服务
这个 ip helper 服务,就是用来搞端口转发的,没有了它就没法转发了。
用管理员身份打开cmd,运行以下命令:
sc config iphlpsvc start= auto
要是运行后没有显示"成功"二字,那是可能你没有用管理员权限运行吧。
(敲黑板:)在win10下使用管理员权限打开cmd,输入如下命令
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=445 connectaddress=123.123.123.123 connectport=8888
查看是否设置成功
netsh interface portproxy show all
按住Win+R键,打开运行窗口,输入control(就是打开控制面板),然后点击程序,找到打开或关闭Windows功能,找到smb 1.0 ,全选,全部安装。
安装完毕后重启电脑,重启后用管理员权限运行powershell
打开后检测smb 1.0是否已经开启
对于 Windows 8、Windows 10 和 Windows Server 2012命令如下:
Get-SmbServerConfiguration | Select EnableSMB1Protocol
正常开启的显示内容
PS C:\WINDOWS\system32> Get-SmbServerConfiguration | Select EnableSMB1Protocol
EnableSMB1Protocol
------------------
True
然后重启系统(因为重启才生效)
端口查看是否成功:
netstat -ano|findstr "445"