【傻呱呱】远程访问家中设备(frp内网穿透)

前期准备

  • 云服务器一台
  • ssh连接工具(这里我用finalshell)
  • 家中设备(这里我用群晖NAS)

服务端


安装管理面板

  • 目的是可以可视化操作docker(不用敲代码)

  • 这里我使用1panel,当然也可以用其他的,能安装docker的面板都行,注意如果不是全新服务器不能安装宝塔面板,因为会被清除数据

  • 使用ssh连接工具连接云服务器

  • 运行下面的1panel面板一键安装命令

    curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
    
  • 若报错:"curl:command not found " ,如何解决?

  • 根据提示一步一步设置访问面板的端口和账号密码

  • 云服务器Web防火墙放行设置好的端口

【傻呱呱】远程访问家中设备(frp内网穿透)_第1张图片

  • 回到ssh工具,面板安装成功后关闭当前ssh连接再重新连接

  • 运行下面的命令获取面板登录网址

    1pctl user-info
    

【傻呱呱】远程访问家中设备(frp内网穿透)_第2张图片

  • 用浏览器登录面板

【傻呱呱】远程访问家中设备(frp内网穿透)_第3张图片


安装frps

  • 其他面板请自行安装docker和创建容器   镜像网址   镜像包
  • 1panel面板直接在应用商店里搜索 “frps”

【傻呱呱】远程访问家中设备(frp内网穿透)_第4张图片

【傻呱呱】远程访问家中设备(frp内网穿透)_第5张图片

  • 配置frps.toml文件

【傻呱呱】远程访问家中设备(frp内网穿透)_第6张图片
【傻呱呱】远程访问家中设备(frp内网穿透)_第7张图片
【傻呱呱】远程访问家中设备(frp内网穿透)_第8张图片

  • 添加这两行代码,表示设置连接这台服务器的密码,客户端必须有token才能连接,123123替换成自己的密码
    auth.method = "token"
    auth.token = "123123" 
    

【傻呱呱】远程访问家中设备(frp内网穿透)_第9张图片

  • 每次修改完配置文件都需要重启服务

【傻呱呱】远程访问家中设备(frp内网穿透)_第10张图片
【傻呱呱】远程访问家中设备(frp内网穿透)_第11张图片


设置防火墙(重要*)

设置系统防火墙

  • 必须开启系统防火墙才能正常使用frp
  • 部分云服务器默认不带系统防火墙,需要手动安装   如何安装?
  • 开启系统防火墙

【傻呱呱】远程访问家中设备(frp内网穿透)_第12张图片

  • 开启防火墙后立即放行 “7000” 、“7500” 端口也就是frp服务端所需要用到的端口,根据 “frps.toml” 里设置的端口来放行,不要照抄

【傻呱呱】远程访问家中设备(frp内网穿透)_第13张图片

【傻呱呱】远程访问家中设备(frp内网穿透)_第14张图片

  • 上面只演示了放行 “7000” 端口,使用同样的步骤再放行 “7500” 端口,根据 “frps.toml” 里设置的端口来放行,不要照抄
     

设置云服务器Web防火墙

  • 在云服务器网页界面的防火墙(安全组策略)里也同样立即放行 “7000” 、“7500” 端口,根据 “frps.toml” 里设置的端口来放行,不要照抄

  • 下面以腾讯云为例

【傻呱呱】远程访问家中设备(frp内网穿透)_第15张图片

【傻呱呱】远程访问家中设备(frp内网穿透)_第16张图片

  • 上面只演示了放行 “7000” 端口,使用同样的步骤再放行 “7500” 端口,根据 “frps.toml” 里设置的端口来放行,不要照抄
     
     

客户端


安装docker

  • 目的是为了能够方便管理frpc程序(亦可运行多个frpc程序   如何操作?)
  • 群晖系统直接在套件中心下载安装即可
  • 其他平台请在docker官网下载安装

安装frpc

  • 下面以群晖系统为例,其他平台也都大同小异
     
  • 启用docker镜像下载加速(国内网络下载慢)
    网易云镜像源:https://hub-mirror.c.163.com
    百度云镜像源:https://mirror.baidubce.com

【傻呱呱】远程访问家中设备(frp内网穿透)_第17张图片

  • 下载frpc镜像

【傻呱呱】远程访问家中设备(frp内网穿透)_第18张图片

  • 配置frpc.toml文件(重要*)

  • 根据下面的拓扑图可以知道frp服务器就相当于一台有了公网IP的 “路由器” ,通过编辑frpc配置文件可以让连接到这台 “路由器” 的客户端的内网服务的端口暴露到公网,从而可以用公网访问

【傻呱呱】远程访问家中设备(frp内网穿透)_第19张图片

  • 下载frpc.toml配置文件模板   点击下载
  • 编辑frpc.toml配置文件

【傻呱呱】远程访问家中设备(frp内网穿透)_第20张图片

  • 注意:“name” 项、“remotePort” 项不能重复
  • 特别说明:“localIP” 可以换成局域网内的其他设备,从而实现穿透没有安装frp客户端的设备,也就是说局域网内只需要有一台设备安装了frp客户端就行了

 

  • 编辑完frpc.toml配置文件后先别急,根据上上面的拓扑图可以知道,必须放行所有的 “remotePort” 端口,内网服务才能正常被访问,所以此刻立即回到1Panel面板云服务器网页界面放行所需端口

  • 放行完端口后将frpc.toml配置文件放到一个能找到的目录里,最好新建一个frp文件夹

  • 下面以群晖系统为例

【傻呱呱】远程访问家中设备(frp内网穿透)_第21张图片

  • 创建docker容器

【傻呱呱】远程访问家中设备(frp内网穿透)_第22张图片
【傻呱呱】远程访问家中设备(frp内网穿透)_第23张图片
【傻呱呱】远程访问家中设备(frp内网穿透)_第24张图片

【傻呱呱】远程访问家中设备(frp内网穿透)_第25张图片

  • 装载路径
    /etc/frp/frpc.toml
    
  • 镜像网址的网页里也可以找到装载路径,理论上不会变

【傻呱呱】远程访问家中设备(frp内网穿透)_第26张图片

【傻呱呱】远程访问家中设备(frp内网穿透)_第27张图片

  • 此时已经能用公网访问内网服务了

 


验证是否穿透成功

  • 使用云服务器的IP地址加上英文冒号加上端口号( 例如:149.28.80.154:12346 )
  • 可以看到成功用公网访问了群晖NAS,说明穿透成功,这样无论在天涯海角只要有网,就可以访问家里的这台NAS了(前提是服务器公网IP没被墙)

【傻呱呱】远程访问家中设备(frp内网穿透)_第28张图片


注意事项

  • 若后续修改了frpc.toml配置文件,则需要重启服务

【傻呱呱】远程访问家中设备(frp内网穿透)_第29张图片

  • 再次强调需要在 “1panl” 面板云服务器网页界面放行所有客户端所需要用到的 “remotePort” 端口以及服务端需要用到的 “7000” 、 “7500” 端口,根据 “frps.toml” 里设置的端口来放行,不要照抄

【傻呱呱】远程访问家中设备(frp内网穿透)_第30张图片
【傻呱呱】远程访问家中设备(frp内网穿透)_第31张图片

  • 如果重启了frp服务端,frp客户端也要重启

 


常见报错

  • 进入容器的日志界面查看是否报错

【傻呱呱】远程访问家中设备(frp内网穿透)_第32张图片

未报错

  • 下面这样没有报错,表示成功连接了服务端

【傻呱呱】远程访问家中设备(frp内网穿透)_第33张图片

报错

  • 下面这样报错说明没有放行相应端口或 “frpc.toml” 里的IP地址填错了

【傻呱呱】远程访问家中设备(frp内网穿透)_第34张图片

  • 下面这样报错说明端口被其他服务占用,"frpc.toml"里的 “remotePort” 改为其他端口即可,如果明明没有其他服务占用端口,那试一试重启frp服务端,注意客户端也要重启

【傻呱呱】远程访问家中设备(frp内网穿透)_第35张图片

 


相关链接

GitHub   中文文档


END
   

你可能感兴趣的:(网络,服务器,ssh,linux,运维)