要实现远程访问,最简便的方法当然是直接在路由上面端口映射。但对于ip4地址资源的越来越紧张,现在家用带宽想要外网的独立ip几乎不太可能,即使有也有开放端口的限制,所以我们需要寻找替代方案来实现内网穿透。目前网上流行的有ngrok跟frp这两个。ngrok出现比较早,较为完善稳定,但2.0版本之后就不开源了,而且官网也被墙所屏蔽,体验比较差。不过还是有广大网友提供免费的国内ngrok的服务,还是值得称赞的,使用也不麻烦,这个后面有机会整理发一篇专门的文章。本文介绍使用frp来实现内网穿透,并让威联通NAS可以远程访问。
下载各个版本的frp,点击这里
1.寻找frp服务端
frp服务最重要的是有一个服务端。由于frp还处于开发中,版本更新快,造成新旧版本有一些差异,不能通同,这里需要重点注意服务端的版本号
- 0.9.3版本(不兼容0.10.0以上版本>)
- 0.16.1版本(兼容0.10.0-0.16.1版本)
- 0.23.3版本(兼容0.18.0-0.23.3版本)
1-1.自己搭建frp服务端
自己搭建需要拥有一台有公网IP的服务器,并且根据你实际的配置,正确开关闭服务器的防火墙端口。往往很多人搭建完访问不了,就是因为防火墙的原因。
以下为frp服务端配置文件(frps.ini)示例:
[common] # A literal address or host name for IPv6 must be enclosed # in square brackets, as in "[::1]:80", "[ipv6-host]:http" or "[ipv6-host%zone]:80" bind_addr = 0.0.0.0 bind_port = 7000 bind_udp_port = 7001 kcp_bind_port = 7000 vhost_http_port = 8080 # set dashboard_addr and dashboard_port to view dashboard of frps # dashboard_addr's default value is same with bind_addr # dashboard is available only if dashboard_port is set dashboard_addr = 0.0.0.0 dashboard_port = 7500 # dashboard user and passwd for basic auth protect, if not set, both default value is admin dashboard_user = admin dashboard_pwd = admin # auth token token = 12345678 # only allow frpc to bind ports you list, if you set nothing, there won't be any limit allow_ports = 2000-3000,3001,3003,4000-50000
配置文件修改完毕,就执行启动,每个平台的命令有略微差别,具体可以查看文末的官方文档
./frps -c ./frps.ini
1-2.使用别人提供的服务端
可以使用搜索引擎来寻找,下面提供几个地址,不保证安全性跟稳定性
2.运行frp客户端
2-1.修改配置文件
找一个地方,能用文件管理器访问到的。新建个文件夹,里面存放下载下来的frp客户端的配置文件(frpc.ini)
修改配置文件(frpc.ini),示例:
[common] #frp服务端的ip地址 server_addr = 0.0.0.0 server_port = 7000 ##frp服务端的token token = 12345678 # set admin address for control frpc's action by http api such as reload admin_addr = 127.0.0.1 admin_port = 7400 admin_user = admin admin_pwd = admin [ssh] type = tcp local_ip = 127.0.0.1 #这里映射NAS的ssh local_port = 22 #远程访问的端口号 remote_port = 2222 [web01] type = http #这里映射NAS的面板地址 local_ip = 127.0.0.1 local_port = 8080 use_encryption = false use_compression = true # if domain for frps is frps.com, then you can access [web01] proxy by URL http://test.frps.com custom_domains = nas.yourdomain.com
2-2.运行客户端
威联通NAS这里使用docker来运行frp客户端
打开QNAP软件容器工作站(Container Station),来到 镜像文件
我这边用的是leonismoe/frpc的镜像,这个有frp最新版本的,选择时需要注意对应的服务端版本
选择该镜像,点击加号(+)创建容器
在高级设置那边修改下,网络选择host模式
在共享文件夹里设置一个路径,具体是你存放frpc.ini文件的地方,并非完全跟下面图片的一样
然后运行这个容器就好了,结果如下:
原文链接:https://www.yuzhiwei.com.cn/archives/250.html