1. 需求
    1. 远程访问位于内网中的文件。例如,家里,公司内。
  2. 所需技术
    1. frp
    2. windows文件共享
    3. 具有公网地址的服务器一台
  3. 实现过程
    1. windows文件共享,首先自己在局域网内实现。这不是本文重点。
    2. 公网服务端配置
      1. 公网服务器下载frp, 自行选择对应的版本 https://github.com/fatedier/frp/releases

      2. 解压后编辑 frps.ini文件。

        [common]
        bind_addr = 0.0.0.0
        # 7000为服务端frp与客户端frp相互通信的端口
        bind_port = 7000
        token = 123456
        
      3. 启动服务端frp ./frps -c frps.ini

      4. 提示,如果是阿里云服务器记得添加安全组规则

    3. 位于内网的客户端配置
      1. 客户端下载frp, 自行选择对应的版本 https://github.com/fatedier/frp/releases

      2. 加压后编辑 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
        
      3. powershell启动客户端frp ./frpc -c frpc.ini

    4. 使用具有访问smb服务器能力的软件进行访问。我是用ios的FileExplorer和nPlayer进行访问的。软件设置主机地址为X.X.X.X,端口为7002。注意,有些软件不能设置smb服务器的端口,比如OPlayer,它只能使用默认的445端口,这类软件就用不了了。
03-30 14:22