- 需求
- 远程访问位于内网中的文件。例如,家里,公司内。
- 所需技术
- frp
- windows文件共享
- 具有公网地址的服务器一台
- 实现过程
- windows文件共享,首先自己在局域网内实现。这不是本文重点。
- 公网服务端配置
-
公网服务器下载frp, 自行选择对应的版本 https://github.com/fatedier/frp/releases
-
解压后编辑
frps.ini
文件。[common] bind_addr = 0.0.0.0 # 7000为服务端frp与客户端frp相互通信的端口 bind_port = 7000 token = 123456
-
启动服务端frp
./frps -c frps.ini
-
提示,如果是阿里云服务器记得添加安全组规则
-
- 位于内网的客户端配置
-
客户端下载frp, 自行选择对应的版本 https://github.com/fatedier/frp/releases
-
加压后编辑
frpc.ini
文件。[common] # 服务器的公网地址 server_addr = X.X.X.X # 7000为服务端frp与客户端frp相互通信的端口 server_port = 7000 token = 123456 [smb] # win10文件共享smb协议通过tcp通信 type = tcp local_ip = 127.0.0.1 # smb协议的本地端口 local_port = 445 # 设定远程端口,当访问服务器的7002端口时,数据会被转发到本地445端口 remote_port = 7002
-
powershell启动客户端frp
./frpc -c frpc.ini
-
- 使用具有访问smb服务器能力的软件进行访问。我是用ios的FileExplorer和nPlayer进行访问的。软件设置主机地址为X.X.X.X,端口为7002。注意,有些软件不能设置smb服务器的端口,比如OPlayer,它只能使用默认的445端口,这类软件就用不了了。