Win10开启文件共享,SMB端口转发

📂需求
最近需要在校园网内共享win10上的一个文件夹,但是2017年因为勒索病毒,不少学校网络管理员把445端口给封了,导致校园网内不能访问Win10共享出来的文件夹。网上这方面解决办法挺少的,故想记录一下通过转发smb445端口解决该需求的过程。
一、服务端共享文件夹
首先,选定要共享的文件夹,右键点击“属性”,标签选择“共享”,选择你的Windows账户,然后共享。
二、服务端端口转发
win10默认的共享端口是445,由于历史原因,某些网络管理把445端口封禁了,因此需要将计算机(服务端)某个端口(本文选择4455)转发给445端口。大致的原理是 客户端访问服务端IP:4455 -> 服务端将4455映射到445 -> 实现间接访问服务端445。
首先管理员权限下打开cmd,输入命令
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=[对外端口] connectaddress=127.0.0.1 connectport=445
查看是否设置成功
netsh interface portproxy show all

三、服务端防火墙设置
打开控制面板,系统和安全-Windows Defender 防火墙-高级设置-入站规则-新建规则
选择端口
选择TCP,特定本地端口填上面第一条命令listenport的端口号
名称可自行取一个显然的名称,点击完成即可。
四、客户端连接
Mac
访达-右键-连接服务器
smb://[服务端内网IP]:[listenport端口号]
可能需要输入window的账号和密码。
iOS
可使用自带的“文件”应用,也可下载第三方的应用,如nplayer、infuse等。
Windows
貌似暂不支持连接转发后的端口。
参考
知乎:Windows 10 下如何修改 smb 连接的默认端口(445)?
sunse:Windows使用netsh完成端口转发