2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

写在前面

由于 IPV4 地址越来越少,加上各种政策的调整,现在能重新拿到 IPV4 的公网 IP 基本很困难,但远程访问的需求又是实打实的,群晖自带的 QC 速度奇慢无比,内网穿透就是一个曲线救国的方法

准备工作

  • 具备公网 IP 的云服务器(必须)
  • 具备 docker 功能的 NAS
  • 浏览器
  • SSH 工具

演示环境

  • 微软云服务器(初始环境 Ubuntu 20.2)
  • 黑群晖 DS918+
  • Chrome
  • FinalSSH

基本原理

FRP (Fast Reverse Proxy) 是一款高性能的内网穿透工具,FRP 的工作原理是利用内网机器主动与公网服务器建立连接,从而创建一个数据隧道,使得外网流量可以通过这个隧道被转发到内网机器。这样,即使内网机器没有公网 IP,也可以被外网访问

FRP 分为两部分

  • frps(FRP 服务器)
  • frpc(FRP 客户端)

frps 需要部署在有公网 IP 的服务器上,而 frpc 部署在内网中
图片[1]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

技术原理

1. 建立连接

首先,frpc 会与 frps 建立一个连接。这个连接是由内网客户端发起的,因此即使内网客户端处于 NAT 或防火墙后,只要它可以访问外部网络,就可以成功建立连接

2. 数据转发

一旦 frpc 和 frps 建立了连接,当外部网络的请求发送到 frps 上时,frps 会将这些请求转发到 frpc,然后 frpc 再将请求转发到内网中的真实服务。当内网服务响应时,响应数据会被 frpc 发送到 frps,然后 frps 再将响应发送到外部网络

3. 配置与路由

FRP 允许用户在 frpc 配置文件中定义多种不同的内网服务,并为它们指定不同的访问规则。frps 会根据这些规则决定如何将外部请求路由到 frpc

4. 多种代理方式

FRP 支持 TCP、UDP、HTTP、HTTPS 等多种代理方式,满足不同的内网穿透需求。
图片[2]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

安装 FRPS(FRP 服务端)

用 SSH 工具访问你的服务器,用以下代码切换到管理员模式,如果需要密码的话就把账号密码重复输入一次后回车(输入过程密码不可见)

sudo -i

图片[3]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

将以下一键安装 FRP 代码复制进 SSH 工具回车

wget https://raw.githubusercontent.com/MvsCode/frps-onekey/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install

接着脚本会让你依次设置各种端口,为了避免冲突,建议手动设置各个端口号
图片[4]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

我的端口号设置如下供参考:

通信通道 我设置 7000
HTTP 通道 我设置 8800
HTTPS 我设置 8443
frp 信息面板端口 我设置 8555
账号密码都是 admin
token 设置长密码

图片[5]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

域名地址,默认
最大用户默认 
接下来各种日志选择都默认即可

最终会出一个汇总信息,如果没问题就继续即可
图片[6]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

安装好后运行 FRP(后台运行)

nohup ./frps -c frps.ini >/dev/null 2>&1 &

成功运行后即可访问 IP + HTTP 端口号进入 WEB 页面
图片[7]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

能成功进入 WEB 后台就成功了,如果进不了,停止 FRP 服务后重新检查端口号再启动
图片[8]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

常用命令

开启FRP:frps start

停止FRP:frps stop

重启FRP:frps restart

FRPC(FRP 客户端)

因为我主要给 NAS 用,所以这里就用 NAS 的 docker 做演示,但 FRP 非常强大,几乎支持所有客户端,其他客户端的操作方法可以访问作者的 GitHub 的说明查看

群晖 NAS 安装 FRPC Docker

打开群晖 Docker,最新 DSM7.2 后叫 Container Manager
在 docker 注册表里 搜索 frpc 找到圈起来的下载
图片[9]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

下载好后会出现在镜像里,点击运行
图片[10]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

这里的自动启动先别勾选,不然第一次配置不当会一直重启,直接点击下一步
图片[11]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

接着在电脑本地新建一个 frpc.ini 的配置文件,将以下模板复制进去,并根据说明填写服务器、端口号等内容

配置模板

[common]
server_addr = 你的服务器 IP
server_port = frp 通信通道端口号(最开始设置的第一个)
token = 你的token

[任务名称,随便写,不能重名,如:NAS1]
type = tcp
local_ip = 局域网 IP
local_port = 本地端口号
remote_port = 对外端口号

[任务名称,随便写,不能重名,如:NAS2]
type = tcp
local_ip = 局域网 IP
local_port = 本地端口号
remote_port = 对外端口号

正确填写后大概长这样
图片[12]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

填写完毕后上传到任意目录
图片[13]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

然后返回 docker,把文件映射一下,名称如下

/frp/frpc.ini

图片[14]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

接着一直下一步就行,运行起来后去查看 docker 的日志,如果出现 success 字眼就代表成功了

注意:每次增加设备或者改写配置都需要重启 Docker 容器才会生效
图片[15]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

现在在浏览器打开 服务器 IP/域名 + 端口号 就可以正常访问内网的 NAS 了
图片[16]|2024 一键部署 FRP 内网穿透服务端 + 群晖 NAS 客户端配置 | 保姆级教程

© 版权声明
THE END
点个赞再走吧
点赞5赞赏
评论 共4条

请登录后发表评论

    请登录后查看评论内容