问题

由于Samba使用的445端口被封禁,所以只能通过端口转发将群晖NSA(服务器)的445端口转发到公网的其他端口(以4455为例),即可通过服务器公网IP+4455端口使用Samba服务

但是windows使用的Samba协议无法实现非标端口访问

解决办法

在windows本地添加端口转发,将本机IP的445端口转发到服务器IP的4455端口

  • 具体实现

打开smb客户端

关闭server服务(它会占用本地445端口)

右键属性 启动类型 改为禁用 并且 停止运行

在本地添加端口转发规则

netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=服务器端口 connectaddress=服务器IP

检查是否添加成功

netsh interface portproxy show v4tov4

重启电脑

成功

我遇到的BUG

每次重启后端口转发就失效了

但是重新删除添加端口转发规则后就好了

解决办法

写个bat脚本放到windows开机自启目录

win + R 输入 shell:startup

在启动目录新建smb端口转发.bat

右键编辑

powershell -Command "Start-Process cmd -Verb RunAs -ArgumentList '/c netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=445 && netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=你的服务器端口 connectaddress=你的服务器IP'"

End