Frp内网穿透--实现外网访问家中设备


Frp内网穿透--实现外网访问家中设备

前言

在上一篇文章中,介绍了内网穿透和nps实现。有了内网穿透可以在外进行管理家中路由、访问家中设备(服务器、nas等)、远程唤醒等操作。上一篇文章介绍的nps+云服务器的穿透方式有着很好的低延时响应。

但是在部署到lede软路由时,仍然有几个小问题:

  1. 服务端修改管理员密码操作失败。。
  2. lede客户端不能适配自带的命令行操作,多次尝试后无法实现开机自启
  3. 后续nps可能收费

于是我直接改用了frp,这个也是内网穿透工具,实现与nps类似(github上star数更多)。

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

Frp内网穿透--实现外网访问家中设备

操作步骤

  • 前期准备:云服务器,阿里云、腾讯云等,系统选择centos7。域名(国内需备案)
  • 在frprelease下载对应版本。下载地址是https://github.com/fatedier/frp/releases
Frp内网穿透--实现外网访问家中设备

下载release

下载release

  • 使用传输软件,将文件frp_0.32.1_linux_amd64.tar.gz上传至云服务器root目录
  • 使用命令tar -zxvf 解压(也可本地解压后再上传)并修改文件夹名称
  • cd 进入解压目录
Frp内网穿透--实现外网访问家中设备

解压后的文件目录

解压后的文件目录

frps、frps.ini是服务端程序和配置文件,frpc、frpc.ini是服务端程序和配置文件。frp作者将两个放到一起,但是在云服务器上只要用frps,在客服端(内网设备)中使用frpc。

  • 修改服务端配置vi ./frps.ini
Frp内网穿透--实现外网访问家中设备

修改服务器配置

修改服务端配置

其中token是密钥,可自行修改,与客户端密钥对应即可。

  • 启动服务端命令nohup ./frps -c ./frps.ini &此时frp服务端就开启了,直接关闭ssh软件即可。
  • 接下来配置客户端。(若是普通的内网设备,与服务端类似,修改frpc.ini并启动服务即可,具体可参考https://github.com/fatedier/frp/blob/master/README_zh.md)但是lede软路由后台的酷软中心提供了frpc专用插件,可方便部署。不需要操心开机启动、不需要vim中修改配置文件,只要在网页中修改即可。
Frp内网穿透--实现外网访问家中设备

酷软中心

酷软中心

  • 进入应用后修改基本配置
Frp内网穿透--实现外网访问家中设备

frpc基本配置

修改基本配置

服务器地址是你的云服务器地址。

三个端口与frps.ini的三个端口对应。

连接密码就是刚刚填写的frps.ini中的token。

其他设置按照自己想法即可。

  • 接下来进行穿透设置
Frp内网穿透--实现外网访问家中设备

穿透设置

穿透设置

穿透设置就很简单了,只要是设备在软路由下就能访问。

要注意的是域名的填写,可以直接填写服务器的地址,但这样只能访问一个设备(nps、frp可以端口映射访问多个,但是lede插件中不能改端口);若在域名填写时使用二级域名则可多台设备(域名一定要解析到服务器上)

  • 成功


分享到:


相關文章: