这篇文章上次修改于 1052 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

内网中有一个 Samba 服务通过 Frp 穿透到了公网服务器上,但是端口不是 445,Linux 或者手机可以设置端口访问,但是Windows下面的客户端不支持自定义端口,于是有了这篇文章。

  1. 禁用 Windows 的文件共享服务。否则会访问到自己的共享内容。
    最直观的方法是在资源管理器地址栏输入 \\127.0.0.1 看看有没有内容。
    关闭方法:打开服务 services.msc,停止 Server 这个服务(长期的话也可以右键属性,启动类型改为禁用)。
  2. 设置端口转发。
    打开 PowerShell,输入

    netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=445 connectaddress=远程地址 connectport=远程端口
  3. 验证正确性:

    netsh interface portproxy show all
  4. 测试一下是否可以挂载.
    挂载地址为本地 127.0.0.1,快速查看的话地址栏输入 \\127.0.0.1\目标共享文件夹
    如果发现还是不能挂载,检查是否端口转发没有生效,重启一下 IP Helper 服务(可能需要重启电脑)。
    可以通过 tcping.exe工具可以检查对应端口是否能够访问。使用方法:

    tcping.exe -p 端口 IP地址|域名

温馨提醒:在公网上共享一定要配置好权限,并更改端口,防止被有心人攻击。