Frp内网穿透--实现外网访问家中设备
前言
在上一篇文章中,介绍了内网穿透和nps实现。有了内网穿透可以在外进行管理家中路由、访问家中设备(服务器、nas等)、远程唤醒等操作。上一篇文章介绍的nps+云服务器的穿透方式有着很好的低延时响应。
但是在部署到lede软路由时,仍然有几个小问题:
-
服务端修改管理员密码操作失败。。
-
lede客户端不能适配自带的命令行操作,多次尝试后无法实现开机自启
-
后续nps可能收费
于是我直接改用了frp,这个也是内网穿透工具,实现与nps类似(github上star数更多)。
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。
操作步骤
-
前期准备:云服务器,阿里云、腾讯云等,系统选择centos7。域名(国内需备案)
-
在frprelease下载对应版本。下载地址是https://github.com/fatedier/frp/releases
下载release
-
使用传输软件,将文件frp_0.32.1_linux_amd64.tar.gz上传至云服务器root目录
-
使用命令tar -zxvf 解压(也可本地解压后再上传)并修改文件夹名称
-
cd 进入解压目录
解压后的文件目录
frps、frps.ini是服务端程序和配置文件,frpc、frpc.ini是服务端程序和配置文件。frp作者将两个放到一起,但是在云服务器上只要用frps,在客服端(内网设备)中使用frpc。
-
修改服务端配置
vi ./frps.ini
修改服务端配置
其中token是**,可自行修改,与客户端**对应即可。
-
启动服务端命令
nohup ./frps -c ./frps.ini &
此时frp服务端就开启了,直接关闭ssh软件即可。
-
接下来配置客户端。(若是普通的内网设备,与服务端类似,修改frpc.ini并启动服务即可,具体可参考https://github.com/fatedier/frp/blob/master/README_zh.md)
但是lede软路由后台的酷软中心提供了frpc专用插件,可方便部署。
不需要操心开机启动、不需要vim中修改配置文件,只要在网页中修改即可。
酷软中心
-
进入应用后修改基本配置
修改基本配置
服务器地址是你的云服务器地址。
三个端口与frps.ini的三个端口对应。
连接密码就是刚刚填写的frps.ini中的token。
其他设置按照自己想法即可。
-
接下来进行穿透设置
穿透设置
穿透设置就很简单了,只要是设备在软路由下就能访问。
要注意的是域名的填写,可以直接填写服务器的地址,但这样只能访问一个设备(nps、frp可以端口映射访问多个,但是lede插件中不能改端口);若在域名填写时使用二级域名则可多台设备(域名一定要解析到服务器上)
-
成功
有啥问题欢迎关注公众号直接后台问我,博客我不常上,但是公众号有消息推送,我会第一时间回复的。
公众号