在Windows电脑上使用非标准端口的SMB服务
- 写在前面
- 一、调整服务
- 二、创建本地DNS项
- 三、设置端口转发与开机运行
- 四、映射网络驱动器
- 五、补充
写在前面
由于国内家庭网关绝大多数都禁用了SMB默认的445端口,故而需要自行配置非标的SMB端口才能使用暴露在公网的SMB文件服务,这样也能有效避免445端口遭受的攻击。并且由于Windows的映射网络驱动器不能指定端口,导致各项操作变得十分麻烦。
一、调整服务
win+R
运行services.msc
- 找到
Server
项,右键→属性,在对话框中停止服务后将启动类型改为禁用
- 找到
IP Helper
项,先将服务类型改为自动,然后点启动
绝大多数系统此项无需更改
二、创建本地DNS项
以nas
指向127.114.114.114
为例,可自行更改
后续以[前面设置的本地名称]
代指nas
,以[前面设置的本地地址]
代指127.114.114.114
win+S
搜索记事本,右键以管理员身份运行
Ctrl+O
,定位到C:\Windows\System32\drivers\etc\
文件夹,在下拉框选择所有文件,选择hosts
文件打开
- 打开后,在最后新建一行,写入
127.114.114.114 nas
,注意中间有空格 Ctrl+S
保存,关闭
三、设置端口转发与开机运行
-
在某处新建一个文本文档
-
输入
netsh interface portproxy add v4tov4 listenport=445 listenaddress=[前面设置的本地名称] connectport=[SMB服务器开放的端口] connectaddress=[SMB服务器的IP地址或域名]
,回车保存 -
右键重命名,将后缀改为
bat
-
win+S
搜索任务计划程序,在右侧点击创建任务
常规选项卡,名称自定,下面安全选项如图设置:
触发器选项卡,点击新建,设置为启动时:
操作选项卡,点击新建,选择前面创建的脚本:
条件选项卡,取消所有的勾选:
设置选项卡,建议如图更改:
配置完成,点击确定 -
重启电脑
-
以管理员身份运行
PowerShell
,输入netstat -ano|findstr 445
(以管理员身份运行的方式参见前面打开记事本)
只要有类似框中倒数第二项为LISTENING
,最后一项不是4
的记录,则已成功创建
四、映射网络驱动器
- 右键此电脑,点击映射网络驱动器
- 选择一个未使用的盘符,输入
\\[前面设置的本地名称]\[SMB服务器的文件路径]
- 点击完成,出现类似如下的网络驱动器,则已连接成功
五、补充
如果不想设置本地DNS,可以直接选择一个IP地址使用,就可以跳过创建本地DNS项步骤。以文中使用的127.114.114.114
为例,创建脚本时写入netsh interface portproxy add v4tov4 listenport=445 listenaddress=[选用的IP地址] connectport=[SMB服务器开放的端口] connectaddress=[SMB服务器的IP地址或域名]
,映射网络驱动器时输入\\[选用的IP地址]\[SMB服务器的文件路径]
,也可成功连接。