
Frp使用SMB功能
概述
frp 是一款高性能的反向代理应用,专注于内网穿透。您可以使用 frp安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。SMB是用于通过网络进行高效文件共享的文件访问存储。本文是将两者结合来实现访问私域内网文件。
前提条件
· 内网运行中的SMB服务
· 具有公网IP的服务器(下面以47.66.66.47举例)
· 内网运行中的SMB服务
发现问题
搭建完frp服务后,我们发现docker应用和内网地址可以正常访问,但SMB文件共享服务从外网无法连接。经过研究发现这是因为Windows系统连接SMB只能使用445端口,但该端口已被运营商封锁。
解决方案需要两个步骤:
· 将frp外网端口修改为非445端口(推荐使用4位端口号,如4545)
· 在Windows系统上配置本地端口映射
接下来我们将详细介绍如何实现本地端口映射。
实现步骤
1. 修改frp配置
由于运营商封锁了445端口,需要将外网端口修改为非445端口
[smb]
type = tcp
local_ip = 127.0.0.1 #smb文件服务ip,内网替换成对应ip
local_port = 445
remote_port = 4545
2.配置本地端口映射
· 以管理员权限打开CMD
· 执行端口映射命令
(1)添加本地映射
netsh interface portproxy add v4tov4 listenaddress=127.0.0.1 listenport=445 connectaddress=47.66.66.47 connectport=4545
(2)显示映射
netsh interface portproxy show v4tov4
侦听 ipv4: 连接到 ipv4:
地址 端口 地址 端口
------------- ------------ --------------- -----------
127.0.0.1 445 47.66.66.47 4545
(3)删除映射(如不需要)
netsh interface portproxy delete v4tov4 listenport=445 listenaddress=127.0.0.1
· 重启电脑使配置生效(重启一些系统服务,选择重启比较方便)
3. 验证访问
· 使用 Win + R 打开运行
· 输入 \\127.0.0.1\共享文件夹 进行访问
输入用户名和密码
性能表现
文件传输速度基本可以跑满本地上传带宽
总结
通过修改端口号和配置本地映射,可以实现内网SMB文件共享服务的外网访问,文件传输速度能够达到本地上传带宽的最大值。
提示:虽然可以通过域名访问,但由于每次重启电脑都需要重新配置,因此建议直接使用IP地址访问,操作更加便捷。
原文链接:利用frp内网穿透如何实现smb文件共享 - 少数派