要实现远程访问,最简便的方法当然是直接在路由上面端口映射。但对于ip4地址资源的越来越紧张,现在家用带宽想要外网的独立ip几乎不太可能,即使有也有开放端口的限制,所以我们需要寻找替代方案来实现内网穿透。目前网上流行的有ngrokfrp这两个。ngrok出现比较早,较为完善稳定,但2.0版本之后就不开源了,而且官网也被墙所屏蔽,体验比较差。不过还是有广大网友提供免费的国内ngrok的服务,还是值得称赞的,使用也不麻烦,这个后面有机会整理发一篇专门的文章。本文介绍使用frp来实现内网穿透,并让威联通NAS可以远程访问。

下载各个版本的frp1点击这里

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

配置文件修改完毕,就执行启动,每个平台的命令有略微差别,具体可以查看文末的官方文档2

./frps -c ./frps.ini

1-2.使用别人提供的服务端

可以使用搜索引擎来寻找,下面提供几个地址,不保证安全性跟稳定性

  1. FRP内网穿透工具
  2. 免费FRP内网穿透服务

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),来到 镜像文件
kU74l6.png
我这边用的是leonismoe/frpc的镜像,这个有frp最新版本的,选择时需要注意对应的服务端版本
选择该镜像,点击加号(+)创建容器
在高级设置那边修改下,网络选择host模式
kU7OfI.png
在共享文件夹里设置一个路径,具体是你存放frpc.ini文件的地方,并非完全跟下面图片的一样
kUHFts.png
然后运行这个容器就好了,结果如下:
kUHV10.png


  1. frp:https://github.com/fatedier/frp
  2. 官方文档地址:https://github.com/fatedier/frp/blob/master/README_zh.md
文章目录
文章目录