服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Windows10 - Win10实现非标端口访问公网SMB服务

Win10实现非标端口访问公网SMB服务

2023-10-16 14:24执着1111 Windows10

在内网搭建samba服务,通过动态公网实现全网访问,samba的标准端口是445,但公网因smb1漏洞和永恒之蓝漏洞已全部禁封445端口,包括137和138端口,通过公网地址,在内网服务上使用frp代理,将本地的samba服务的445端口映射到公网某端

场景应用

在内网搭建samba服务,通过动态公网实现全网访问

samba的标准端口是445,但公网因smb1漏洞和永恒之蓝漏洞已全部禁封445端口,包括137和138端口

通过公网地址,在内网服务上使用frp代理,将本地的samba服务的445端口映射到公网某端口

面临问题

在Linux下可指定端口号直接公网访问samba服务

安卓也可使用nplayer软件访问

但目前windows系统无法直接实现非标端口访问

解决方案

在win下不能通过正常方式访问,需要用端口转发实现访问

实现步骤

1、禁用和开启服务

前期自行搭建好非标端口的samba服务。这里假设非标端口是8888,公网地址是114.114.114.114,并且有固定的公网IP地址,除此之外,还需要用管理员权限打开cmd,执行如下操作:

  1. 禁用共享服务

若未使用相关安全软件,则445 端口应该是LanmanServer进程占用中,该进行负责将系统中的文件分享出去,需要先禁用该服务,这个服务显示的名字叫Server,在 Windows 的服务管理页面中查看(点击任务管理中的“服务”即可开启),然后禁用。

同样可使用管理员身份打开cmd进程进行操作,运行以下命令:

sc config LanmanServer start= disabled
net stop LanmanServer

注意:运行后没有显示"成功"二字,则需要用管理员权限运行。

  1. 启动ip helper服务

ip helper服务的作用是实现端口转发。

用管理员身份打开cmd,运行以下命令:

sc config iphlpsvc start= auto

注意:运行后没有显示"成功"二字,则需要用管理员权限运行。

Win10实现非标端口访问公网SMB服务

2、配置端口转发

在win10下使用管理员权限打开cmd,输入如下命令

注意:其中的connectaddress和connectport请根据实际修改

netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=445 connectaddress=114.114.114.114  connectport=8888

查看是否设置成功

netsh interface portproxy show all

设置成功示例

Win10实现非标端口访问公网SMB服务

3、开启smb低版本协议

按住Win+R键,打开运行窗口,输入control(打开控制面板),点击程序,找到打开或关闭Windows功能,找到smb 1.0 ,全选,全部安装。

Win10实现非标端口访问公网SMB服务

4、重启并状态检查

安装完毕后重启电脑,重启后用管理员权限运行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

其他Windows操作系统参考地址:如何在 Windows 中检测、启用和禁用 SMBv1、SMBv2 和 SMBv3

端口查看是否成功:

netstat -ano|findstr "445"

只要显示不是4就是代表成功的意思,否则就是不成功。

5、重启无效的解决办法

同样适用上面命令查看445端口占用情况,最后面的数字是占用端口的PID进程号,打开任务管理器,找到对PID的程序,如果对应的程序名称不是“svchost.exe”,则结束该进程后,重启后再尝试。

Win10实现非标端口访问公网SMB服务

再次检查时依旧占用445端口,则右键该程序,点击转到服务(s),确定服务名称后,点击下面的打开服务,找到后并将该服务设置为手动启动,再重启电脑后尝试。

正确的程序名称应该是svchost.exe

正确的服务名称应该是iphlpsvc

Win10实现非标端口访问公网SMB服务

6、连接共享服务

如果显示正确,再次按住Win+R键,打开运行窗口,输入如下语句

\\127.0.0.1

输入账号和密码即可连接成功

实际效果展示

Win10实现非标端口访问公网SMB服务

访问流程

本地访问\127.0.0.1\shareName ——> 系统本地检索samba服务 ——> 根据端口转发将445端口的请求自动转发到设定的IP地址和端口 ——> 访问成功

到此这篇关于Win10实现非标端口访问公网SMB服务的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/weixin_43726881/article/details/129491719

延伸 · 阅读

精彩推荐